From 759fd38c0e601f529983b17a93ad2aa7c0f7c954 Mon Sep 17 00:00:00 2001 From: David Hotham Date: Sun, 3 Nov 2024 19:02:50 +0000 Subject: [PATCH] fix RECORD file in generated stub wheels --- .../fixtures/with-pypi-repository.test | 18 +-- .../fixtures/distribution_hashes.py | 108 +++++++++--------- tests/repositories/fixtures/legacy/black.html | 4 +- .../repositories/fixtures/legacy/clikit.html | 2 +- .../fixtures/legacy/discord-py.html | 2 +- .../fixtures/legacy/futures-partial-yank.html | 2 +- .../repositories/fixtures/legacy/futures.html | 2 +- .../repositories/fixtures/legacy/ipython.html | 6 +- tests/repositories/fixtures/legacy/isort.html | 4 +- .../legacy/pytest-with-extra-packages.html | 8 +- .../repositories/fixtures/legacy/pytest.html | 2 +- .../fixtures/pypi.org/generate.py | 51 ++++++--- .../fixtures/pypi.org/json/attrs.json | 4 +- .../fixtures/pypi.org/json/attrs/17.4.0.json | 6 +- .../fixtures/pypi.org/json/black.json | 8 +- .../fixtures/pypi.org/json/black/19.10b0.json | 6 +- .../fixtures/pypi.org/json/black/21.11b0.json | 6 +- .../fixtures/pypi.org/json/cleo.json | 4 +- .../fixtures/pypi.org/json/cleo/1.0.0a5.json | 6 +- .../fixtures/pypi.org/json/clikit.json | 4 +- .../fixtures/pypi.org/json/clikit/0.2.4.json | 6 +- .../fixtures/pypi.org/json/colorama.json | 4 +- .../pypi.org/json/colorama/0.3.9.json | 6 +- .../fixtures/pypi.org/json/discord-py.json | 4 +- .../pypi.org/json/discord-py/2.0.0.json | 6 +- .../fixtures/pypi.org/json/futures.json | 4 +- .../fixtures/pypi.org/json/futures/3.2.0.json | 6 +- .../fixtures/pypi.org/json/ipython.json | 12 +- .../fixtures/pypi.org/json/ipython/5.7.0.json | 12 +- .../fixtures/pypi.org/json/ipython/7.5.0.json | 6 +- .../fixtures/pypi.org/json/isort.json | 8 +- .../fixtures/pypi.org/json/isort/4.3.4.json | 12 +- .../fixtures/pypi.org/json/jupyter.json | 4 +- .../fixtures/pypi.org/json/jupyter/1.0.0.json | 6 +- .../pypi.org/json/more-itertools.json | 8 +- .../pypi.org/json/more-itertools/4.1.0.json | 12 +- .../fixtures/pypi.org/json/pastel.json | 4 +- .../fixtures/pypi.org/json/pastel/0.1.0.json | 6 +- .../fixtures/pypi.org/json/pluggy.json | 8 +- .../fixtures/pypi.org/json/pluggy/0.6.0.json | 12 +- .../fixtures/pypi.org/json/py.json | 4 +- .../fixtures/pypi.org/json/py/1.5.3.json | 6 +- .../fixtures/pypi.org/json/pytest.json | 8 +- .../fixtures/pypi.org/json/pytest/3.5.0.json | 6 +- .../fixtures/pypi.org/json/pytest/3.5.1.json | 6 +- .../fixtures/pypi.org/json/requests.json | 4 +- .../pypi.org/json/requests/2.18.4.json | 6 +- .../fixtures/pypi.org/json/six.json | 4 +- .../fixtures/pypi.org/json/six/1.11.0.json | 6 +- .../fixtures/pypi.org/json/tomlkit.json | 8 +- .../fixtures/pypi.org/json/tomlkit/0.5.2.json | 6 +- .../fixtures/pypi.org/json/tomlkit/0.5.3.json | 6 +- .../fixtures/pypi.org/json/zipp.json | 4 +- .../fixtures/pypi.org/json/zipp/3.5.0.json | 6 +- .../stubbed/attrs-17.4.0-py2.py3-none-any.whl | Bin 12358 -> 12049 bytes .../stubbed/black-19.10b0-py36-none-any.whl | Bin 26594 -> 25982 bytes .../stubbed/black-21.11b0-py3-none-any.whl | Bin 26398 -> 24825 bytes .../stubbed/cleo-1.0.0a5-py3-none-any.whl | Bin 18182 -> 15799 bytes .../stubbed/clikit-0.2.4-py2.py3-none-any.whl | Bin 24653 -> 20187 bytes .../colorama-0.3.9-py2.py3-none-any.whl | Bin 12902 -> 12710 bytes .../stubbed/discord.py-2.0.0-py3-none-any.whl | Bin 23391 -> 18891 bytes .../stubbed/futures-3.2.0-py2-none-any.whl | Bin 3932 -> 3776 bytes .../stubbed/ipython-5.7.0-py2-none-any.whl | Bin 61612 -> 49949 bytes .../stubbed/ipython-5.7.0-py3-none-any.whl | Bin 61614 -> 49952 bytes .../stubbed/ipython-7.5.0-py3-none-any.whl | Bin 60327 -> 48750 bytes .../stubbed/isort-4.3.4-py2-none-any.whl | Bin 16105 -> 15794 bytes .../stubbed/isort-4.3.4-py3-none-any.whl | Bin 16064 -> 15749 bytes .../jupyter-1.0.0-py2.py3-none-any.whl | Bin 2608 -> 2605 bytes .../more_itertools-4.1.0-py2-none-any.whl | Bin 10088 -> 9889 bytes .../more_itertools-4.1.0-py3-none-any.whl | Bin 10089 -> 9890 bytes .../stubbed/pastel-0.1.0-py3-none-any.whl | Bin 3777 -> 3624 bytes .../stubbed/pluggy-0.6.0-py2-none-any.whl | Bin 3224 -> 3181 bytes .../stubbed/pluggy-0.6.0-py3-none-any.whl | Bin 4994 -> 4952 bytes .../stubbed/py-1.5.3-py2.py3-none-any.whl | Bin 9838 -> 8585 bytes .../stubbed/pytest-3.5.0-py2.py3-none-any.whl | Bin 14289 -> 12492 bytes .../stubbed/pytest-3.5.1-py2.py3-none-any.whl | Bin 11782 -> 9978 bytes .../requests-2.18.4-py2.py3-none-any.whl | Bin 39441 -> 38785 bytes .../stubbed/six-1.11.0-py2.py3-none-any.whl | Bin 3073 -> 3067 bytes .../tomlkit-0.5.2-py2.py3-none-any.whl | Bin 7388 -> 6971 bytes .../tomlkit-0.5.3-py2.py3-none-any.whl | Bin 7392 -> 6969 bytes .../stubbed/zipp-3.5.0-py3-none-any.whl | Bin 2956 -> 2921 bytes 81 files changed, 247 insertions(+), 232 deletions(-) diff --git a/tests/installation/fixtures/with-pypi-repository.test b/tests/installation/fixtures/with-pypi-repository.test index d506a21ccbd..190c2aed130 100644 --- a/tests/installation/fixtures/with-pypi-repository.test +++ b/tests/installation/fixtures/with-pypi-repository.test @@ -7,7 +7,7 @@ description = "Classes Without Boilerplate" optional = false python-versions = "*" files = [ - {file = "attrs-17.4.0-py2.py3-none-any.whl", hash = "sha256:d38e57f381e891928357c68e300d28d3d4dcddc50486d5f8dfaf743d40477619"}, + {file = "attrs-17.4.0-py2.py3-none-any.whl", hash = "sha256:1fbfc10ebc8c876dcbab17f016b80ae1a4f0c1413461a695871427960795beb4"}, {file = "attrs-17.4.0.tar.gz", hash = "sha256:eb7536a1e6928190b3008c5b350bdf9850d619fff212341cd096f87a27a5e564"}, ] @@ -23,7 +23,7 @@ description = "Cross-platform colored terminal text." optional = false python-versions = "*" files = [ - {file = "colorama-0.3.9-py2.py3-none-any.whl", hash = "sha256:5b632359f1ed2b7676a869812ba0edaacb99be04679b29eb56c07a5e137ab5a2"}, + {file = "colorama-0.3.9-py2.py3-none-any.whl", hash = "sha256:78a441d2e984c790526cdef1cfd8415a366979ef5b3186771a055b35886953bf"}, {file = "colorama-0.3.9.tar.gz", hash = "sha256:4c5a15209723ce1330a5c193465fe221098f761e9640d823a2ce7c03f983137f"}, ] @@ -35,8 +35,8 @@ optional = false python-versions = "*" files = [ {file = "more-itertools-4.1.0.tar.gz", hash = "sha256:bab2dc6f4be8f9a4a72177842c5283e2dff57c167439a03e3d8d901e854f0f2e"}, - {file = "more_itertools-4.1.0-py2-none-any.whl", hash = "sha256:5dd7dfd88d2fdaea446da478ffef8d7151fdf26ee92ac7ed7b14e8d71efe4b62"}, - {file = "more_itertools-4.1.0-py3-none-any.whl", hash = "sha256:29b1e1661aaa56875ce090fa219fa84dfc13daecb52cd4fae321f6f57b419ec4"}, + {file = "more_itertools-4.1.0-py2-none-any.whl", hash = "sha256:0f461c2cd4ec16611396f9ee57f40433de3d59e95475d84c0c829cde02f746cd"}, + {file = "more_itertools-4.1.0-py3-none-any.whl", hash = "sha256:580b6002d1f28feb5bcb8303278d59cf17dfbd19a63a5c2375112dae72c9bf98"}, ] [package.dependencies] @@ -49,8 +49,8 @@ description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "pluggy-0.6.0-py2-none-any.whl", hash = "sha256:9b835f86bfe5498c87ace7f4899cb1b0c40e71c9277377f6851c74a307879285"}, - {file = "pluggy-0.6.0-py3-none-any.whl", hash = "sha256:8c646771f5eab7557d1f3924077c55408e86bdfb700f7d86a6d83abeabff4c66"}, + {file = "pluggy-0.6.0-py2-none-any.whl", hash = "sha256:f5f767d398f18aa177976bf9c4d0c05d96487a7d8f07062251585803aaf56246"}, + {file = "pluggy-0.6.0-py3-none-any.whl", hash = "sha256:d34798b80853ab688de1a3ca5b99ba4de91c459c19c76a555dc939979ae67eb0"}, {file = "pluggy-0.6.0.tar.gz", hash = "sha256:a982e208d054867661d27c6d2a86b17ba05fbb6b1bdc01f42660732dd107f865"}, ] @@ -61,7 +61,7 @@ description = "library with cross-python path, ini-parsing, io, code, log facili optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "py-1.5.3-py2.py3-none-any.whl", hash = "sha256:43ee6c7f95e0ec6a906de49906b79d138d89728fff17109d49f086abc2fdd985"}, + {file = "py-1.5.3-py2.py3-none-any.whl", hash = "sha256:ef4a94f47156178e42ef8f2b131db420e0f4b6aa0b3936b6dbde6ad6487476a5"}, {file = "py-1.5.3.tar.gz", hash = "sha256:2df2c513c3af11de15f58189ba5539ddc4768c6f33816dc5c03950c8bd6180fa"}, ] @@ -72,7 +72,7 @@ description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "pytest-3.5.1-py2.py3-none-any.whl", hash = "sha256:6d3e83b1c1697d220137e436980e73b3ca674f643e666d7c24b0321cb57b76a4"}, + {file = "pytest-3.5.1-py2.py3-none-any.whl", hash = "sha256:d327df3686046c5b374a9776d9e11606f7dba6fb3db5cf5d60ebc78a31e0768e"}, {file = "pytest-3.5.1.tar.gz", hash = "sha256:b8fe151f3e181801dd38583a1c03818fbc662a8fce96c9063a0af624613e78f8"}, ] @@ -108,7 +108,7 @@ description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "*" files = [ - {file = "six-1.11.0-py2.py3-none-any.whl", hash = "sha256:112f5b46e6aa106db3e4e2494a03694c938f41c4c4535edbdfc816c2e0cb50f2"}, + {file = "six-1.11.0-py2.py3-none-any.whl", hash = "sha256:534e9875e44a507adec601c29b3cbd2ca6dae7df92bf3dd20c7289b2f99f7466"}, {file = "six-1.11.0.tar.gz", hash = "sha256:268a4ccb159c1a2d2c79336b02e75058387b0cdbb4cea2f07846a758f48a356d"}, ] diff --git a/tests/repositories/fixtures/distribution_hashes.py b/tests/repositories/fixtures/distribution_hashes.py index 64c85b37319..5452af81cdb 100644 --- a/tests/repositories/fixtures/distribution_hashes.py +++ b/tests/repositories/fixtures/distribution_hashes.py @@ -28,48 +28,48 @@ class DistributionHash: "35ff4705ea90a76bf972ff3b229546ca", ), "attrs-17.4.0-py2.py3-none-any.whl": DistributionHash( - "d38e57f381e891928357c68e300d28d3d4dcddc50486d5f8dfaf743d40477619", - "9d32f2b5a93343e01f54d87740f2da60", + "1fbfc10ebc8c876dcbab17f016b80ae1a4f0c1413461a695871427960795beb4", + "7fe37931797b16c7fa158017457a9ea9", ), "attrs-17.4.0.tar.gz": DistributionHash( "eb7536a1e6928190b3008c5b350bdf9850d619fff212341cd096f87a27a5e564", "c03e5b3608d9071fbd098850d8922668", ), "black-19.10b0-py36-none-any.whl": DistributionHash( - "3471ff321348d851b6f3047f4ed42c88622ac038caf7c2d160bd653334c88e88", - "4a420234749e1ea350581160ef51cd02", + "13001c5b7dbc81137164b43137320a1785e95ce84e4db849279786877ac6d7f6", + "acc537b0f3f7ebf575616490d7cc14f4", ), "black-19.10b0.tar.gz": DistributionHash( "6cada614d5d2132698c6d5fff384657273d922c4fffa6a2f0de9e03e25b8913a", "c383543109a66a5a99113e6326db5251", ), "black-21.11b0-py3-none-any.whl": DistributionHash( - "e16b6879ed61f9268994b879174fad1cb2319a651afd20f8cf036428ac65f846", - "294e105f34e2e21286a49bfcfb8fb6ae", + "38f6ad54069912caf2fa2d4f25d0c5dedef4b2338a0cb545dbe2fdf54a6a8891", + "92942a9efabf8e321a11360667ad2494", ), "black-21.11b0.tar.gz": DistributionHash( "f23c482185d842e2f19d506e55c004061167e3c677c063ecd721042c62086ada", "f01267bf2613f825dd6684629c1c829e", ), "cleo-1.0.0a5-py3-none-any.whl": DistributionHash( - "20dbd69ed5c27e2889a2d428b9b01771f6073e4a1483a731e3c14c07a666aa9f", - "eaf14b3f99b2b88c0846ecc9a5a18af4", + "d0cfea878b77be28be027033e6af419b705abe47278067a7c3a298f39cf825c5", + "19ed7de77063e8f16bc459276ccbe197", ), "cleo-1.0.0a5.tar.gz": DistributionHash( "88f0a4275a17f2ab4d013786b8b9522d4c60bd37d8fc9b3def0fb27f4ac1e694", "92e181952976e09b9d1c583da6c3e2fc", ), "clikit-0.2.4-py2.py3-none-any.whl": DistributionHash( - "60900adbac91d6d2cefc88efe2639ce3090f4520106596ac855bee3763f276c0", - "c3558fef2a1148bb1df96376def5c8fe", + "27316bf6382b04be8fb2f60c85d538fd2b2b03f0f1eba5c88f7d7eddbefc2778", + "93a51e8bf259c29692e51a7cbca6d664", ), "clikit-0.2.4.tar.gz": DistributionHash( "0fdd41e86e8b118a8b1e94ef2835925ada541d481c9b3b2fc635fa68713e6125", "f7cdbad3508038a04561f646aae68146", ), "colorama-0.3.9-py2.py3-none-any.whl": DistributionHash( - "5b632359f1ed2b7676a869812ba0edaacb99be04679b29eb56c07a5e137ab5a2", - "faef2bbd3c2ecc43e0969877d67b4c92", + "78a441d2e984c790526cdef1cfd8415a366979ef5b3186771a055b35886953bf", + "8021c861015b5f590be41190bc3f8eed", ), "colorama-0.3.9.tar.gz": DistributionHash( "4c5a15209723ce1330a5c193465fe221098f761e9640d823a2ce7c03f983137f", @@ -112,16 +112,16 @@ class DistributionHash: "eeaf257d6b2c3b01def567751b21c1e8", ), "discord.py-2.0.0-py3-none-any.whl": DistributionHash( - "054c3d8cf89a8e37a691e0268232dad23e07f4e9a06f33454c3bafeaba34a9b7", - "8ffc907807f8351401dbe4408dcaff79", + "25b9739ba456622655203a0925b354c0ba96ac6c740562e7c37791c2f6b594fb", + "65394fc868632423cedb6be7259db970", ), "discord.py-2.0.0.tar.gz": DistributionHash( "b86fa9dd562684f7a52564e6dfe0216f6c172a009c0d86b8dea8bdd6ffa6b1f4", "6c0505a6032342b29f31f9979f37d277", ), "futures-3.2.0-py2-none-any.whl": DistributionHash( - "d89e1540e8b553fbda912230db359954365a1f5d0d0fa7fab96ad3969d9d5a93", - "33e76564a87766c3e186d986ddc55bd8", + "41353b36198757a766cfc82dc9b60e88ecb28e543dd92473b2cc74fc7bf205af", + "f81c5c27f3ba2efc008cc96363a81c5e", ), "futures-3.2.0.tar.gz": DistributionHash( "baf0d469c9e541b747986b7404cd63a5496955bd0c43a3cc068c449b09b7d4a4", @@ -132,40 +132,40 @@ class DistributionHash: "b284e3118882f169aa618a856cd91c5f", ), "ipython-5.7.0-py2-none-any.whl": DistributionHash( - "3d93d3995e2e52a98dc4f44361cd5bf68dbde62925d1f820b97d8f0e1d941f73", - "cf35939995e0fd8c44fca7509308abde", + "4608e3e0500fe8142659d149891400fc0b9fa250051814b569457ae4688943dc", + "20da5e0b1f79dccb37f033a885d798d7", ), "ipython-5.7.0-py3-none-any.whl": DistributionHash( - "b94c7a3971290024ffaa916d51ee377ee85f8860a62b5f30c58f5376f0956a06", - "8805d83c415de06f5eadd55aeb2fa738", + "4292c026552a77b2edc0543941516eddd6fe1a4b681a76ac40b3f585d2fca76f", + "2844fa01618fe27ab99ad455d605b47d", ), "ipython-5.7.0.tar.gz": DistributionHash( "4e7fb265e0264498bd0d62c6261936a658bf3d38beb8a7b10cd2c6327c62ac2a", "01f2808ebe78ff2f28dc39be3aa635ca", ), "ipython-7.5.0-py3-none-any.whl": DistributionHash( - "634f505893bbbdb79d1a04d89f4633d8cfc41115337847fbf9d5a23610fc3e3d", - "99a386eca39b536033c71aacf9f98e2b", + "1b4c76bf1e8dd9067a4f5ab4695d4c5ad81c30d7d06f7592f4c069c389e37f37", + "f40ea889fb7adf989760c5e7a38bd112", ), "ipython-7.5.0.tar.gz": DistributionHash( "cd2a17ac273fea8bf8953118a2d83bad94f592f0db3e83fff9129a1842e36dbe", "0e8c1d7c14f309f6cd2dfd4e48e75cb1", ), "isort-4.3.4-py2-none-any.whl": DistributionHash( - "3bbfc8f6119a46a48064487afb0b3ca9daa4b09fbfd94336a24c7616b71db2ca", - "e84fb6f2278ee4d0bd719a4d44863d9f", + "383c39c10b5db83e8d150ac5b84d74bda96e3a1b06a30257f022dcbcd21f54b9", + "42bccda292eca3c91eadf3eb781a224f", ), "isort-4.3.4-py3-none-any.whl": DistributionHash( - "e7aa083302c758b358e10a3a1c707adcc9f8ab57795e99246ac72eeffe7f2b20", - "baa2e5dc4e89511b6bc54e969d040a08", + "5668dce9fb48544c57ed626982e190c8ea99e3a612850453e9c3b193b9fa2edc", + "6c3b582d7782633ec23917b00a97a2fe", ), "isort-4.3.4.tar.gz": DistributionHash( "234ad07e1e2780c27fa56364eefa734bee991b0d744337ef7e7ce3d5b1b59f39", "9244631852cf8bd8559f7ab78bf4ec78", ), "jupyter-1.0.0-py2.py3-none-any.whl": DistributionHash( - "83c4591b9c7392ea5f91e0d9f8e98d894f76e8e669260788f0fcb281ec0b3b1f", - "b2f5e2daab779c7bda0be38925ab1b92", + "1de1f2be45629dd6f7f9558e2385ddf6901849699ef1044c52d171a9b520a420", + "27f411f164e0878104d76d868127f76f", ), "jupyter-1.0.0.tar.gz": DistributionHash( "3ef1e86ba0556ea5922b846416a41acfd2625830d996c7d06d80c90bed1dc193", @@ -180,28 +180,28 @@ class DistributionHash: "bf351a1050242ce3af7e475a4da1a26b", ), "more_itertools-4.1.0-py2-none-any.whl": DistributionHash( - "5dd7dfd88d2fdaea446da478ffef8d7151fdf26ee92ac7ed7b14e8d71efe4b62", - "c70269eabc5fae5e0d93c2eca638720e", + "0f461c2cd4ec16611396f9ee57f40433de3d59e95475d84c0c829cde02f746cd", + "703e1e0922de1f11823da60af1488b7a", ), "more_itertools-4.1.0-py3-none-any.whl": DistributionHash( - "29b1e1661aaa56875ce090fa219fa84dfc13daecb52cd4fae321f6f57b419ec4", - "26d7c309ef806b4e563d2a7e4ceafb14", + "580b6002d1f28feb5bcb8303278d59cf17dfbd19a63a5c2375112dae72c9bf98", + "ae17a45d13e9dc319794c40fa739c38f", ), "pastel-0.1.0-py3-none-any.whl": DistributionHash( - "d88b34efa115392ee42c55d6f82cdf5e5e08221ef2e18a16ae696a80008c3499", - "632fcf45cc28aed4a4dce1324d1bd1d1", + "754d192c088e256d52a3f825c3b9e14252d5adc70f53656453f6431e50a70b99", + "cf7c53ab0a5d7e7c721425b24b486124", ), "pastel-0.1.0.tar.gz": DistributionHash( "22f14474c4120b37c54ac2173b49b0ac1de9283ca714be6eb3ea8b39296285a9", "43ea5f07660f630da18ae1827f5b4333", ), "pluggy-0.6.0-py2-none-any.whl": DistributionHash( - "9b835f86bfe5498c87ace7f4899cb1b0c40e71c9277377f6851c74a307879285", - "de6f342e8044d0071eefc3c9cda33055", + "f5f767d398f18aa177976bf9c4d0c05d96487a7d8f07062251585803aaf56246", + "095eed084713c9b2a9a01520485e20fb", ), "pluggy-0.6.0-py3-none-any.whl": DistributionHash( - "8c646771f5eab7557d1f3924077c55408e86bdfb700f7d86a6d83abeabff4c66", - "f2fc2c3179edccaa7728650178c9133c", + "d34798b80853ab688de1a3ca5b99ba4de91c459c19c76a555dc939979ae67eb0", + "2b6dc266f54023dfb26726686ee6b227", ), "pluggy-0.6.0.tar.gz": DistributionHash( "a982e208d054867661d27c6d2a86b17ba05fbb6b1bdc01f42660732dd107f865", @@ -216,24 +216,24 @@ class DistributionHash: "3f9b36a7a94cd235bfd5f05794828445", ), "py-1.5.3-py2.py3-none-any.whl": DistributionHash( - "43ee6c7f95e0ec6a906de49906b79d138d89728fff17109d49f086abc2fdd985", - "98652ecee6fc3bb5393a17828f93e1fb", + "ef4a94f47156178e42ef8f2b131db420e0f4b6aa0b3936b6dbde6ad6487476a5", + "b316b380701661cb67732ecdaef30eeb", ), "py-1.5.3.tar.gz": DistributionHash( "2df2c513c3af11de15f58189ba5539ddc4768c6f33816dc5c03950c8bd6180fa", "623e80cfc06df930414a9ce4bf0fd6c9", ), "pytest-3.5.0-py2.py3-none-any.whl": DistributionHash( - "28e4d9c2ae3196d74805c2eba24f350ae4c791a5b9b397c79b41506a48dc64ca", - "d3b1e9aea9e5b9e7a226d8b08aa43662", + "427b4582bda18e92ad1967e8b1e071e2c53e6cb7e3e5f090cb3ca443455be23f", + "4a8651dec151e76f283bf59e333286f9", ), "pytest-3.5.0.tar.gz": DistributionHash( "677b1d6decd29c041fe64276f29f79fbe66e40c59e445eb251366b4a8ab8bf68", "ccd78dac54112045f561c4df86631f19", ), "pytest-3.5.1-py2.py3-none-any.whl": DistributionHash( - "6d3e83b1c1697d220137e436980e73b3ca674f643e666d7c24b0321cb57b76a4", - "f1de372a436700e3a785e85c11d15821", + "d327df3686046c5b374a9776d9e11606f7dba6fb3db5cf5d60ebc78a31e0768e", + "1e81fba94885bef80170545d045924eb", ), "pytest-3.5.1.tar.gz": DistributionHash( "b8fe151f3e181801dd38583a1c03818fbc662a8fce96c9063a0af624613e78f8", @@ -244,8 +244,8 @@ class DistributionHash: "677602ec38bc1c7b72de6128d90d846b", ), "requests-2.18.4-py2.py3-none-any.whl": DistributionHash( - "ce91d39dc2857eeb19fc8bf765df6c14874bcdc724d3ce9c6cd89915618e7023", - "f392c0ab49bf677c6240ef2b1890b079", + "098be851f30be5bcb2c7537798d44314f576e53818ba9def25141ae4dce8b25d", + "e770e65750c42f40b97b0ed738d0f859", ), "requests-2.18.4.tar.gz": DistributionHash( "ec62f7e0e9d4814656b0172dbd592fea06127c6556ff5651eb5d2c8768671fd4", @@ -260,24 +260,24 @@ class DistributionHash: "ee2562f783544d1f95022c906dd3cf98", ), "six-1.11.0-py2.py3-none-any.whl": DistributionHash( - "112f5b46e6aa106db3e4e2494a03694c938f41c4c4535edbdfc816c2e0cb50f2", - "35b1057b388e276352d0709138b1e194", + "534e9875e44a507adec601c29b3cbd2ca6dae7df92bf3dd20c7289b2f99f7466", + "9500094701f7201ddd065c60abcefef1", ), "six-1.11.0.tar.gz": DistributionHash( "268a4ccb159c1a2d2c79336b02e75058387b0cdbb4cea2f07846a758f48a356d", "25d3568604f921dd23532b88a0ce17e7", ), "tomlkit-0.5.2-py2.py3-none-any.whl": DistributionHash( - "a50f685abd033a7b50b13330833c15699885186517b713d9f7e8280ce7976e4c", - "7bcf6cf4a6034339bb6a481f27b9ba62", + "dea8ff39e9e2170f1b2f465520482eec71e7909cfff53dcb076b585d50f8ccc8", + "4045c5f6848fbc93c38df2296a441f07", ), "tomlkit-0.5.2.tar.gz": DistributionHash( "4a226ccf11ee5a2e76bfc185747b54ee7718706aeb3aabb981327249dbe2b1d4", "7c31987ef6fba2cd64715cae27fade64", ), "tomlkit-0.5.3-py2.py3-none-any.whl": DistributionHash( - "d4fe74be9b732d76886da6da2e96f76ae42551e53afce1ea29bc703629b70497", - "b868779f054c64bc6c2ae4ad2cdbf6b3", + "35f06da5835e85f149a4701d43e730adcc09f1b362e5fc2300d77bdd26280908", + "3a90c70a5067d5727110838094ab8674", ), "tomlkit-0.5.3.tar.gz": DistributionHash( "e2f785651609492c771d9887ccb2369d891d16595d2d97972e2cbe5e8fb3439f", @@ -292,8 +292,8 @@ class DistributionHash: "5f175a8d693f74878964d4fd29729ab7", ), "zipp-3.5.0-py3-none-any.whl": DistributionHash( - "82da6dcae3676123d6f493a876259614e7e6e970b14c59b1830a2c901ed91306", - "52aecc0484efd07d62575d152f6a98f6", + "ec508cd5a3ed3d126293cafb34611469f2aef7342f575c3b6e072b995dc9da1f", + "da62cbd850ba32ba93817aab0f03a855", ), "zipp-3.5.0.tar.gz": DistributionHash( "239d50954a15aa4b283023f18dc451ba811fb4d263f4dd6855642e4d1c80cc9f", diff --git a/tests/repositories/fixtures/legacy/black.html b/tests/repositories/fixtures/legacy/black.html index c8f1928bd33..092dea09c36 100644 --- a/tests/repositories/fixtures/legacy/black.html +++ b/tests/repositories/fixtures/legacy/black.html @@ -4,8 +4,8 @@ Links for black

Links for black

- black-19.10b0-py36-none-any.whl - black-21.11b0-py3-none-any.whl + black-19.10b0-py36-none-any.whl + black-21.11b0-py3-none-any.whl diff --git a/tests/repositories/fixtures/legacy/clikit.html b/tests/repositories/fixtures/legacy/clikit.html index 2abd1054795..b15ca2a6fc8 100644 --- a/tests/repositories/fixtures/legacy/clikit.html +++ b/tests/repositories/fixtures/legacy/clikit.html @@ -7,7 +7,7 @@

Links for clikit

clikit-0.2.3-py2.py3-none-any.whl
clikit-0.2.3.tar.gz
- clikit-0.2.4-py2.py3-none-any.whl
+ clikit-0.2.4-py2.py3-none-any.whl
clikit-0.2.4.tar.gz
diff --git a/tests/repositories/fixtures/legacy/discord-py.html b/tests/repositories/fixtures/legacy/discord-py.html index e1e76eebf6e..4b71dd8fac4 100644 --- a/tests/repositories/fixtures/legacy/discord-py.html +++ b/tests/repositories/fixtures/legacy/discord-py.html @@ -4,7 +4,7 @@ Links for discord-py

Links for discord-py

- discord.py-2.0.0-py3-none-any.whl
+ discord.py-2.0.0-py3-none-any.whl
discord.py-2.0.0.tar.gz
diff --git a/tests/repositories/fixtures/legacy/futures-partial-yank.html b/tests/repositories/fixtures/legacy/futures-partial-yank.html index b9d344509cb..792b673512b 100644 --- a/tests/repositories/fixtures/legacy/futures-partial-yank.html +++ b/tests/repositories/fixtures/legacy/futures-partial-yank.html @@ -5,7 +5,7 @@

Links for futures

- futures-3.2.0-py2-none-any.whl
+ futures-3.2.0-py2-none-any.whl
futures-3.2.0.tar.gz
diff --git a/tests/repositories/fixtures/legacy/futures.html b/tests/repositories/fixtures/legacy/futures.html index 31cd8e6332c..5a77c3bdc61 100644 --- a/tests/repositories/fixtures/legacy/futures.html +++ b/tests/repositories/fixtures/legacy/futures.html @@ -5,7 +5,7 @@

Links for futures

- futures-3.2.0-py2-none-any.whl
+ futures-3.2.0-py2-none-any.whl
futures-3.2.0.tar.gz
diff --git a/tests/repositories/fixtures/legacy/ipython.html b/tests/repositories/fixtures/legacy/ipython.html index accaff48a76..555711f6ebb 100644 --- a/tests/repositories/fixtures/legacy/ipython.html +++ b/tests/repositories/fixtures/legacy/ipython.html @@ -5,10 +5,10 @@

Links for ipython

- ipython-5.7.0-py2-none-any.whl
- ipython-5.7.0-py3-none-any.whl
+ ipython-5.7.0-py2-none-any.whl
+ ipython-5.7.0-py3-none-any.whl
ipython-5.7.0.tar.gz
- ipython-7.5.0-py3-none-any.whl
+ ipython-7.5.0-py3-none-any.whl
ipython-7.5.0.tar.gz
diff --git a/tests/repositories/fixtures/legacy/isort.html b/tests/repositories/fixtures/legacy/isort.html index ce51ea452fb..3e709c28e5f 100644 --- a/tests/repositories/fixtures/legacy/isort.html +++ b/tests/repositories/fixtures/legacy/isort.html @@ -5,8 +5,8 @@

Links for isort

- isort-4.3.4-py2-none-any.whl
- isort-4.3.4-py3-none-any.whl
+ isort-4.3.4-py2-none-any.whl
+ isort-4.3.4-py3-none-any.whl
isort-4.3.4.tar.gz
diff --git a/tests/repositories/fixtures/legacy/pytest-with-extra-packages.html b/tests/repositories/fixtures/legacy/pytest-with-extra-packages.html index b2fde9ace28..90ce16a65c2 100644 --- a/tests/repositories/fixtures/legacy/pytest-with-extra-packages.html +++ b/tests/repositories/fixtures/legacy/pytest-with-extra-packages.html @@ -7,15 +7,15 @@

Links for pytest

- pytest-3.5.0-py2.py3-none-any.whl
pytest-3.5.0.tar.gz
- futures-3.2.0-py2-none-any.whl
- pytest-3.10.0-py2.py3-none-any.whl
- pytest-3.5.0-py2.py3-none-any.whl
diff --git a/tests/repositories/fixtures/legacy/pytest.html b/tests/repositories/fixtures/legacy/pytest.html index e891c1d31f0..2e2b21db462 100644 --- a/tests/repositories/fixtures/legacy/pytest.html +++ b/tests/repositories/fixtures/legacy/pytest.html @@ -4,7 +4,7 @@ Links for pytest -

Links for pytest

pytest-3.5.0-py2.py3-none-any.whl
+

Links for pytest

pytest-3.5.0-py2.py3-none-any.whl
pytest-3.5.0.tar.gz
diff --git a/tests/repositories/fixtures/pypi.org/generate.py b/tests/repositories/fixtures/pypi.org/generate.py index d247eb18233..6a8967cbbd0 100644 --- a/tests/repositories/fixtures/pypi.org/generate.py +++ b/tests/repositories/fixtures/pypi.org/generate.py @@ -196,38 +196,33 @@ def get_hash(name: str) -> DistributionHash: def cleanup_legacy_html_hashes(metadata: ReleaseFileMetadata) -> None: - path = FIXTURE_PATH_REPOSITORIES_LEGACY / f"{metadata.path.name}.html" - - for filepath in [path, *list(path.parent.glob(f"{path.stem}-*.html"))]: - if not filepath.exists(): - return None - - existing_content = filepath.read_text(encoding="utf-8") + for index in FIXTURE_PATH_REPOSITORIES_LEGACY.glob("*.html"): + existing_content = index.read_text(encoding="utf-8") content = re.sub( - f"{filepath.name}#sha256=[A-Fa-f0-9]{{64}}", - f"{filepath.name}#sha256={metadata.sha256}", + f"{metadata.path.name}#sha256=[A-Fa-f0-9]{{64}}", + f"{metadata.path.name}#sha256={metadata.sha256}", existing_content, ) content = re.sub( - f'data-dist-info-metadata="sha256=[A-Fa-f0-9]{{64}}">{filepath.name}<', - f'data-dist-info-metadata="sha256={metadata.sha256}">{filepath.name}<', + f'data-dist-info-metadata="sha256=[A-Fa-f0-9]{{64}}">{metadata.path.name}<', + f'data-dist-info-metadata="sha256={metadata.sha256}">{metadata.path.name}<', content, ) content = re.sub( - f"{filepath.name}#md5=[A-Fa-f0-9]{{32}}", - f"{filepath.name}#md5={metadata.md5}", + f"{metadata.path.name}#md5=[A-Fa-f0-9]{{32}}", + f"{metadata.path.name}#md5={metadata.md5}", content, ) content = re.sub( - f'data-dist-info-metadata="md5=[A-Fa-f0-9]{{32}}">{filepath.name}<', - f'data-dist-info-metadata="md5={metadata.md5}">{filepath.name}<', + f'data-dist-info-metadata="md5=[A-Fa-f0-9]{{32}}">{metadata.path.name}<', + f'data-dist-info-metadata="md5={metadata.md5}">{metadata.path.name}<', content, ) if existing_content != content: - logger.info("Rewriting hashes in %s", filepath) - filepath.write_text(content, encoding="utf-8") + logger.info("Rewriting hashes in %s", index) + index.write_text(content, encoding="utf-8") def cleanup_installation_fixtures(metadata: ReleaseFileMetadata) -> None: @@ -337,6 +332,26 @@ def process_zipfile(self, link: Link) -> ReleaseFileMetadata: if not is_protected(member.filename): logger.debug("Stubbing file %s(%s)", link.filename, member.filename) stubbed_sdist.writestr(member, io.BytesIO().getvalue()) + + elif Path(member.filename).name == "RECORD": + # Since unprotected files are stubbed to be zero size, the RECORD file must + # be updated to match. + stubbed_content = io.StringIO() + for line in zf.read(member.filename).decode("utf-8").splitlines(): + filename = line.split(",")[0] + if is_protected(filename): + stubbed_content.write(f"{line}\n") + continue + + stubbed_line = re.sub( + ",sha256=.*", + ",sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0", + line, + ) + stubbed_content.write(f"{stubbed_line}\n") + + stubbed_sdist.writestr(member, stubbed_content.getvalue()) + else: logger.debug( "Preserving file %s(%s)", link.filename, member.filename @@ -461,7 +476,7 @@ def _finalise(self, data: dict[str, Any]) -> None: for file in files: cleanup_installation_fixtures(file) - cleanup_installation_fixtures(file) + cleanup_legacy_html_hashes(file) def populate(self, pypi: PyPiRepository) -> None: logger.info("Fetching remote json via https://pypi.org/simple/%s", self.name) diff --git a/tests/repositories/fixtures/pypi.org/json/attrs.json b/tests/repositories/fixtures/pypi.org/json/attrs.json index 3f20eb093fe..9558c2e9c2b 100644 --- a/tests/repositories/fixtures/pypi.org/json/attrs.json +++ b/tests/repositories/fixtures/pypi.org/json/attrs.json @@ -10,8 +10,8 @@ }, "filename": "attrs-17.4.0-py2.py3-none-any.whl", "hashes": { - "md5": "9d32f2b5a93343e01f54d87740f2da60", - "sha256": "d38e57f381e891928357c68e300d28d3d4dcddc50486d5f8dfaf743d40477619" + "md5": "7fe37931797b16c7fa158017457a9ea9", + "sha256": "1fbfc10ebc8c876dcbab17f016b80ae1a4f0c1413461a695871427960795beb4" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json b/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json index 2c14a6199a1..87021c5c1b4 100644 --- a/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json +++ b/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json @@ -73,13 +73,13 @@ { "comment_text": "", "digests": { - "md5": "9d32f2b5a93343e01f54d87740f2da60", - "sha256": "d38e57f381e891928357c68e300d28d3d4dcddc50486d5f8dfaf743d40477619" + "md5": "7fe37931797b16c7fa158017457a9ea9", + "sha256": "1fbfc10ebc8c876dcbab17f016b80ae1a4f0c1413461a695871427960795beb4" }, "downloads": -1, "filename": "attrs-17.4.0-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "9d32f2b5a93343e01f54d87740f2da60", + "md5_digest": "7fe37931797b16c7fa158017457a9ea9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/black.json b/tests/repositories/fixtures/pypi.org/json/black.json index 7abf83d450c..3b537aa62ee 100644 --- a/tests/repositories/fixtures/pypi.org/json/black.json +++ b/tests/repositories/fixtures/pypi.org/json/black.json @@ -10,8 +10,8 @@ }, "filename": "black-19.10b0-py36-none-any.whl", "hashes": { - "md5": "4a420234749e1ea350581160ef51cd02", - "sha256": "3471ff321348d851b6f3047f4ed42c88622ac038caf7c2d160bd653334c88e88" + "md5": "acc537b0f3f7ebf575616490d7cc14f4", + "sha256": "13001c5b7dbc81137164b43137320a1785e95ce84e4db849279786877ac6d7f6" }, "provenance": null, "requires-python": ">=3.6", @@ -44,8 +44,8 @@ }, "filename": "black-21.11b0-py3-none-any.whl", "hashes": { - "md5": "294e105f34e2e21286a49bfcfb8fb6ae", - "sha256": "e16b6879ed61f9268994b879174fad1cb2319a651afd20f8cf036428ac65f846" + "md5": "92942a9efabf8e321a11360667ad2494", + "sha256": "38f6ad54069912caf2fa2d4f25d0c5dedef4b2338a0cb545dbe2fdf54a6a8891" }, "provenance": null, "requires-python": ">=3.6.2", diff --git a/tests/repositories/fixtures/pypi.org/json/black/19.10b0.json b/tests/repositories/fixtures/pypi.org/json/black/19.10b0.json index 8e541951614..45e56b06834 100644 --- a/tests/repositories/fixtures/pypi.org/json/black/19.10b0.json +++ b/tests/repositories/fixtures/pypi.org/json/black/19.10b0.json @@ -63,13 +63,13 @@ { "comment_text": "", "digests": { - "md5": "4a420234749e1ea350581160ef51cd02", - "sha256": "3471ff321348d851b6f3047f4ed42c88622ac038caf7c2d160bd653334c88e88" + "md5": "acc537b0f3f7ebf575616490d7cc14f4", + "sha256": "13001c5b7dbc81137164b43137320a1785e95ce84e4db849279786877ac6d7f6" }, "downloads": -1, "filename": "black-19.10b0-py36-none-any.whl", "has_sig": false, - "md5_digest": "4a420234749e1ea350581160ef51cd02", + "md5_digest": "acc537b0f3f7ebf575616490d7cc14f4", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3.6", diff --git a/tests/repositories/fixtures/pypi.org/json/black/21.11b0.json b/tests/repositories/fixtures/pypi.org/json/black/21.11b0.json index d840c510821..48dc2502abe 100644 --- a/tests/repositories/fixtures/pypi.org/json/black/21.11b0.json +++ b/tests/repositories/fixtures/pypi.org/json/black/21.11b0.json @@ -73,13 +73,13 @@ { "comment_text": "", "digests": { - "md5": "294e105f34e2e21286a49bfcfb8fb6ae", - "sha256": "e16b6879ed61f9268994b879174fad1cb2319a651afd20f8cf036428ac65f846" + "md5": "92942a9efabf8e321a11360667ad2494", + "sha256": "38f6ad54069912caf2fa2d4f25d0c5dedef4b2338a0cb545dbe2fdf54a6a8891" }, "downloads": -1, "filename": "black-21.11b0-py3-none-any.whl", "has_sig": false, - "md5_digest": "294e105f34e2e21286a49bfcfb8fb6ae", + "md5_digest": "92942a9efabf8e321a11360667ad2494", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.2", diff --git a/tests/repositories/fixtures/pypi.org/json/cleo.json b/tests/repositories/fixtures/pypi.org/json/cleo.json index c9fbae16f55..bcb32189c49 100644 --- a/tests/repositories/fixtures/pypi.org/json/cleo.json +++ b/tests/repositories/fixtures/pypi.org/json/cleo.json @@ -10,8 +10,8 @@ }, "filename": "cleo-1.0.0a5-py3-none-any.whl", "hashes": { - "md5": "eaf14b3f99b2b88c0846ecc9a5a18af4", - "sha256": "20dbd69ed5c27e2889a2d428b9b01771f6073e4a1483a731e3c14c07a666aa9f" + "md5": "19ed7de77063e8f16bc459276ccbe197", + "sha256": "d0cfea878b77be28be027033e6af419b705abe47278067a7c3a298f39cf825c5" }, "provenance": null, "requires-python": ">=3.7,<4.0", diff --git a/tests/repositories/fixtures/pypi.org/json/cleo/1.0.0a5.json b/tests/repositories/fixtures/pypi.org/json/cleo/1.0.0a5.json index 77f8f32e7e4..4cdc07a3145 100644 --- a/tests/repositories/fixtures/pypi.org/json/cleo/1.0.0a5.json +++ b/tests/repositories/fixtures/pypi.org/json/cleo/1.0.0a5.json @@ -50,13 +50,13 @@ { "comment_text": "", "digests": { - "md5": "eaf14b3f99b2b88c0846ecc9a5a18af4", - "sha256": "20dbd69ed5c27e2889a2d428b9b01771f6073e4a1483a731e3c14c07a666aa9f" + "md5": "19ed7de77063e8f16bc459276ccbe197", + "sha256": "d0cfea878b77be28be027033e6af419b705abe47278067a7c3a298f39cf825c5" }, "downloads": -1, "filename": "cleo-1.0.0a5-py3-none-any.whl", "has_sig": false, - "md5_digest": "eaf14b3f99b2b88c0846ecc9a5a18af4", + "md5_digest": "19ed7de77063e8f16bc459276ccbe197", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", diff --git a/tests/repositories/fixtures/pypi.org/json/clikit.json b/tests/repositories/fixtures/pypi.org/json/clikit.json index 924e5cc67eb..fcd8be01fb4 100644 --- a/tests/repositories/fixtures/pypi.org/json/clikit.json +++ b/tests/repositories/fixtures/pypi.org/json/clikit.json @@ -10,8 +10,8 @@ }, "filename": "clikit-0.2.4-py2.py3-none-any.whl", "hashes": { - "md5": "c3558fef2a1148bb1df96376def5c8fe", - "sha256": "60900adbac91d6d2cefc88efe2639ce3090f4520106596ac855bee3763f276c0" + "md5": "93a51e8bf259c29692e51a7cbca6d664", + "sha256": "27316bf6382b04be8fb2f60c85d538fd2b2b03f0f1eba5c88f7d7eddbefc2778" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/clikit/0.2.4.json b/tests/repositories/fixtures/pypi.org/json/clikit/0.2.4.json index 5f93b13a530..8ad86e32200 100644 --- a/tests/repositories/fixtures/pypi.org/json/clikit/0.2.4.json +++ b/tests/repositories/fixtures/pypi.org/json/clikit/0.2.4.json @@ -55,13 +55,13 @@ { "comment_text": "", "digests": { - "md5": "c3558fef2a1148bb1df96376def5c8fe", - "sha256": "60900adbac91d6d2cefc88efe2639ce3090f4520106596ac855bee3763f276c0" + "md5": "93a51e8bf259c29692e51a7cbca6d664", + "sha256": "27316bf6382b04be8fb2f60c85d538fd2b2b03f0f1eba5c88f7d7eddbefc2778" }, "downloads": -1, "filename": "clikit-0.2.4-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "c3558fef2a1148bb1df96376def5c8fe", + "md5_digest": "93a51e8bf259c29692e51a7cbca6d664", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/colorama.json b/tests/repositories/fixtures/pypi.org/json/colorama.json index 8898e75c560..33bf795726d 100644 --- a/tests/repositories/fixtures/pypi.org/json/colorama.json +++ b/tests/repositories/fixtures/pypi.org/json/colorama.json @@ -10,8 +10,8 @@ }, "filename": "colorama-0.3.9-py2.py3-none-any.whl", "hashes": { - "md5": "faef2bbd3c2ecc43e0969877d67b4c92", - "sha256": "5b632359f1ed2b7676a869812ba0edaacb99be04679b29eb56c07a5e137ab5a2" + "md5": "8021c861015b5f590be41190bc3f8eed", + "sha256": "78a441d2e984c790526cdef1cfd8415a366979ef5b3186771a055b35886953bf" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json b/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json index 3f383c67c5a..4d2f4be4aff 100644 --- a/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json +++ b/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json @@ -58,13 +58,13 @@ { "comment_text": "", "digests": { - "md5": "faef2bbd3c2ecc43e0969877d67b4c92", - "sha256": "5b632359f1ed2b7676a869812ba0edaacb99be04679b29eb56c07a5e137ab5a2" + "md5": "8021c861015b5f590be41190bc3f8eed", + "sha256": "78a441d2e984c790526cdef1cfd8415a366979ef5b3186771a055b35886953bf" }, "downloads": -1, "filename": "colorama-0.3.9-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "faef2bbd3c2ecc43e0969877d67b4c92", + "md5_digest": "8021c861015b5f590be41190bc3f8eed", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/discord-py.json b/tests/repositories/fixtures/pypi.org/json/discord-py.json index ee6ec8c17e1..3a5ade40585 100644 --- a/tests/repositories/fixtures/pypi.org/json/discord-py.json +++ b/tests/repositories/fixtures/pypi.org/json/discord-py.json @@ -10,8 +10,8 @@ }, "filename": "discord.py-2.0.0-py3-none-any.whl", "hashes": { - "md5": "8ffc907807f8351401dbe4408dcaff79", - "sha256": "054c3d8cf89a8e37a691e0268232dad23e07f4e9a06f33454c3bafeaba34a9b7" + "md5": "65394fc868632423cedb6be7259db970", + "sha256": "25b9739ba456622655203a0925b354c0ba96ac6c740562e7c37791c2f6b594fb" }, "provenance": null, "requires-python": ">=3.8.0", diff --git a/tests/repositories/fixtures/pypi.org/json/discord-py/2.0.0.json b/tests/repositories/fixtures/pypi.org/json/discord-py/2.0.0.json index 47a453f7fbc..76b0755963f 100644 --- a/tests/repositories/fixtures/pypi.org/json/discord-py/2.0.0.json +++ b/tests/repositories/fixtures/pypi.org/json/discord-py/2.0.0.json @@ -73,13 +73,13 @@ { "comment_text": "", "digests": { - "md5": "8ffc907807f8351401dbe4408dcaff79", - "sha256": "054c3d8cf89a8e37a691e0268232dad23e07f4e9a06f33454c3bafeaba34a9b7" + "md5": "65394fc868632423cedb6be7259db970", + "sha256": "25b9739ba456622655203a0925b354c0ba96ac6c740562e7c37791c2f6b594fb" }, "downloads": -1, "filename": "discord.py-2.0.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "8ffc907807f8351401dbe4408dcaff79", + "md5_digest": "65394fc868632423cedb6be7259db970", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8.0", diff --git a/tests/repositories/fixtures/pypi.org/json/futures.json b/tests/repositories/fixtures/pypi.org/json/futures.json index ef293bcd96e..adf4ecf4399 100644 --- a/tests/repositories/fixtures/pypi.org/json/futures.json +++ b/tests/repositories/fixtures/pypi.org/json/futures.json @@ -10,8 +10,8 @@ }, "filename": "futures-3.2.0-py2-none-any.whl", "hashes": { - "md5": "33e76564a87766c3e186d986ddc55bd8", - "sha256": "d89e1540e8b553fbda912230db359954365a1f5d0d0fa7fab96ad3969d9d5a93" + "md5": "f81c5c27f3ba2efc008cc96363a81c5e", + "sha256": "41353b36198757a766cfc82dc9b60e88ecb28e543dd92473b2cc74fc7bf205af" }, "provenance": null, "requires-python": ">=2.6, <3", diff --git a/tests/repositories/fixtures/pypi.org/json/futures/3.2.0.json b/tests/repositories/fixtures/pypi.org/json/futures/3.2.0.json index 804b3e8cafb..e6b0f0b7d1d 100644 --- a/tests/repositories/fixtures/pypi.org/json/futures/3.2.0.json +++ b/tests/repositories/fixtures/pypi.org/json/futures/3.2.0.json @@ -47,13 +47,13 @@ { "comment_text": "", "digests": { - "md5": "33e76564a87766c3e186d986ddc55bd8", - "sha256": "d89e1540e8b553fbda912230db359954365a1f5d0d0fa7fab96ad3969d9d5a93" + "md5": "f81c5c27f3ba2efc008cc96363a81c5e", + "sha256": "41353b36198757a766cfc82dc9b60e88ecb28e543dd92473b2cc74fc7bf205af" }, "downloads": -1, "filename": "futures-3.2.0-py2-none-any.whl", "has_sig": false, - "md5_digest": "33e76564a87766c3e186d986ddc55bd8", + "md5_digest": "f81c5c27f3ba2efc008cc96363a81c5e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.6, <3", diff --git a/tests/repositories/fixtures/pypi.org/json/ipython.json b/tests/repositories/fixtures/pypi.org/json/ipython.json index 3c5c2058f76..65c8382cf32 100644 --- a/tests/repositories/fixtures/pypi.org/json/ipython.json +++ b/tests/repositories/fixtures/pypi.org/json/ipython.json @@ -56,8 +56,8 @@ }, "filename": "ipython-5.7.0-py2-none-any.whl", "hashes": { - "md5": "cf35939995e0fd8c44fca7509308abde", - "sha256": "3d93d3995e2e52a98dc4f44361cd5bf68dbde62925d1f820b97d8f0e1d941f73" + "md5": "20da5e0b1f79dccb37f033a885d798d7", + "sha256": "4608e3e0500fe8142659d149891400fc0b9fa250051814b569457ae4688943dc" }, "provenance": null, "requires-python": null, @@ -75,8 +75,8 @@ }, "filename": "ipython-5.7.0-py3-none-any.whl", "hashes": { - "md5": "8805d83c415de06f5eadd55aeb2fa738", - "sha256": "b94c7a3971290024ffaa916d51ee377ee85f8860a62b5f30c58f5376f0956a06" + "md5": "2844fa01618fe27ab99ad455d605b47d", + "sha256": "4292c026552a77b2edc0543941516eddd6fe1a4b681a76ac40b3f585d2fca76f" }, "provenance": null, "requires-python": null, @@ -109,8 +109,8 @@ }, "filename": "ipython-7.5.0-py3-none-any.whl", "hashes": { - "md5": "99a386eca39b536033c71aacf9f98e2b", - "sha256": "634f505893bbbdb79d1a04d89f4633d8cfc41115337847fbf9d5a23610fc3e3d" + "md5": "f40ea889fb7adf989760c5e7a38bd112", + "sha256": "1b4c76bf1e8dd9067a4f5ab4695d4c5ad81c30d7d06f7592f4c069c389e37f37" }, "provenance": null, "requires-python": ">=3.5", diff --git a/tests/repositories/fixtures/pypi.org/json/ipython/5.7.0.json b/tests/repositories/fixtures/pypi.org/json/ipython/5.7.0.json index 71c5a405aa3..a6b548482c3 100644 --- a/tests/repositories/fixtures/pypi.org/json/ipython/5.7.0.json +++ b/tests/repositories/fixtures/pypi.org/json/ipython/5.7.0.json @@ -92,13 +92,13 @@ { "comment_text": "", "digests": { - "md5": "cf35939995e0fd8c44fca7509308abde", - "sha256": "3d93d3995e2e52a98dc4f44361cd5bf68dbde62925d1f820b97d8f0e1d941f73" + "md5": "20da5e0b1f79dccb37f033a885d798d7", + "sha256": "4608e3e0500fe8142659d149891400fc0b9fa250051814b569457ae4688943dc" }, "downloads": -1, "filename": "ipython-5.7.0-py2-none-any.whl", "has_sig": false, - "md5_digest": "cf35939995e0fd8c44fca7509308abde", + "md5_digest": "20da5e0b1f79dccb37f033a885d798d7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, @@ -112,13 +112,13 @@ { "comment_text": "", "digests": { - "md5": "8805d83c415de06f5eadd55aeb2fa738", - "sha256": "b94c7a3971290024ffaa916d51ee377ee85f8860a62b5f30c58f5376f0956a06" + "md5": "2844fa01618fe27ab99ad455d605b47d", + "sha256": "4292c026552a77b2edc0543941516eddd6fe1a4b681a76ac40b3f585d2fca76f" }, "downloads": -1, "filename": "ipython-5.7.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "8805d83c415de06f5eadd55aeb2fa738", + "md5_digest": "2844fa01618fe27ab99ad455d605b47d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/ipython/7.5.0.json b/tests/repositories/fixtures/pypi.org/json/ipython/7.5.0.json index c4b455cb1ba..f81f834527a 100644 --- a/tests/repositories/fixtures/pypi.org/json/ipython/7.5.0.json +++ b/tests/repositories/fixtures/pypi.org/json/ipython/7.5.0.json @@ -95,13 +95,13 @@ { "comment_text": "", "digests": { - "md5": "99a386eca39b536033c71aacf9f98e2b", - "sha256": "634f505893bbbdb79d1a04d89f4633d8cfc41115337847fbf9d5a23610fc3e3d" + "md5": "f40ea889fb7adf989760c5e7a38bd112", + "sha256": "1b4c76bf1e8dd9067a4f5ab4695d4c5ad81c30d7d06f7592f4c069c389e37f37" }, "downloads": -1, "filename": "ipython-7.5.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "99a386eca39b536033c71aacf9f98e2b", + "md5_digest": "f40ea889fb7adf989760c5e7a38bd112", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", diff --git a/tests/repositories/fixtures/pypi.org/json/isort.json b/tests/repositories/fixtures/pypi.org/json/isort.json index 0a7d238a1df..f41a6582a28 100644 --- a/tests/repositories/fixtures/pypi.org/json/isort.json +++ b/tests/repositories/fixtures/pypi.org/json/isort.json @@ -10,8 +10,8 @@ }, "filename": "isort-4.3.4-py2-none-any.whl", "hashes": { - "md5": "e84fb6f2278ee4d0bd719a4d44863d9f", - "sha256": "3bbfc8f6119a46a48064487afb0b3ca9daa4b09fbfd94336a24c7616b71db2ca" + "md5": "42bccda292eca3c91eadf3eb781a224f", + "sha256": "383c39c10b5db83e8d150ac5b84d74bda96e3a1b06a30257f022dcbcd21f54b9" }, "provenance": null, "requires-python": null, @@ -29,8 +29,8 @@ }, "filename": "isort-4.3.4-py3-none-any.whl", "hashes": { - "md5": "baa2e5dc4e89511b6bc54e969d040a08", - "sha256": "e7aa083302c758b358e10a3a1c707adcc9f8ab57795e99246ac72eeffe7f2b20" + "md5": "6c3b582d7782633ec23917b00a97a2fe", + "sha256": "5668dce9fb48544c57ed626982e190c8ea99e3a612850453e9c3b193b9fa2edc" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/isort/4.3.4.json b/tests/repositories/fixtures/pypi.org/json/isort/4.3.4.json index 44ec4ecf9fb..79b31d5e79b 100644 --- a/tests/repositories/fixtures/pypi.org/json/isort/4.3.4.json +++ b/tests/repositories/fixtures/pypi.org/json/isort/4.3.4.json @@ -57,13 +57,13 @@ { "comment_text": "", "digests": { - "md5": "e84fb6f2278ee4d0bd719a4d44863d9f", - "sha256": "3bbfc8f6119a46a48064487afb0b3ca9daa4b09fbfd94336a24c7616b71db2ca" + "md5": "42bccda292eca3c91eadf3eb781a224f", + "sha256": "383c39c10b5db83e8d150ac5b84d74bda96e3a1b06a30257f022dcbcd21f54b9" }, "downloads": -1, "filename": "isort-4.3.4-py2-none-any.whl", "has_sig": false, - "md5_digest": "e84fb6f2278ee4d0bd719a4d44863d9f", + "md5_digest": "42bccda292eca3c91eadf3eb781a224f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, @@ -77,13 +77,13 @@ { "comment_text": "", "digests": { - "md5": "baa2e5dc4e89511b6bc54e969d040a08", - "sha256": "e7aa083302c758b358e10a3a1c707adcc9f8ab57795e99246ac72eeffe7f2b20" + "md5": "6c3b582d7782633ec23917b00a97a2fe", + "sha256": "5668dce9fb48544c57ed626982e190c8ea99e3a612850453e9c3b193b9fa2edc" }, "downloads": -1, "filename": "isort-4.3.4-py3-none-any.whl", "has_sig": false, - "md5_digest": "baa2e5dc4e89511b6bc54e969d040a08", + "md5_digest": "6c3b582d7782633ec23917b00a97a2fe", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/jupyter.json b/tests/repositories/fixtures/pypi.org/json/jupyter.json index 7f970556596..529a60a30f6 100644 --- a/tests/repositories/fixtures/pypi.org/json/jupyter.json +++ b/tests/repositories/fixtures/pypi.org/json/jupyter.json @@ -10,8 +10,8 @@ }, "filename": "jupyter-1.0.0-py2.py3-none-any.whl", "hashes": { - "md5": "b2f5e2daab779c7bda0be38925ab1b92", - "sha256": "83c4591b9c7392ea5f91e0d9f8e98d894f76e8e669260788f0fcb281ec0b3b1f" + "md5": "27f411f164e0878104d76d868127f76f", + "sha256": "1de1f2be45629dd6f7f9558e2385ddf6901849699ef1044c52d171a9b520a420" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/jupyter/1.0.0.json b/tests/repositories/fixtures/pypi.org/json/jupyter/1.0.0.json index bc047c3eee7..f2cffb81efb 100644 --- a/tests/repositories/fixtures/pypi.org/json/jupyter/1.0.0.json +++ b/tests/repositories/fixtures/pypi.org/json/jupyter/1.0.0.json @@ -52,13 +52,13 @@ { "comment_text": "", "digests": { - "md5": "b2f5e2daab779c7bda0be38925ab1b92", - "sha256": "83c4591b9c7392ea5f91e0d9f8e98d894f76e8e669260788f0fcb281ec0b3b1f" + "md5": "27f411f164e0878104d76d868127f76f", + "sha256": "1de1f2be45629dd6f7f9558e2385ddf6901849699ef1044c52d171a9b520a420" }, "downloads": -1, "filename": "jupyter-1.0.0-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "b2f5e2daab779c7bda0be38925ab1b92", + "md5_digest": "27f411f164e0878104d76d868127f76f", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/more-itertools.json b/tests/repositories/fixtures/pypi.org/json/more-itertools.json index cd74c832739..4120707e812 100644 --- a/tests/repositories/fixtures/pypi.org/json/more-itertools.json +++ b/tests/repositories/fixtures/pypi.org/json/more-itertools.json @@ -25,8 +25,8 @@ }, "filename": "more_itertools-4.1.0-py2-none-any.whl", "hashes": { - "md5": "c70269eabc5fae5e0d93c2eca638720e", - "sha256": "5dd7dfd88d2fdaea446da478ffef8d7151fdf26ee92ac7ed7b14e8d71efe4b62" + "md5": "703e1e0922de1f11823da60af1488b7a", + "sha256": "0f461c2cd4ec16611396f9ee57f40433de3d59e95475d84c0c829cde02f746cd" }, "provenance": null, "requires-python": null, @@ -44,8 +44,8 @@ }, "filename": "more_itertools-4.1.0-py3-none-any.whl", "hashes": { - "md5": "26d7c309ef806b4e563d2a7e4ceafb14", - "sha256": "29b1e1661aaa56875ce090fa219fa84dfc13daecb52cd4fae321f6f57b419ec4" + "md5": "ae17a45d13e9dc319794c40fa739c38f", + "sha256": "580b6002d1f28feb5bcb8303278d59cf17dfbd19a63a5c2375112dae72c9bf98" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json b/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json index d7ae1841f01..6b5e30bc133 100644 --- a/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json +++ b/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json @@ -55,13 +55,13 @@ { "comment_text": "", "digests": { - "md5": "c70269eabc5fae5e0d93c2eca638720e", - "sha256": "5dd7dfd88d2fdaea446da478ffef8d7151fdf26ee92ac7ed7b14e8d71efe4b62" + "md5": "703e1e0922de1f11823da60af1488b7a", + "sha256": "0f461c2cd4ec16611396f9ee57f40433de3d59e95475d84c0c829cde02f746cd" }, "downloads": -1, "filename": "more_itertools-4.1.0-py2-none-any.whl", "has_sig": false, - "md5_digest": "c70269eabc5fae5e0d93c2eca638720e", + "md5_digest": "703e1e0922de1f11823da60af1488b7a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, @@ -75,13 +75,13 @@ { "comment_text": "", "digests": { - "md5": "26d7c309ef806b4e563d2a7e4ceafb14", - "sha256": "29b1e1661aaa56875ce090fa219fa84dfc13daecb52cd4fae321f6f57b419ec4" + "md5": "ae17a45d13e9dc319794c40fa739c38f", + "sha256": "580b6002d1f28feb5bcb8303278d59cf17dfbd19a63a5c2375112dae72c9bf98" }, "downloads": -1, "filename": "more_itertools-4.1.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "26d7c309ef806b4e563d2a7e4ceafb14", + "md5_digest": "ae17a45d13e9dc319794c40fa739c38f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/pastel.json b/tests/repositories/fixtures/pypi.org/json/pastel.json index 465cb4d549a..3715dca0ddf 100644 --- a/tests/repositories/fixtures/pypi.org/json/pastel.json +++ b/tests/repositories/fixtures/pypi.org/json/pastel.json @@ -10,8 +10,8 @@ }, "filename": "pastel-0.1.0-py3-none-any.whl", "hashes": { - "md5": "632fcf45cc28aed4a4dce1324d1bd1d1", - "sha256": "d88b34efa115392ee42c55d6f82cdf5e5e08221ef2e18a16ae696a80008c3499" + "md5": "cf7c53ab0a5d7e7c721425b24b486124", + "sha256": "754d192c088e256d52a3f825c3b9e14252d5adc70f53656453f6431e50a70b99" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/pastel/0.1.0.json b/tests/repositories/fixtures/pypi.org/json/pastel/0.1.0.json index 0c9f7a832b5..417f7b29cd7 100644 --- a/tests/repositories/fixtures/pypi.org/json/pastel/0.1.0.json +++ b/tests/repositories/fixtures/pypi.org/json/pastel/0.1.0.json @@ -51,13 +51,13 @@ { "comment_text": "", "digests": { - "md5": "632fcf45cc28aed4a4dce1324d1bd1d1", - "sha256": "d88b34efa115392ee42c55d6f82cdf5e5e08221ef2e18a16ae696a80008c3499" + "md5": "cf7c53ab0a5d7e7c721425b24b486124", + "sha256": "754d192c088e256d52a3f825c3b9e14252d5adc70f53656453f6431e50a70b99" }, "downloads": -1, "filename": "pastel-0.1.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "632fcf45cc28aed4a4dce1324d1bd1d1", + "md5_digest": "cf7c53ab0a5d7e7c721425b24b486124", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/pluggy.json b/tests/repositories/fixtures/pypi.org/json/pluggy.json index d4961965097..27d2a738963 100644 --- a/tests/repositories/fixtures/pypi.org/json/pluggy.json +++ b/tests/repositories/fixtures/pypi.org/json/pluggy.json @@ -10,8 +10,8 @@ }, "filename": "pluggy-0.6.0-py2-none-any.whl", "hashes": { - "md5": "de6f342e8044d0071eefc3c9cda33055", - "sha256": "9b835f86bfe5498c87ace7f4899cb1b0c40e71c9277377f6851c74a307879285" + "md5": "095eed084713c9b2a9a01520485e20fb", + "sha256": "f5f767d398f18aa177976bf9c4d0c05d96487a7d8f07062251585803aaf56246" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", @@ -29,8 +29,8 @@ }, "filename": "pluggy-0.6.0-py3-none-any.whl", "hashes": { - "md5": "f2fc2c3179edccaa7728650178c9133c", - "sha256": "8c646771f5eab7557d1f3924077c55408e86bdfb700f7d86a6d83abeabff4c66" + "md5": "2b6dc266f54023dfb26726686ee6b227", + "sha256": "d34798b80853ab688de1a3ca5b99ba4de91c459c19c76a555dc939979ae67eb0" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json b/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json index 370a77fbcff..f8a62c7c36b 100644 --- a/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json +++ b/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json @@ -58,13 +58,13 @@ { "comment_text": "", "digests": { - "md5": "de6f342e8044d0071eefc3c9cda33055", - "sha256": "9b835f86bfe5498c87ace7f4899cb1b0c40e71c9277377f6851c74a307879285" + "md5": "095eed084713c9b2a9a01520485e20fb", + "sha256": "f5f767d398f18aa177976bf9c4d0c05d96487a7d8f07062251585803aaf56246" }, "downloads": -1, "filename": "pluggy-0.6.0-py2-none-any.whl", "has_sig": false, - "md5_digest": "de6f342e8044d0071eefc3c9cda33055", + "md5_digest": "095eed084713c9b2a9a01520485e20fb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", @@ -78,13 +78,13 @@ { "comment_text": "", "digests": { - "md5": "f2fc2c3179edccaa7728650178c9133c", - "sha256": "8c646771f5eab7557d1f3924077c55408e86bdfb700f7d86a6d83abeabff4c66" + "md5": "2b6dc266f54023dfb26726686ee6b227", + "sha256": "d34798b80853ab688de1a3ca5b99ba4de91c459c19c76a555dc939979ae67eb0" }, "downloads": -1, "filename": "pluggy-0.6.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "f2fc2c3179edccaa7728650178c9133c", + "md5_digest": "2b6dc266f54023dfb26726686ee6b227", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/py.json b/tests/repositories/fixtures/pypi.org/json/py.json index fbadd76deac..a7fa6bb4629 100644 --- a/tests/repositories/fixtures/pypi.org/json/py.json +++ b/tests/repositories/fixtures/pypi.org/json/py.json @@ -10,8 +10,8 @@ }, "filename": "py-1.5.3-py2.py3-none-any.whl", "hashes": { - "md5": "98652ecee6fc3bb5393a17828f93e1fb", - "sha256": "43ee6c7f95e0ec6a906de49906b79d138d89728fff17109d49f086abc2fdd985" + "md5": "b316b380701661cb67732ecdaef30eeb", + "sha256": "ef4a94f47156178e42ef8f2b131db420e0f4b6aa0b3936b6dbde6ad6487476a5" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json b/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json index 003cb228076..2a96c168f57 100644 --- a/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json +++ b/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json @@ -59,13 +59,13 @@ { "comment_text": "", "digests": { - "md5": "98652ecee6fc3bb5393a17828f93e1fb", - "sha256": "43ee6c7f95e0ec6a906de49906b79d138d89728fff17109d49f086abc2fdd985" + "md5": "b316b380701661cb67732ecdaef30eeb", + "sha256": "ef4a94f47156178e42ef8f2b131db420e0f4b6aa0b3936b6dbde6ad6487476a5" }, "downloads": -1, "filename": "py-1.5.3-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "98652ecee6fc3bb5393a17828f93e1fb", + "md5_digest": "b316b380701661cb67732ecdaef30eeb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/pytest.json b/tests/repositories/fixtures/pypi.org/json/pytest.json index f317d796dac..3fa4d25c440 100644 --- a/tests/repositories/fixtures/pypi.org/json/pytest.json +++ b/tests/repositories/fixtures/pypi.org/json/pytest.json @@ -10,8 +10,8 @@ }, "filename": "pytest-3.5.0-py2.py3-none-any.whl", "hashes": { - "md5": "d3b1e9aea9e5b9e7a226d8b08aa43662", - "sha256": "28e4d9c2ae3196d74805c2eba24f350ae4c791a5b9b397c79b41506a48dc64ca" + "md5": "4a8651dec151e76f283bf59e333286f9", + "sha256": "427b4582bda18e92ad1967e8b1e071e2c53e6cb7e3e5f090cb3ca443455be23f" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", @@ -44,8 +44,8 @@ }, "filename": "pytest-3.5.1-py2.py3-none-any.whl", "hashes": { - "md5": "f1de372a436700e3a785e85c11d15821", - "sha256": "6d3e83b1c1697d220137e436980e73b3ca674f643e666d7c24b0321cb57b76a4" + "md5": "1e81fba94885bef80170545d045924eb", + "sha256": "d327df3686046c5b374a9776d9e11606f7dba6fb3db5cf5d60ebc78a31e0768e" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json b/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json index 5bd873edb87..5bd53595555 100644 --- a/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json +++ b/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json @@ -66,13 +66,13 @@ { "comment_text": "", "digests": { - "md5": "d3b1e9aea9e5b9e7a226d8b08aa43662", - "sha256": "28e4d9c2ae3196d74805c2eba24f350ae4c791a5b9b397c79b41506a48dc64ca" + "md5": "4a8651dec151e76f283bf59e333286f9", + "sha256": "427b4582bda18e92ad1967e8b1e071e2c53e6cb7e3e5f090cb3ca443455be23f" }, "downloads": -1, "filename": "pytest-3.5.0-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "d3b1e9aea9e5b9e7a226d8b08aa43662", + "md5_digest": "4a8651dec151e76f283bf59e333286f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/pytest/3.5.1.json b/tests/repositories/fixtures/pypi.org/json/pytest/3.5.1.json index b5c27a3f94b..6e472048cf0 100644 --- a/tests/repositories/fixtures/pypi.org/json/pytest/3.5.1.json +++ b/tests/repositories/fixtures/pypi.org/json/pytest/3.5.1.json @@ -68,13 +68,13 @@ { "comment_text": "", "digests": { - "md5": "f1de372a436700e3a785e85c11d15821", - "sha256": "6d3e83b1c1697d220137e436980e73b3ca674f643e666d7c24b0321cb57b76a4" + "md5": "1e81fba94885bef80170545d045924eb", + "sha256": "d327df3686046c5b374a9776d9e11606f7dba6fb3db5cf5d60ebc78a31e0768e" }, "downloads": -1, "filename": "pytest-3.5.1-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "f1de372a436700e3a785e85c11d15821", + "md5_digest": "1e81fba94885bef80170545d045924eb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/requests.json b/tests/repositories/fixtures/pypi.org/json/requests.json index 0003ceafedb..34f4f6551dd 100644 --- a/tests/repositories/fixtures/pypi.org/json/requests.json +++ b/tests/repositories/fixtures/pypi.org/json/requests.json @@ -138,8 +138,8 @@ }, "filename": "requests-2.18.4-py2.py3-none-any.whl", "hashes": { - "md5": "f392c0ab49bf677c6240ef2b1890b079", - "sha256": "ce91d39dc2857eeb19fc8bf765df6c14874bcdc724d3ce9c6cd89915618e7023" + "md5": "e770e65750c42f40b97b0ed738d0f859", + "sha256": "098be851f30be5bcb2c7537798d44314f576e53818ba9def25141ae4dce8b25d" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/requests/2.18.4.json b/tests/repositories/fixtures/pypi.org/json/requests/2.18.4.json index d97b7b62bc8..e45d0ee9481 100644 --- a/tests/repositories/fixtures/pypi.org/json/requests/2.18.4.json +++ b/tests/repositories/fixtures/pypi.org/json/requests/2.18.4.json @@ -64,13 +64,13 @@ { "comment_text": "", "digests": { - "md5": "f392c0ab49bf677c6240ef2b1890b079", - "sha256": "ce91d39dc2857eeb19fc8bf765df6c14874bcdc724d3ce9c6cd89915618e7023" + "md5": "e770e65750c42f40b97b0ed738d0f859", + "sha256": "098be851f30be5bcb2c7537798d44314f576e53818ba9def25141ae4dce8b25d" }, "downloads": -1, "filename": "requests-2.18.4-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "f392c0ab49bf677c6240ef2b1890b079", + "md5_digest": "e770e65750c42f40b97b0ed738d0f859", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/six.json b/tests/repositories/fixtures/pypi.org/json/six.json index 2221a7317a7..e9fed52b956 100644 --- a/tests/repositories/fixtures/pypi.org/json/six.json +++ b/tests/repositories/fixtures/pypi.org/json/six.json @@ -10,8 +10,8 @@ }, "filename": "six-1.11.0-py2.py3-none-any.whl", "hashes": { - "md5": "35b1057b388e276352d0709138b1e194", - "sha256": "112f5b46e6aa106db3e4e2494a03694c938f41c4c4535edbdfc816c2e0cb50f2" + "md5": "9500094701f7201ddd065c60abcefef1", + "sha256": "534e9875e44a507adec601c29b3cbd2ca6dae7df92bf3dd20c7289b2f99f7466" }, "provenance": null, "requires-python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json b/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json index 85a59e11c2c..674d0ffb926 100644 --- a/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json +++ b/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json @@ -47,13 +47,13 @@ { "comment_text": "", "digests": { - "md5": "35b1057b388e276352d0709138b1e194", - "sha256": "112f5b46e6aa106db3e4e2494a03694c938f41c4c4535edbdfc816c2e0cb50f2" + "md5": "9500094701f7201ddd065c60abcefef1", + "sha256": "534e9875e44a507adec601c29b3cbd2ca6dae7df92bf3dd20c7289b2f99f7466" }, "downloads": -1, "filename": "six-1.11.0-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "35b1057b388e276352d0709138b1e194", + "md5_digest": "9500094701f7201ddd065c60abcefef1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, diff --git a/tests/repositories/fixtures/pypi.org/json/tomlkit.json b/tests/repositories/fixtures/pypi.org/json/tomlkit.json index fdcef6bc91e..0c76b7f37a6 100644 --- a/tests/repositories/fixtures/pypi.org/json/tomlkit.json +++ b/tests/repositories/fixtures/pypi.org/json/tomlkit.json @@ -10,8 +10,8 @@ }, "filename": "tomlkit-0.5.2-py2.py3-none-any.whl", "hashes": { - "md5": "7bcf6cf4a6034339bb6a481f27b9ba62", - "sha256": "a50f685abd033a7b50b13330833c15699885186517b713d9f7e8280ce7976e4c" + "md5": "4045c5f6848fbc93c38df2296a441f07", + "sha256": "dea8ff39e9e2170f1b2f465520482eec71e7909cfff53dcb076b585d50f8ccc8" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", @@ -44,8 +44,8 @@ }, "filename": "tomlkit-0.5.3-py2.py3-none-any.whl", "hashes": { - "md5": "b868779f054c64bc6c2ae4ad2cdbf6b3", - "sha256": "d4fe74be9b732d76886da6da2e96f76ae42551e53afce1ea29bc703629b70497" + "md5": "3a90c70a5067d5727110838094ab8674", + "sha256": "35f06da5835e85f149a4701d43e730adcc09f1b362e5fc2300d77bdd26280908" }, "provenance": null, "requires-python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.2.json b/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.2.json index 4353af698df..caf365ccd54 100644 --- a/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.2.json +++ b/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.2.json @@ -54,13 +54,13 @@ { "comment_text": "", "digests": { - "md5": "7bcf6cf4a6034339bb6a481f27b9ba62", - "sha256": "a50f685abd033a7b50b13330833c15699885186517b713d9f7e8280ce7976e4c" + "md5": "4045c5f6848fbc93c38df2296a441f07", + "sha256": "dea8ff39e9e2170f1b2f465520482eec71e7909cfff53dcb076b585d50f8ccc8" }, "downloads": -1, "filename": "tomlkit-0.5.2-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "7bcf6cf4a6034339bb6a481f27b9ba62", + "md5_digest": "4045c5f6848fbc93c38df2296a441f07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.3.json b/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.3.json index 6ea48d948b9..75ac2d11c9b 100644 --- a/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.3.json +++ b/tests/repositories/fixtures/pypi.org/json/tomlkit/0.5.3.json @@ -54,13 +54,13 @@ { "comment_text": "", "digests": { - "md5": "b868779f054c64bc6c2ae4ad2cdbf6b3", - "sha256": "d4fe74be9b732d76886da6da2e96f76ae42551e53afce1ea29bc703629b70497" + "md5": "3a90c70a5067d5727110838094ab8674", + "sha256": "35f06da5835e85f149a4701d43e730adcc09f1b362e5fc2300d77bdd26280908" }, "downloads": -1, "filename": "tomlkit-0.5.3-py2.py3-none-any.whl", "has_sig": false, - "md5_digest": "b868779f054c64bc6c2ae4ad2cdbf6b3", + "md5_digest": "3a90c70a5067d5727110838094ab8674", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", diff --git a/tests/repositories/fixtures/pypi.org/json/zipp.json b/tests/repositories/fixtures/pypi.org/json/zipp.json index 273215fd620..4603d3f9240 100644 --- a/tests/repositories/fixtures/pypi.org/json/zipp.json +++ b/tests/repositories/fixtures/pypi.org/json/zipp.json @@ -10,8 +10,8 @@ }, "filename": "zipp-3.5.0-py3-none-any.whl", "hashes": { - "md5": "52aecc0484efd07d62575d152f6a98f6", - "sha256": "82da6dcae3676123d6f493a876259614e7e6e970b14c59b1830a2c901ed91306" + "md5": "da62cbd850ba32ba93817aab0f03a855", + "sha256": "ec508cd5a3ed3d126293cafb34611469f2aef7342f575c3b6e072b995dc9da1f" }, "provenance": null, "requires-python": ">=3.6", diff --git a/tests/repositories/fixtures/pypi.org/json/zipp/3.5.0.json b/tests/repositories/fixtures/pypi.org/json/zipp/3.5.0.json index 0e3bc2323ab..5ac7a06c50e 100644 --- a/tests/repositories/fixtures/pypi.org/json/zipp/3.5.0.json +++ b/tests/repositories/fixtures/pypi.org/json/zipp/3.5.0.json @@ -59,13 +59,13 @@ { "comment_text": "", "digests": { - "md5": "52aecc0484efd07d62575d152f6a98f6", - "sha256": "82da6dcae3676123d6f493a876259614e7e6e970b14c59b1830a2c901ed91306" + "md5": "da62cbd850ba32ba93817aab0f03a855", + "sha256": "ec508cd5a3ed3d126293cafb34611469f2aef7342f575c3b6e072b995dc9da1f" }, "downloads": -1, "filename": "zipp-3.5.0-py3-none-any.whl", "has_sig": false, - "md5_digest": "52aecc0484efd07d62575d152f6a98f6", + "md5_digest": "da62cbd850ba32ba93817aab0f03a855", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", diff --git a/tests/repositories/fixtures/pypi.org/stubbed/attrs-17.4.0-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/attrs-17.4.0-py2.py3-none-any.whl index 52264858d3c1ebd2af33ed3bd0c8e4da073f5fee..3d6428a26e8736931efe0c7af290111b72e049b3 100644 GIT binary patch delta 516 zcmV+f0{i{OV3A(1tSAn-+p@~c0RRB91ONaX0Fx0gAAhCMOOK*J6b0aY{}!MDL2=Ow z6b5-K&%q5Tr4Z!VR28)T`Z1F@nGGw}H~G%FIRN9~Gfm63#A(X(4+<547uR3HMo~}w zT{`T1K&OG;#I$JaAvr;>YDCBGjrgps3ZMK6DfR>WRjysr1H2e%^YXS3$w_-f3ylU; za2fG>Wq*VNhQq=t@aGD9Tz2h3Cok*eWkyh!8Nl5_2hrSy5g3-qN`&dM&AU%U_4l5B z40P9F287>s62KwO?phkkw8_f%Xlg6)%!!{vSvHf^$?}qIBPkiGsI9Q#=6FlrtB$WS z_~#!z@-Z+i-#=;c7!70YpB}V@LIXu4q0ih#1AigPWZ?ldo8nlBpQCLxkQF(Q-)`^R z0_RL?#CA<*Tl_vsQy93@hJbV8Gl_*S>Ad&sjk) z_)pas^=*27KIP~e5v?d~YqJ(jLIm1Qa%JeXgyKYgGl%1@Pir{B`u`bl?Im`WRbFi# zzm4sBI`Zj#OH|Zcox@Gx{R@dRVgJ;kkP<)s0JGXF8w3ft+p@~c0RRB9lm0J42Bj(h G0001Zwf{Z< delta 834 zcmV-I1HJr_UdCXstSAm1T_C3c0{{Tr1ONaX0FzNI8GlkmLr+pfb<)YwqDT}4;C)B* zn}7ugC@gxx^fMzeiW?$jk{M-Cc=|Rf$||d(+-H1w?!5<&Tv_(WYOJ;Q|4* z{m*izN9j3^kFCDKc9fF>p77^T9XNqsy}Zr|hcx*aCou%ax7fe`!0%GrH9Z{PAQ>Fu zE4@@(j(?b8Gi}3yy~@54#>$l6i{oO35)@d*>(4nt0*3qrwONtBL6J5GSaV2ZV1=a| zV_~Lv(2qLM`vyWsg!qSmL$G_tz@i+C#k? zL^7g9gk%7N|8SmT&FO7SZ@*=VXj07;HKHUEua8{U7#?$gUd6?DrbxTiO61z0(Pj=2 zig;1!BToCV=-PLRUoBbn0o|8^l`~fYKkHEIf{?*@QVD?M%>d^+afx#Jc{hyuVP!@A zM}HPEj3=b zwDsW>t@ZILr4OGutv#^Hb96lW-dFI*ziytY+tqVfuQClNzT1!+Y?Bnjh!$a75pB{DJ}(V7<&p7qVUjL|q3^boHccdIgqd*br4Yd>u=}WwT_4ryoYwER7;8H; zlBBY0&AO`0_HKcwWF~QFVpGlq;0>IoAR+lx@;&6)?Ee9?r79Z)2_9V_rvU>10Nj(w MEp&jJ3*0k9}t4N;*L=f?p60NMrs03MURTN{&5T?T)x)XQ?BKokbxeVzpj zAP6jG!A(>U!#(4s3#5asKx5OOaZM#YL_WT(3%b4L_zLe*tizmiWE>Jvw zwMkaj8JW==eNumV%P57UnGOU1HHZT6e8_ez?^{jbPy*ouP6-=f%6wnm0XM@`Rzc9c z-&1MjzfMfVRp?%{tm>xn+KhCQ{p#O$DvRRt#2ET~Cg}a-u)I3sxtyC7sG}@uKJcr% zHY_i+zR^bWv9jH9g>>{k`C*?Q?aRdhD>uH_yyKy@3JHJiQ!g(yhUb*W?$(MlQ;W23 zIQB%Yv2l__VLP}a(yw0kUha$i`ih-pNQh~!-WIydY8)deipW2d)0Jhp|M%VI`c+W7 z;KNUfo3P+QUQFD`PaS#?5wC}_IL5e5M>%HH`9l*nl#HOosG;4@kh(x_T-a!Qtw60xPf8w#K?vigvxxCIp)VD;0c<>*7Fd_QZoP%6^gsKCxK zjP-9B^#ZCTq1hT~Frci8nYsMX4lH9Am<;ps2eW};4+aWRp%v%H0RRBn29ug+LIxdQ H00000+8PLh delta 1134 zcmV-!1d;px$^qif0k9}t4GyH{a4Q4=01F2I03MURTN{&5T?T)3)ycM^NDv0#eLV}@ zVkTMi0s&=K5JcT@m`4EtnV!DsTU}lB9X7e+I}sUw2CiRvLE#Qj+huk2*33|sdKgLl zB?5JP>~TOmv>^=n@y={MCrD{eW5+~~_rPf) zU96@HW*lOlQ(u4ng}mk^Nd^){7Pk&U2?V9kUqrYuWNz{lB2^2`953-*%fa4kO!LMe zD2>7SOL_V_hWXN26(EYDu~o=?tgrE(ht_*My!Nf1`rlZ13JIYQ7DHg1XIi3^Ka_TW zr#@aued!OoqD6OFgYJ$3#84RcgPpv-kJ{=BlP+H+w)B6M^yD)bmL0wwgN!F512LD64ZdPTz>u#E5TrjH4IT(P;bwHG7Sv(9AI*eDL?OsFKu}}T3 z2C`uy(5AR%PS(0M&g0q`r>7WrkNp^=h*`{X=QEfSB87dzEr$-_7ZW-ucet%{1LT(K z+bG&lrjvi;l1kXHnx{oYl%9@octcBO7!MZiNoHgBIq6+(}&Gbf% zjA1W>HJCoE)%!SfpDuk@drGoJ4x1;3i@W=)G1xU1_(w6Qt6`&o-UkXy`3)11){40_ z)sbjysk4iSTz)_6GgFtqnxzC{Nahn4w%MBe4d{Pg>j}|zp^>OblChT{-HYV`P6=!g z+aT-B?k0;syH+Iu(G(6og2}%j`6I%(ka|>L^A0KQUExu7$Md-{r~*&0Q-9O*B^|lP zM3s^akpO(U!!ldL=at=toR4F?=PZ3`;6*57_uh07CNu7AGD!wE#u$>QTlN|Oj}S`Y z^hbZP@!D=XXELWVN%W=W7O(Rzkc{btn!i5D4)7qc3uO*DrMpZ?oL02U^2)a19~yEBwZX z%~*2kXiW8No}wg1`mQ@!G|wowv8=lU1D}8Dd-t+s+cMD^0KKs3fp1@uG9szPw!3Q4 z7Wa&^~=%yWX(4MkZ)a0uvnh8*x#_N6G(NaFBj|F3~GOC z?MA)3Cin0zjkU5rw=K_$Cu&E-Eb>o|2=rUo5d}g0uU^gHjTqCJv2h6}j6%*RaZxS9 zQTl+$(B0W4X1i{jnYN+#_w%(GRed|VO`TPJx80CxP7}(YBW!=LW!`uxFMl_MGdVMY zeaSC-3s`Vs9EZ?l*A4kC-`9;>Mnf}HZtXsqjYvtZ1^d8~b^UOqdsH}1y3yGS%N`_F zX`EvYnYaF--XFo&wkdE&lZT)me*?1}Uk?Tf4y5LAD+B-l3kQ=nWkLplVE_OC0FsC$ A%m4rY diff --git a/tests/repositories/fixtures/pypi.org/stubbed/black-21.11b0-py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/black-21.11b0-py3-none-any.whl index 2d8898391285f150c10aed0b2f15851fa5edefeb..ac416c48a6731cfaa61776b82b591da4d9b4305c 100644 GIT binary patch delta 739 zcmV<90v!FG&H?$s0kHT`3BeZL(X0Xh0DO}HQ6+z^*GZS6Fc1LXd;bk5Sf*9N&%Mig$T1wg3YpcCK-Tug2 z(aT^mTzd_$nWp=OIx}Ftf^M9u&VtVNN2_yQ=i{v;zkMk!01!qT0AVKe5Ef>9R(&DQ z1et%p3(io~AZZG*cqjx1Ib#q9rMQ%FK_i5I9tj#Jlt9s}oIM;S5FlD&zp9)F1)^et zFpQw+Y4}t`BS}dpT6?%6M8m*&3YmCbNzQ35T6WZ{S``*8JX$t+Nnt2rFh~g#T@K4L zE_#|X&Z>-v?ha=j7Bm25sH&8j2EkJc5>$T=lpwzz==;~aWCROnVNH1oTPX^w7Fc*p z=%gdR%}J+aF)vL$*5r3CD7|}}Lx$@EYslA+M9Zj(st$)UDAJ;zPBm}Zb*}HrtH%7T zE-PfHx+T`7ML#uB6PKW>(7dFE>i_mWhfHm|O2zIH|5=>GHDl-@c*AJ4m8PQjax;HK z8E+tbA}xKpnJnFPGyOMTSMk_>bga_S#>?#fFxHtGj!Snr*qxkXcR|Q}z2fr*pGI4$ z-_x|0v^_OUXKg-Rtgpymv6Msgym~0Nqkp!p*EyKj+pDF_9W>P-Bl+I(BVAJD!RwG0 z=0+ds8~q9Q!wcz7b*!R7tVv5n+iBa+sBX;zO3Rsu@U=cD3R zUp?4tr#-F-n>*AP?PC+NgS9JGiF1{wemBzWNn{1ybyyUVqV!(+oKTR!8%!~N;}TxNx9=wCQ(^$GANqYMWv-erm3<<#& V-qEZA004ZG)n-Em(o+Bc001=(V1fVu delta 2353 zcmV-13C{NU!2zDm0kHT`30nHfFwqDA0Q-{xQ6+z!m${asS`tP5{uZdmJQ!^NLV%c& zK!C$y5+E^;g0F9?J2Q){SI=n&yuBjMJ@-W1AS%Q770hWr6ixl3U4bDF5uEsUu6sgO z`5q4=jGl3wbKCHec|c~O_>^)kYZ)SIdgDts0}$w6|Hb?j1VvqpL2%%_>|QlY4EbQ2n&DCB$g~gTfS5mK{zSVEUc~rR*pj?l)if8 zpkZF^0SNllS=>}rT7RoZ_fnrTdI~G;z(+GDFS~8@qh2^)@1&d~dMHlt%P}f{*egOH z;tN&BQ{Sg`ydG%k=~TstBF9l!AVcgRvnPcEma>(SH@E!UHCSbsF*BtL08so**p`<%>H#oL;~$tuQKmy_HSU1)iV)%UZS%x#z z)Wrwq?_pMNE07elK`=FLZoo4Crwur(*esq+VaTlEcPvZh!LPJSc zZS-6+yWOO7X4fEe1>4=_5cOrLpQK|&8+eZAfK9XA&Jv0~SMCw3&6}yvxN?6TjBaD@ zM3+~!Whel_De}|hRg)Z@Nz+j0hMOxsMQLzRv?*%b7)Tkd9MhoJPL-zZqU3id8UT!- zKhLh-DaUGFl2TF=Sx529_4){nh3F#t@Qh^Z?3Yhe>b(Zkq3Uf6y8{sVGY0CZO8f6p zZy8y_fvb;a?GfK=K7oTl1FEvH3gWEvWOzDTI;BsO{ zJ@3;^e@<^znWeUBDXp+IczyviihTOAU4M*gn}M5>5okn9p+srCOG38+k)cSZ5ab_{L?za z*zd|5&#EC2eyR!Z(erl7p77TnJw^>ur)d$2$wD`XrGkTm+~<*^UzBgP^N zkxZHdD<`9KLx(K&=;yIl07$Y0^=MzKEDXzm_JN9XEsYLyB523TcmyUI{ zUy}qXZrP1hX96$+{gkbUkg-Ak68f;J!v4qj9={?p0trc+^0!uDWKNwhG!ZLs#o;x| z1^M;BCvz?|(SOG3KJ#cC`9(9raZLOA4^Xn4N@N>rsXKoaAb7c-`Xw$-_^LJ}zL2+2 z6yJ%c`j=T(e_Hn!@(htz;v3g#23?o0O}X1 zU9-Ke11I#zs(4&AG)cOPJMv-%H6{nv4>+R8>^-7=a#9yUfR2e}^Fao-x|1C3h^$Q>F>n=>#pSTF5R)t66c z@mOrItplp82H(puCyN1^fQjF6Nnh-{=mEG6BK?2P(I=;ZGGw!b-}sWgQ9QWJ*-bQR zJ-BkZi1x_B{9M+^zqOowxa5#;xsUowC<(WRv(eDwZpq=sdGE{J=|GpdN$!S~0M7u$c8BB%pZ!CJ^d( zCMtGKo5lc}A&aeCJ$f4;6_1JMjB{LS?V+ z%vdMIX{j-3pYP{|H(+laIe*rArNqZcCa#GZ)bYNBVSn#=Y+m1h>B+z6x;9^JO&IRp zCgvHNz^!B=V(AzL88$U^g*j!C_l9Yh{v&^{*p5B>Y)IGl1qp+xC0TFwX116(d~p=_ zX{Lg+M(`E{t#>vs070nFB^X5DA21w2Kaye?!J>XNe=+t=)UE4}>T67!ud}kD!Ya^b zeRyx&b-l&jyniT6swCCN$KcK9jNy zz2-OWE#4Hk78Xo+bQAp-fKmv7|0DS>^1SkOY|Fw=Y0DQp$*UEqW8FPqVPw5?c>&jl%TJCgz@oDb~&SI8Y2T2i@ z(TbP}aoDlT{_=qT`2feJ4a#&*%Om_LygVj=P@moQsrXnAQ@9KX XTKdW`(Fgzl`;)L>Lk9O*000005`c|I diff --git a/tests/repositories/fixtures/pypi.org/stubbed/cleo-1.0.0a5-py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/cleo-1.0.0a5-py3-none-any.whl index 89a45de35c436e34cadd7f3827d2b8489216770a..2698860f40fd51e2317e6c88722bafe9ba2161d9 100644 GIT binary patch delta 791 zcmV+y1L*vQjsdrOu(gFYg@fQF99g|TL8h=tnLr+pfwb#vd;vf_N;C-J( zt&a7li&;1tr)jOWRcogk4ib`32_O({efmkPiFVF(#dSwme1QuWE`(Egi4YUaB2-f! z6%*qht@h8W&cJ(AZ{3?;Q(Q$eKUq{;w|$yE(x+9@8sDqi#p~~8JWYr5O8tWD6(SRb zts|0J#(#~QftBKnV9TU%gNWo(yAnx)MPPtpTyjfnC^~!rk>Hx*G+zVoxu4ROW^HV# zas^CsW-JhyYU8@q18Rt7%1RBj;-}(CQlp~ZIl)hVaBRbwmcCmA1=9@` z7Amv{jAZ*<^714>`)*K~YAy9S-1CTz=g2>#VSkap{0w8YR3}Vi=N_O9ETMpztQ;UQ zb=~*xgeu63B$PVAHVfeyz_JM@8vDU1tcHxmWaVb&*I5R-Aq=Ya%%Ei&hE&r4G3jhE zp;EA;_UK_9rHONreepJE--Z$c8s<}WzF3bU=O1yWcW*CQY| z-G6toNI8ed2$@>glqkS5Z9hA}-2KFXO<>MYvM*<$S*s~dKvXVq0C!CmT2X9%e#4j{ zCRu^~fgo*&EIt%!+*L7v&=%f4sqR%*8ZQ$^|vFv_h!98Z`LbRHhoOwytBUYyvXQv zL003PJcJBZH delta 3197 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 delta 5630 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 YzW22%lNA5}FDsLjPC*9VIRF3v02DqmB>(^b diff --git a/tests/repositories/fixtures/pypi.org/stubbed/colorama-0.3.9-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/colorama-0.3.9-py2.py3-none-any.whl index 45aa098254c8e0e9695a2966c0b07c7291f4f18b..8141564e23056664fa9a2bbe995e2f7fd7687460 100644 GIT binary patch delta 498 zcmV)dLgA0gkYYcQrxdqC`7;VZkFpi` z_pv{#f0c1v4%z$G4^{eRNQRrYA(~|bX2GQ8K@zBTCDXJe^Wf<MCG+hPzUSmp4AMQ{(c&+Cz&?dlGg*y1zO-1*!L#Hrb^{sbN#Z) oC8StOPSYRM;^Q~7k}iP*35fTuu(bgI00EO6GDHT_EdT%j0Pk+@w*UYD delta 691 zcmV;k0!;m;W9DSA?kf#qSmhga0ssIX1ONaZlTZO1e^Nz5Pf|pE(aVyWKokbxeX8b7 zz@eM_A`1mZ5mZE5#7!4hL4k&*MVzNkvM^<`aDVFi&pCfWDng?=`oy?wN`~>IeQdYiIbjx3@Rz3GLZ4As9xI$VrEkQ!6^%k)EjX$h~bL%A}BR ze_<8oLm#E%74;l|0+8QCtgQXiobIPj`-)5>o#Eqw;Pxi%cQb#9P}iq%@d)y~y42*{ zWw%nhiZ%yCK?84W-!eA7$#HK+f`w(d&ujv({5InK)!JUxD76#SLCPWUu|?N@9IUI+ zwA)IpYEj|4<~9z&aK-8kGLMdxo~e*?!nE{yDyDIknxQOT^Vwc`UYmC z#Z@+B)r5_I`^L_w@J3U@*&cY-bng{(=Z{24)$8t@&*DWc6V?6#)7hQVKYsiIv(hbr Z0|{bS2H^et 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 delta 605 zcmV-j0;2uE9o!zUr3ndJXL)-i0ssJ(ldcIRe|6DGbD~fb1>k+E@=uU3^H}tP(I6lo z29yoO@IV0>A0qzx&Z13cq5E6ksdH}HHt94But6VDbZ*Wlituj1##2nO+@D_6U{5bo zPS>vCk5Du(CWsvierpDK*!-rv&yT0Ws^fa5c@RtJCXNaGr%E$JAS zfBYzaUZqnIM)npJtE3XHJR_}17t9y{{Bt&mNBGO+z4(@2${9kVnAzlL^|DF`el#;K zA@W<+LaCN5K3F;(qi9|LPt|T{Q#g*l+(WQEtb5=T&36atcxQw}_JwSj;@}*bb+wxj zqq~+7+b%{j0(d?GIt?(+ezB)2l!j{Te{It!bnmDdL8=`5uU-s;`=Cf0R`V&vzS)IR zU@XVb?{EL86^&CkfoJCttG|hI&@^goX=cP=B*&7k<((?qI|ajDUj(13YCeJ!2w9;|ow8aExfS2GL0MDsxgc_&4IdDm_WToFA&99jAFbT+vca0dyPG>8QUPAAvIRVW)HelQq*F$eUDs8 zO#tr9b;_Co;{ownM{O6?@Cs`jDcyd)0c(>_?pj?femKw;Q51v-%`XSB_J-1gX_Hdkwg!mL?W+a%A|ohQA0T-j8L z<0xW+*(hqNRl}s@?Beq8^Y(S`U-j0x`Tj(XqS0;ka&&RmrTM>fILj^u_v-HD^`BPy zl=q(-Cx6{;KpB5w0sxAon6N1VV-TSjkqAjGEfYB6^xYbWf2fMUhrqlKS;R2m{`orW2Q-q1Kzy(%~Ql zTgXco?*1}`T5)Q{$=FJm;cMzf&VVM?5fZsTMccw-!e+Gy7loI{@N({=g#~3}xq%s1 z;pYsvbgZDhN`nHbPKai0_HK*Cg|Pb9Qk8h||0u7}?)6|OT6Bs72 z^CU<{jUq92K}nNAc|}Bk5>2d`Lgh4NFg+gjuCDKU(bMQ^IC_2rfGsuF9G@-Enr~_f z#iAYHSO(~7Z{Pr6WOf*Gar$FGb$(vz1FVSyNSwQLxZ1gOfkOzN;RVzoyd6>o z4X{8NbC-%%G{5lOJZ4M~{0w5X(*TSUDz|^2h{k{~RIC!ZMK0>DLvV3oX2=EWngLqp z_`r(QCPOe-rVP+f#j@lkWD=w=J6~&G=yUrPS4Rg-UqxsN*(V98aq%x0j~`$)oanPG zil?qJwJNG~gc=us!FtLU@}{uFFNx5+v4gH%V8)I~L3A}k`bL&G;CoSuL^Jmd(4>DC zV*Okps*nvcq0YY%H%;Kh_67d=`7nHuJ4=lGs&keY32A5{AJPBI<#Njak-S_lxOv#{ zKpn>wk0eAPa<~c?yVBbIg$>`DN5=J?&Kk*?D><+<xqG zNiO0Pw+=HR2%;L^#sQ}}a~UlwKZAeoRXaCEG|;APs;LW9_0tN@#yEfIVPg`{rdsAA zd6VP%KF1@SJ*%-K8uPRXr3#djmAI^a4?_V03D}-R6Xv2QMxpe)Y0gZpyfO*F74;}Y zQQx9XIiSkjCR+3@+F1)rRI4ec;KzQq=UCvPe(vvipnTt>ik?@DK2+f75>bCOc$9Na z)?(a%OVM-9KrnE@{E76xn+q~W@}dKTp>T^78j-fPN1?�Q;jmSahU0z*g7}7Hs(; z8RrDHHGPyn2!$h*YcMKhV(CT{=Ndkdac->4qD02Utpmx`Ihm+Bog1ZWnsWC8kr}^U zCSjTuyO*`u>-{s_aBqm!Sm1wvux5`9k!E8+(X+w9x0OH13Q>t~aAhYYj)&TI`vh9> z04j^o{5C+7x@Z#T*oTfbDK0QI+QWyGH~ZLtLT5j^e#x_kElvHxVh@CnX^@AL!StC=xX<>4?UrV3lr6wjwjR3}54c4?tlxD8d@ z#8sojH(aB^`03h!4?#85<~T!LLsPkkG@ZZ~S$Q7gFw{8#dclgkZtNdRxM5T+=j9qc zB%G-&bV=oC?S@hP`IF00hvavV=7{qAT}K;oIg@H$?IzeC2pcghMLeR6;vZs>=IXP z4_b{IJce?3Ou75Y0Ud)S?#)QyKY?)EA9gOZrU{8*F@sCgG-NW#IRzb&Dv?rAq3UmT zmN0)~C=`oloC1I6wn{Znv{lQW1_!)Rx8!NJ?5HntK|DkKxe!20P=!lbRxUmi5S^Gg zx8fT)h>cMz5S!^anzxQBwE#ga%@pG8X=@tj0O}ftdrp?&V%a)9M&&6559p|@Cd_gQ zOF!)g2$Xvt6_YqcIe|IVkmHLbZ9y~)#ds1Un%LHs02P0yLTD*pLaVdGXkK60xJuyw zt#SLn$fP=?qry!1Rsnpn7`{{hnK$kn|33f~n*42@rjM~|=+@D9aMBgBp~+1sHG@-< z01Ql<0%aT=yg$*kgGkjPd34ciH&2>g^(mwu|MJ)36@tS5oUS`5o2Sj`2joJ`*dxC< zj<0)9-Qj=jQz7V=Y1mw%XUksg&y9nTE7P${ccRVDnGrt_$jVV z7M;dvtG%Cp-y2t4UN^^v-s^ZV~_!^;QtU;kBS zKU;&V#`#(2d@p#|>pl#x8;!mH;pL{+`?*6 z`o2p;ZcgS8CpSMj{9JVI_@dD|ZMXK)tyB@Gb5}72xBmF!ZGK}1-S4m8dN-piIm;Gz zr+3k;^>)&~ygucl{>N>6*Y7{}o*SLN{s)t>pd6DPlMb`!k#b%NkTyZTISBv&v1pTI M@InSJWB>pF0M^{0hyVZp delta 14201 zcmV-mrk$7H*w5k7n zyJdAY+;0DB*Il1_FoyqsjxL(&{_04`P#o)gPuj#jKd=xo#c^}DqTYv(Jm)bPQtU7s zqW8NbmtL^;s2aVm4LA{Kj(g3}#5`36qzaFqH&>YFn1+V+JO z(P%W5FD6rpbc3(XQ*aPk*va!mlY$+NkpH0KuBnHp4qv;K*=H7>FXnuo%u_sr zBLev=DuN+zL7~ypand*TC3t|z4uW9hA6Pn6vdjPMz0^q9K}H_%4^^B7yg*9@`DV3(|v!Hy-}qc*M}-jYeD1ywA|J&_?0!J z{R?P3HYPdWQxKcEJ7>rjQ*Uq|tOUrCP#?+92NIb0!$l{G9g2c4!*zfCHqcq3kR8;F z&(3(bH`aSH;}HrLA#t7-!-9fDdrZ`|$jBXm!>=aVMc*w&lwi3_o09^qd%(>QD+|CR zCK`V)kyccgdTb@jJs_z*^5zbF!+B-qy?*0uoc8$2u_PW{iC(rkTb!BufgDJ^$3}U| zhRKlhOC!kSj-p8D9oM#H7I;I})UPuT$`4^-FGLqAvDcXwQF&mn!*acMh9uF59}8Z% zXjFpa4k8Hzf2WQ^6KvD^Y9Oc5AWrw3aN2*KSaVaDiAFK#e&PvraocMYGtxn!FRF3e z!5~P!5&bbMhs_BMo%g!l7bbCf+Kl*I0_M^l1z+XjyFSd<$JJWRD=>sUG+E2s?sq7R zzxOj}sx~X5u6bn^y>+n&|5%F`1Gswi2`yMtlHdW>!>cpO9dq(yokkUVzr!dH`-Xp6 zMnlxSj_2gl{&-mt3`7wmwS|izWrzD32Sqh2+;B-)GakM3A#b*BqU5^`{mm>h{{>6Y z^*rzEd)ZSeZxMPIS!tGvLS0@L9JJfAA}MpJ5Ad?nwA!^25ji0}4fK6zQ`4p?Uj3|1ipqZ9kmo?cjP=N5*U+DuGBm5l-23m{bF#6EeHkF*^daEC$AyOl;=*SyY9 zsbJO_;lTc&S_N%f6mTRcY*v3R5~Fu46C*Gg52O(@d9m9j2z|#*Q9Zo6rN`Y@B;5;@ zHMPpn%e@ph+l_JTPWmLF-YsiPE4?vFzTXlA1bP4DXbGCK>0XH#DnWrm?RAPFSFMf< zJ!QI1i_5*hiDv>gfDX}2nlvkM%U?+9gSf@yesgoL%@ zyLrup(C(+n*sBSHfK9YTKpcFx^uMCuwk%(nAS?)B2M9ERxk+Q-Xk45YCS$u1#W9h+ z)QSmmnB%T0w?i-(LEfNAG-U0s-@icVCQ_^`?Bk#mjz~u%rC&(J?2oE_YQ=sP)0RFp zYYHpqj)LC%nP&aabYFjx8`?I+VAO>xcJVlhyTgR$c`U$^Gl?TBJ(_N<##im)n7eIu z$ah2kP5hdCSr?mrIQ!7*Niv?pPQPl%6bhU{x89YyCOi%--8j=Jc06>GlB4U9a&`oUzfXU7R=4A@Eu3ul>Wjw% zBwmQdNO_Vxw_|*x1Uujf%!av?3uQ`N%G#wLkJSfvFiK$W5%U*!a~pO4oc=H9n7cbS zT0BVClZvq>vH2gkLytGqOIs;8^8~jw4onWAUbe7_5bv=)+w#WF3x;fp`ZW3yK4I0Q zH?M)Y+BkvmrJsLFz9%KGxe1-24oy<#T|^8pEHGO{MqmtkACA%+qUF}FmEV-Fqddey zdRiL5uCJ1w?sLGCj7+Zv$#gbDy*t ztP~BHiWA$!#KkY~;q1-7Qjrf_k_E3edODu**dyVzO#EciF35Q}=oj2oRNEY4Tfee* z#mEM;*&-2!qwkLC7w_hE$ymL4JX*wV<)dDvcC5@)@&n7~qw_%SAH5FBv&b7kTy+u~ z=v&kz@%Ml4ZnC;>qu@2~OrT1Z06-OyhhOqr5;DZW9GJXxo{L8DfcQ%FRHml9+3ygP z{BU`#mqahPdm+$qDtHBSXYNxeu9~eBRHQpFbzKd-I;u++;pLTFo+boB?`yvG*0S+l zWsQECszvkNgb{D?9d(;ibd-C)EXdC3M`0U>C@y~h#PAGp3mVuDz_)HD3IGxTZOO*o zI|h^&_=$U(%!-C?6`IFYc37a5ujzZRO*r}yIoi#=Y^mbcC4aGFv_*kD0Ulkice<$3 zlNlXwR9mZ6wd2}l>|=Hl=q>leFzA!nY|J;Q*`7c@?Ys+ma5s@-mKil19C6Rd>$cWU z*DQb44^V=daZPL=4-y}i^cxyxuRRscAyNjWfGic(m5-%;cf^oE^iB^Av_naXiVyOkID;*USP5RY{BZ z`>&Q6N8+(b52G*jCN^c`ay-V9djyBm;Fb>W4|!2QI-`JFvhWd%HcHscUjloNN_W1f zj-bMuQ-^dm?YfZ8X%f99H97D=SOK_kQQYFm=Hx$koA3QP*_#-W$&wn)-1kw6z14rj zsTAp&mKcp~^_C~DRv*d|)spBA!qE>A_$v_B1t(cRBK>V7JYiXc<_egzXzoyo)}~xA{5^aB z4SveZ7wDclUH0vy_Kk7Kopd}$EjMzxPuEm3UaY!1sNvjHCZ~{_8ByPcivEA!zSn<= z82!WM*c|q(RF$#J3lZzWqYuqrkJccbMh!U7humb6+-x>Uuo?XK*q{kthgKJcZdNeK zU9RCncOE1z;OteI^GKuHsP=3z!Ynwc&zr)A3GDm0)_<1MV8dOHWuwrC#|=38-4dm1 zY@9~!!D92t-|`!+u(xy(OvrytynYDH-`G#RC8~^|f~UL0d*=%!_&w8yk-(ffp@{Ri z!{#tkN!cCKZ0j!s|1e?E5(VR1t)bf!_sM2>^qf`_h6#PpE2}zlN_A@QQR&Ntf>a0A zQR1z~2t@v1WPj)PuliVogTc82;na2)cF&Zab>1WQV99hZClNr&jJJcIrF za`;XD%$_5XgnS{;_Q)A*C6ITyV96)OPSU2pg2*9rl)gaSIOv-Pgkj{}P5%ZzQ>Uzc zojqQkDWVgn)c{VFaA2-FTL;0oMU%$iAysLOwR8~nG&AB3$H*T>x%R54Z@u8v-m)AZ zuX5o5tq+EkD8{CTsX4iO>V)4bp4rmtS0xGHr^P!G0} z!^4HwfeiR6eRa2fbZsmjD}jGJpy&fyw}iyaN@Wv? znue?qEMs5PdgY=?g1UKURQC27cLJa9h z4rH}X`aOx`B_)59q;Q^@`H#r9{u}AixE4PSVpimk*5nM*`;sa~*>RuyK|FSpI62oK z&R{^?{m{w(aXIrZsPBchujRtSUaN&1^2f;+l)RCZj9UrYxK9lQ***~zr%t`6q|?`% zy?z9qzo>Ondwq~)FIW@Qm=geKK35!2Vzqrf>zS&V)I)!vRcAJoal&qH>tx^iXU6(R zEd0V{NvKd#2AU6vGf{T#kQ6Vw`YLOWTW9Qh*`dOdi*1SR#{IC^zqoC;>A$D6m|jKj z9uDDqC!k7MT0Ne4k4RY$R>oipsboU|>xRt;_`aC7kpAw#{^D*4u|K|g8HlO{8nZ(G zMxLEO;TwN6E=9%hmp|3c@dJWvmXKNFKVAXOOjFdrHG_aV^w;4!Ad;G zyXiv)-RVfoPE3MJ?#*DFbLM-o2@Bv3`^abh;toOS^{=U1a&s*O=8pQ1y}zN`zi;oAb3uQ0T|G}pBrC~9r?3e#V2$0(B5+jL zcAEqd0HAdH*4XBZq<-k`FY>oVbZxzv27f354jCf$a@0B}GpyshItC%>BX_%F$D7Js z=bO2Mk&k5TmH$~zZ;nA>qYx4XIIPGvSw8S$m;u*AX*OnZC9JqH4xGh%buVFdMudHqbYu$H+_7r&H|hC?BbEUVTe2D7>IhChAfGx_zBBD;6dcj!yidY=Jap=hf{e4}`qhCqQ6sw+7&k0{4Fl z|D)s!$8B3LH{U$Wn>wE-c&-kQ9F<1(&H{OEonZMsOb>k-HbIPklowvn-{f)&%CT3Z zpXbXlKdKXuVKFd?{Oz9Lw|tLzd6@LSHqG+aN;!f~fK5CVQ ztr;O{4h{GNV4JQW8_hG6|6yo8lTk+Vuina6?EN%?K5d-fseSlWr{(CLO<_OrXW6-J z|M2sU#D9oAf3e>Ru#Iy+_){1KNJ@%GoK>i(mQq~^SvT9RcmaBHo>FGsS5~J#GrGJZ#0(DAmO~;zx@tH#Z!NdGi=f$;@ zx6st=Cp*3;Ak_PW8sBWYS*2hV8mC%1jS(0D}XGeYP z(7lk~i?|7Uf-lA>ws8}e*2+5S)f#&$y^X z&e|YJoHJcBB&@aULd-s`l2Ty_x4 z!h;W2Hx?d%elpGM&IEt8j23k?Knm)3=%gk_y^TGL{Go|&s>iY&;K0aY9)q*5th>JNuKPSVYRG?)KGzN*JiHlvs0ZW* zUv>ogQCNH>e^Uh}g0fLTMnmy&do?E zWHn|uz`;1t>pp*_4o7%ShfQVUEpisTvpDY{@MB})mHk~g*K8rrq3~-nGY%H5BufKG z+02>%UM%Y*y0=qT!3qJk9=ap&kIm^9d^f%Z>>8n+LGTEU^Z9^q)d zm!xMV=|MV_YE^9M0QPZ?;syLoK^BztJ_?vl0t*Ha5wj&@MOX(c0d(c*U`yS>@4Fs)@k^fc_S@Gu z3jr6wKs|o~O2Nt3w6h=%4X+!@sy_q}8FG7~M@|SOK6sXB{%Px<{qpZ5{}r9|vgAXE zWUl7K8osSK_jrDujI+(`;vSeDQ*2l)Gj2za-%_8VriL23$+oeUvb=R*$jJafm}-aU;|WWZh54~c0P7|?p=M~?f-Q>=mY(? z_WdxE+8DTU!061qB?fp`j{f{mBA<1x4s~k->)=iX)%lZ`nL7$W|7#=P&cOYa0xfl8 zZ=K&>w=BuWseJ*dp26q$%qxKiwEAfY?3RB4w*ZR2HPUUN{=31c0<}(s!l@i7qSl*0 zlaU7o&e-|k{y{}SNwlo+pzVZkwxP$qfo|d@&AsK7sh#c8WFFB(W2Sl zrWB&$k!lc<;Ytwyegq)m<@ts%!EtaoOzlnY)O)Ng$J6G$FvgY{ z8+aBOp#Q@E=hv^tJ?=EyHAy28Oj>^ciYL>q?EABDyY5XZnMbYbjv}7vb8y*|*K3CO zZ5#EtE!Nx99=FAMtD7ypJxgKHYm;4cG~v;tlM{%Uth+kVbuV`;*(DtX-eQD+ZM_px zD>OHm`sEzq|3j1GkbTJvM%0O*izJ=Yy8_KYx9X779CNi&OXo3;X-tf^R3m?~Q5IXm z1iv))mmPgKEx5SatrJ~3)YAlqfK-X%xl3@e0T~A>|AzI+A+`D@)Pi4U;l5#h97a#T z%M!>BmQK>W>oS8dtD{N+N0M;?zOT>&7b0pPID77COyCF73%&Mhs)&S4KW1mD>>%Y1 zJMqMJTB26q;gr+)04nCO>r8)gf98(l?)9+ZZ(xvm_4f1YSROINRm^2Byx6-QA-{ic zdkTe`uDD!gC_U&m6&sK?V=Z*|dYJr;==rZ6N*&l#tPCEtI~zU@33?Hx>>9#X_IMXM zowl#;xJVZ>!uxH4KA~l{X`a`LWv9jP;{q^e)QiYNHao(Ed^q$#M-EGBv~N+D3Y)IpBk3~Tgu&gb!1)id**^P= ztSJH&ZSQk&IwL&6UY9wT603mkYl7TyMj#E5l13qNAv5?=5dRJQ>!+tydY$f*&qNk= z$9+MOc(vnmPh8}@MQVSQhj}8xYXRd;_~Ou;GWfKgf0$o$R2AwD#^!TwS1?Us4&w&@ zh@8k+=$FUvI7Zlz)6N0 z*2{qFn1%Gk*XP_#zO$mrtG%xh-C4%wlmjk9p>VKxk6vl~iBly+ys?H`#L#9tl8tUs#`JKQ48k&uIT-D7CNL|v_-eq>;wv(nVpQM{IC); z>-pQ+0Zv+B9ebTAg5DkBK1NxLA^R`0RA&BnF7sqwufSk9=k*?Nqbp{2avdRA)))&3 zHPVjqI0pQpMX%zPYhzz|z84fp*NkZ>j4o<)rI>at|4a7KInIm1>B^AayE%Hp|2Bugcb9l-c)5T?qCol&^Ovg zxt>s%J!;<8KJ(bNFb+}9KAhtXUp#n-=|tJfPFM*fAb8J94fyK{dIF;`+v4zh*%giM zb}fm)dMAC!5>t_kR4v0Yk8Vhrn=i+tIISi<3x z;U#`$l%g)yhj>uB3^8I!_eSB7Uh1>vKBVGV7-3 z;Q@b0B2?;<3#D`74u^j1XfnL^l~FYz!Wju4YfkFzE*FIa!$4~yAa8Y#52r-Dhb!n# zx)~7&5kEtbS67r7!QGBlNM1tms!ykrO*2vqokK#pD!pC@eQgP&qCn5A1A>2`wrf&G zuR{RMy#$?&P8jJz)e!(Y9Z*m7hGc<-i3@)wluUFs@U3&P`6C?vX$bBE`WiJG6ye$_ z_QQjzmBRA4?a$qSsO%WmvCE27IFB7C^aW_{aPn3Beu2)fszcIZ-Z-Oj|3IBuyz-VO zqthDcdKzeiXV~|Fphpe3oU(a`gZLZsLu#a&o7n`h)x5^5*JE0{gLr?*iRpmf(h;Sg_PV%Vfaw8C(dl zf_j^Q@1h(d@(q;nh7AU8N4(y~cw>JX@)|smdrE=c@NTB8MSq%1c^zd%3yX_U+vwQh^4yT(&XhO-5rB z{_|9R<3{|XlQVFNb31>4wgi?lVB$8gu@1Du^oY19LtXG8nu_9sJM#4^Sl^~uy=)`= zKlCF1FoUrln(7ud!LRPWp1xA-B9*-Irp0%M&_a-I6tdSC3S5?cYSMd;PS6=31cH2S z)gj-}f8V*f{k~RyOS8?Cw;yknQx*r0Qhfl}enRORy@nKD?U8?Grp^+*z!!*yY3q2Q zDceb&#rr?C6lPuYYq$5ciMd`>%PL@)Tr{m zXt9Ez@217Ju>hqxmuDi4Z^-C_qr$ZMSW2j72wEgKXK7~`pbJ5&kk0zw*? zG(?1)i&XGvX#6elb3B3q@ZLOYd=T{=^RF|ouR>oo&vpu)J?(Za8|lJhh?r;SAS_46 z=Df%v`Gk@86Nd-S?S$`);B#kkuw=sLfyL%J^9E7EIYWsHpslWBAJHYwiR*dqB=J3z zlT8G?Zo_~710CLnRGFHLkh*qA_o^w)pj-|tm0;2Zr;`(>U{sMvE2o@=VBYdT{9ERG zB@=_7^fI5=>A)b%NsiZv9ShQi%_um42L;*}lfotlXvDvk)ps53(=8?isc5`QNNt4Nj-FiUVG%!V_128X4QYxxAxlpK3(!FmVUQ%8SJo5X8srs z7w>eI6k0sU4gyguSb!KWdnas+JwNje)_f}9@9g($8*hpW#!rcR@1&zeiUQ>#Zh1^o zsI;?6(ML?u+dBy15RLX2y2HT#7ycLRb;VBAhD#CX23$zTG%xAIU|iaamO9126-N-m zkhp)CxNkb~%S$0Y<6l)6zvVBEtsEl(Z?rNy@B$$yGe%zhG(y5_5}iX~W1#`T zL?F9{swX2@+dM+pWtCiSvHVfyxK>q#*cN}_`aEL={r48Wyj-#Rw$z`C1)F0aAUesu z?8{s}=|u;uX0J+WHK%|zsyw)9)Gyn=KhVF-ZR9~>K3_!Tw!dRWdY0!be_Z8#LP_Fn z-nV6S@Oeqn@(JB-uJ2o)@`e6IUS6*UVsA)k(`p`xqK(r4pAahaddx(EU{tsIsIJw0+WfES8>H|)1}mFJHNJ)zTJ?6 z^u8WxWo&a+!Zn=<5Hj#Xua@)C7aNtT?g>A2=wZKwH3TKTgMMuN^o~p5*-6kcZBD#3 zm!XBnXAvMqHZwTup*`?WJO*SGJU6n@Pv*B9dkiAb0Eu2gi6M)IymnoWO1I?}~i z>08ujsLE$OZ}Z}F*?f)ae{qwt@xAgrv`eU6K8pFEr1#w93%kyAMdFY5O-&ib5jqd^ z(H`6@!Cm?-!FjEa{)d~jzr^%Q3@Y2>S)+~4Bko(;IRO6Nt(WVq8W7D}&ie~;*KaDZ z*~^yT;NOnxU(7AX8@i_a`V@c2JtRaHIIMj))M9kYI8Q?4I2YKN3eXXq(5~`zuDBUk z^SsdxeKW#YJJ!#$nO}O%y5)KyDC9Iu?X}%xDqLwNzjd1mIYop(s;Q)0F*h-f#~qI1 zw|&jdLwA47pZ7H3Zzk?t z9b$;f)@Q#?Jdm(X2i0}>?c*;HHT4Fs*M!#wlOJe80dH~~#W4I6*_LCH)xR$e{cBi; zzk`=a5_yoRNyN{l_1Ggl1Cv5_0Xu6=b+D4BM=4|j2(C{%Lw`p9FJ0UhaJcDZ?|H=j z^^~66m9-JI)LES{*1mtSS9n5Hu{p9lnTyUNX2Qnx&w9rGDy@8DaKGW-O&}#4^J@sI zfyHB^oJcg4CFe(qWD>r~3}hAR1gJMTde}b?9Kh5!OXP3*8#-T4t83;MIX}3Y+IU$* zF(P%?QfpK<%>$LS4F~myK4))}*rNd?vGc)l=doc%0f4+LTpou+(JR)xo|nP9@$*9qkuADn zKO4wj;K}>qKed08OO&l48obz*t%f5Hs+!3|nqB261*lUw1ITTbZ10}zaOg+&e{OjA z&FiA+Iy(>@zO?WjLY! z&lMe^jLvMhuQh13kz>prM(`9wZfj=Z%|QqE;F-HGr)Gcuz|Y#(7DQSxa+5hX7nud1 zczHN`THvT7f1)j_j&HmMTCOa1x)M?Trj@9dqC8Q317&D z+(^u1E#4V~!&VEHU~+a40sog4-b@mK?nuFnd3yE|#A{-L?z7Vj9vgb-&X$VxxUS46 zgz&BXjwFA+S)V^p3))@bTcV7M5HFBjMTvO#AyW+V@uFgNUl|^^LwCna5>YP1uip|2^>E#5E!3 zXFWZ3bP1%Ze~29lgymbEms+;e{-#wR*6G6&tj>SGp6vL>dR|(14@JGiTN%NMhfwt5 zyAjp6{y-V(Koe_DPrREd191Um;)n%1^vfFrzx43G&nwfEO_x1h9RVDdcTR$PBJ{FR zq7J|U!;y)E`K24LhJXfpC#}LB| zy>@>DJU2)3I7#v~tMlyU7iBs?B$D(qDRzhj%K`f~pEHtUSrDtVuraG6kA_(6vQ z+}7JdX;w!&GhrqAyd1RYv+nYGsOF8_Hhq8gDv!bD9YsDg zYQBC0nV zzP0P?AfHDi%XQ`t#OwThI*lSJdFL2!!QTr zgUdee^1GbuDO*J>VzXNc`~2|dtF6nI`ks7fiB0dM<8k#8Ze1&Nzb5PDW}BGo=_|h) z(*ATjpRH>1jnwB@hF-LJgRg%cjL6xhrlP|lJ7VW?$Gn{{ZF^uf&}Bg;EEwF8^z)j* z-mep!pUA;`t-xv+=nhnhteAY`Lnv4hbv)f@D8&b^Ajp-wP&!4AhWo4zQXlsDZI~Q} zaZ84`IUjj2Ma-ki%G+eA7roKdY|lE_=tNwC^M@_Yz##Flio&dWwe^1zy2=1;&Xj(? zK1g3+BZJf`Qck_2o+GM{%ocUiE*v8@&!S1KLnxze$kSExX^y=iSwKe64x3g(t_;0b(@Sv1wQu_jnRplVHnb zAy$T;8gYQ+c|v9V^M!w(cVgUm)$24nxqr0dfC`Hfi}H`Sz^&^Qo#WopfQ&$Jh`&PE zg*`k}bJH>ShlM9m9d%zz_>-F9c2i$zPGgVWCAhOA z(2uzKdslVnz7A!@BnoJq;>%s*0Uq}vz~Aq){UTtoRbg{{Cr5w()XK|aEp`xyd~`H> zb(Uv=a(%g(J5Ja`q(kAjS;S-2$X2d(_0Y+QyOd=oFowZy4#xLhR(YUJF zt72V(g}Jc$QnYtq(FqKV%SBgO*1#wR&wJV&ejOP8oSD3D>gTUsmGO@k%O$ltzIGi zib7$DO6O6r$|E23DUtMi%cWlN^%;o&fL~{3UTo_~ZjNG~=3`m7>7nl)@`OdjU2e(r zIQyxR6IiKX&v&*yY`kj1v5Y?M*!9lJcPp4->wMR+N56k9^6VbkXySQ7L)V$e={PWv zh2cHV_##E2VbA4-!{@SyHVs!LU_l28wqCn=M}Cu) zK0EkYCR~gQR8)XOS&j~!fuOtF@WM%h>sz-7YIVY~ZL2(Sj`Mt7jQsfSHVcX}dYf@) zC8AS?3}Js>HwRhR*MfH71i!9(yh8@9Sy#T!(!8Cm4c?D##z0yr5dk0O23IK@_f7C%NyENCy>J0(^~7^q+Wj{ z;S$^!hi?}G1RJ!U2yS0V4$M500+571pxtJb(NlkrzaCRlmf1;%{V+~VaXk!!ffNx; zZ@Lof@Z+@Rg9VVujj)Mi_w}9JznFdWygc;fq*kjvEWg%>BtK#rl7Q|#*Bc7Gs8YKm zvUO5y16Uo1bF{E9zc!oY>Yn`pKZ zSYChlV)N+W$E<&w4~~avQC$_8l=+(G0rYUWq}Dvq%GIJqPJz?dw&3=Q(mvm|{IJZ; z7d_9=cth}NpvsZVxl2PF2;#i7`PfSYci;4mg*t-Ma;r})HHT{*_v=B*PapT0Vk$0k z!x!H>W%z1%f+*E(vF<|ne zNoOO{RJXbF!9?x-MVjyG{sAusrCTjeVqI{Hyq~Ufh^qGM`-B7oOO?@EztD-`DERPHGOjlIt1bc!jOdh2McDTFpFiuX)JoYmlTumW9yTuLZcPRMjkp7dY zzve`zlORk*-l)u^Rc^AwsM{-! zTce*a98a|B-r))aN#_ph@%g$p*2~t-4^tl=ugWApGWx+Nz5LvKi*sQEjaxr7G2KZr5;8jVQVL!jUtNk07m0|Gp z^r5_PiYIDV-L(L67ANF(_pE%ACGOJfqbn-kqp%q+EaF@?MT&j1s{gmUqOa7yO12*o zQoFX-@}jgznt}kfG!5!t3PY3Gxhv1B1_*Q}Sx(R0%V%ZpQ||w_!rp&+6IyJ@4bt)L zh$I9h0s$YprzS-Q+(SN^;bSj_D{!)sZIu7i_c!fQG3N<09&*|n;7y@1-aL>Pz_(a3 z)EGXyxtiTF0dfiV`DX5?6#C<-#!AYdesIhNT*RWZ&Yaf$%?T}hZK0$(39L5|!E9xS2H^oc;z8{L_k+{_S+T^4dvbQJjMYF^&P_&!VJ?OM4Y z$H2@vQ-_ctMa2^eL|_h4ZO#c7gC5Vjvk@y~)R7kAlBNQE zD8Y2S<*17@d$}{kUwg4XEY1JC1M!w}cDBv%6=XybSDnI3cu-a2z?SkBcgI63`V1Zs z*Jz|O9o=CN@+W_LY1iPh5*&2uP_=74@Z{p%ifaHn5O{I5MjRbgGlU6mCsxC9`ncFlQ|$Ndis1SqYOp-n{MKh8`ilQZp~T~G zE{F+NW{+cCx4*LZwLT}8SrdXSvP4%e#rac038S<7@?L-02m3SUA&MX(%;#TdL{GCm zADk01g~#in4OMb)%?UW;4~JSb`|-R!^2c$1%T*Z6x}7hmshUJ0QwuXR)P01RRJ1P= z1Rn2_w_={;*y$eJk>6z&uX_cb89^F2{E~;r)uAVh&5+J=OplSNzRIW>qq#7Y`p}o? z8@FWy*r$Jje8GPchOW|8CX~hF97&#VW39^^U8CDUTaN-K-jK{7!3;S|qx*cl7~bf= z555A}zleW<|9V!kewDMH?>GN?wzGczfc|qn_FvGylE>ew5P58=b|bb&aOGNhbaKko z_c$!5L|x4e_M@tLy*XldGt_Ks}G(DBBmXoJ*L!qaQ@}!!JivAa>kzB8~eYzK9hz>6f2Gl6M@Tm z&aii)16p<}k94l#r`F-!u2K;7`B&6DUq$?htZ~dqV|Tls|AZxQobvbdyHf^`3SI>; zbGm=0C)3in<1K~Dsg`_CSOa$;qb41yzS%wZ(SL$&0`Uj*ay|)z%Fr&w z2}Tvd)ht2Mtw3^+$62T}_=gxsJb&iQ-R9~3f0NN_9FrfC4zpQga$X8+wKe<5HUI!v PZIji)LI%E(00000PaO^u diff --git a/tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0-py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0-py3-none-any.whl index f27a1788a29b74d12a89dc964b4dc6253abef16d..442857c112a3befd5791333364131cc20af1d021 100644 GIT binary patch delta 2443 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 JGGqV%002_wvn>Ds delta 14193 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 IIsgCw0B#Vu5C8xG diff --git a/tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4-py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4-py3-none-any.whl index 35c983216acf5ab05874b151cc070b673cd9d572..f014878206a07a3f16d2583c6c5b8a2f8b7a52b8 100644 GIT binary patch delta 569 zcmV-90>=HoeT93lpf(L9kWRS!0RR9F1pojXlaU@7e^Nz5Pf|p!(MfZnKoke?dp-*g zHkCfi0Ra`Y627f#IOU0&7iEq}~t$Dgwd6U?(rX@$gY zxjvhJGZ(IRYD;UgjB+`P{U()XTL<+g6jsgb0NZVPSsS;gUnP?Ig#R*4j>%-^Mrp++ z8h`3Uf8+Nt6A6;@zRT;0N{dm(YW$9-I-<^-Jo_KNVTf}~t`lRDO~p`5rNE5Kn0(M@ z*NdFc4`Tm#P&&pRv=?b*dyEDQ2PpRT@o+^iqUy9_Cx=GRZb17s@E6=|Tq;04Q3ugd?{xP?cJx$o1T?Re4wuzAIwwBLGG$Dkf>>*f|a2d6Dy6DH$aXdK>wz ze&-*?r(5oq!8`5wWdnDJz~1bjDVQ5&m(>C!mj5eVV2;?Fwpon^RDWH&>6UwXZnxx= zF5d_|M#X1U9yAYJWMo_l8HP2rtT)D!1xlJf{RFcDI&K6BC6G?I`vCv|4wHF4K?cV- H00000Yy}Ln delta 886 zcmV-+1Bv{Fd%%6Lpf(K-!6hIz0{{R!1pojXlaU@7e^Nz5Pf|p6)Je~(NE8O(eJA}- z(92LVEP8=}f`BrsYzRXMg-k+;;;+Acoz~dhaZ{U0o}5$fse^{L$G@ToH3&!1yqk!j zi0K9U*G93hlMP{3LDmcSP`xipj@eyh8X5i(SO>Y`D0>;)?3ADwPWbZ=^bb|XsQDMg zCvB1He~W`;SNRI4#lbELYqP9liFU#I^0=&SMJ8SmV`~J*zM!IQ&%=kZf2#%Txw4G1J)QsxQ?U$KG$uMM(|GYPRT9p_BGh3C4B2itFpGs(=8z<{>}B;}(6rcSPoBe@=$D+ve~voqHST} zc%m$N;>+dkfyKxcpOZeLjB<|^$W7~Z!_zaZl*DVl^L4u^)c7d=B>$f3|G|zTf9)KZ zAimx2RYfu0AJVA7VifZ9=+qo3_xWlaK(HTt?3;*+NN;GV;$p4MQX~ZW8wnfSPf^#R z1`nTaMVo>E-Bs6MDAx=;@A-0y>6j78*|=)3o_W;C5*Tkf56_&xc2q+gXEBcF<kJQea9!}A(zI|O4}HK7d%P<5d{khdqY5qSA(Ec*wDXzCYjjDES%i!IbU*en{k*Kxi5y9qg5&@>btx& zp+7V$OFyN2g6t0Sier$`C&6c@c>BS@A6uz9jhm1Y-kQIC9xQ}Em)Df>^|k1Kneb!; z_7T|!e{XT8?1^U}&T9|y*bcXFeRMZ*@3?6QiWuJt^}OE?vFkb`JWD0FTEEoy5NW1{ zv?m)We#Bq29 zQH%9NrrR<`F-ipAhz??oqiLPaQT|oWaKKO`-AkaoeQpGSOO-7ltkBKb&` zBOu7SsQ1{BFKX?C-(3{}&s$2?*rHFLTfL;Q1)=-1=Me~)putQhq{>RxDjRB8pSo;=ApZ#8riBmKOaI9kMlB>z3B zmPXv5GDe{K1%B(%y8v0RQ^(3A3>WDgp_(wijrN0RRAnljI3Q2DAqN0001IM%V!W diff --git a/tests/repositories/fixtures/pypi.org/stubbed/more_itertools-4.1.0-py2-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/more_itertools-4.1.0-py2-none-any.whl index 436a62bfde7f855d67a591cbfbe5dd6cde23a7ff..e9f2a2e168e78dce807351425caea6bb853d3bb3 100644 GIT binary patch delta 461 zcmV;;0W$vRPN7Y(`ydWDv8pbQ0RR961ONaf0F%%qA%9XuLr+pft&u%%qd*Xb`}-|G zfB?qD6&Oe`F$OPSE;K7_mhkDt>;lHW{w_K>N-7$fkwzLl&&)dw?hq^}>L|uFd4jOG z6cj?PofwiQqOAOuR)%?KOV!%=2@8X56S1i8rEnAxy8OZash<@tdHXl)vN5m{CvZHM7KF0JCBsjK>FZ$Y1zUH|b%Z_~ zTR6n}&IZS-*Kr?=AWJ?JArv%KtSv0DQ*ZjIj3z4!nKjSPY8*4r3@y+e{Hq=BNALY@ z0DVX_dF6X}3=$nn(Ghv(Jvf32K1(OZH8e)xd4EBk697|pfx$3ybCG45yT=xJJQS?D zQ<}4=yVu+eBVal(7wh3-pAu_2$5cf)rwzf(TAV{Sh$d-56Rsrq@}+1BDYcE)Ed6i@ ztgwAjvi&9kU0dE=JXOK4x~&T1z~XmC5Y$--#VxGSfNGB3zP^=d{T2M_*E=u2rJHqM z+8B5|zqq~7#p-zXTQ^$6vVJRw;xPZB{0p;&BZ&hEII*fOj{yJx1(O&jN(R3o00000 D>z2_5 delta 661 zcmV;G0&4xCP3TUr`ydWfb#S#-0ssIa1ONaf0Fw_UA%9XuLr+pfg_6x~qc9Xk_an`l zKnes5EM`H0l+XYPzbPAwBql&0CfGpf(@(o-)hRR6jU`LgIlkX_8{8pSQq)n5YjOu+ zc`Ye~i*{m2kqHv`6|h$jsO~aq>sz#JSy_u&KE2jpvd4Z;Y3NbaN&EzoM`c@NnLt*hX-`kI=iqWRGQ0>lWyYk4(7z5Z%7(dXE5*7G zG8TsGCSfI8NBs`@mqv1()=tugWfAnNh~fT$eSbUQml#~KCf>jXD;@X2W*@|kcMLPg z#mItAye+hSe(LsYh$O-QPEv&bvFC~K#e-X>L*?x_pr>^?9QR$#gF>B%wNi#+g_chMRSslKuO_|m^l5{`bJ zoqquz@tPvk78cp5H-nReCM%B^mE&d+%{-17YK9hS?}D41y5sigaq#WI7@$;RSStxE{jRsUN=<`Qqxz^wOeXnk|#q;T2?JFCP$CcOf vU8;;PLF*+dtm?;-0Ec;t^Eb1WG(Z19y82%Ua$!jUAm<@0s5%Lr(lr|Ihnw zr((7EoPRf%PK9Hbvgr^0L;bF3%G>|JP8$O+2|y5qB&UqeuPJ#mE#H6}FW9&{p{4BQ z*r5JoY;AZbJA-t=0Mqy~2O-eaS+yn-|L80~k?~`lhMXpfqZ-EwbW;!X7yo9Tc7u2P z>|qyDT~>UL3_)xVDLP=!dIkqrqIc=baZQ~AqJIeFF#)s;7n&S5HW#feYx~+l-PV%a zYnSs8){1Dhm*wh!rHFbvoHiRn*Os zR~gu3I4|7}v?q0V`i&cDsHi@3I(N9=QT_t6ha-st3BbS&UyuO+00om7CrSpuA^-pY E0K3@LH2?qr delta 662 zcmV;H0%`rCP3cas`ydXnDKT(Y0ssIa1ONaf0Fw|VA%9XuLr+pfg_6s1n=lxK_nqmR z07W*}MHj??ZDKCwYO~Q`Tigr=BLN{#-(=xV8ro)~8O><0bX?K~}!AMEs_iy!| z#P{n5+JA<%tbKZGvxSl^l1%lB$`Vb|>b7VNqDDB{AW|uxjF_VYAT5O%utVpfMfd{~ zO+|Pbgh>xkx!73%lMz1F;Cwnh}Mm$}#L0mc3U`+t7IPcc|{i|v8-^i|V)yMq^+_SsJ$ z8=?&~Lnl`b>7_f+KH@PYu)MVRAA6n%$k$d852d|lg;iV?!}-uvK*;3@Z**zMcedpo z(0R89M+(TS%zehw90M4ZxfGbt#Vu`qsG7HOw~oKHEvCcdA=<(rUhNDwy!LOC_@kR9 znSTHRph$~q({S|EYu<%N(&E2`ov55e7tt@i8U19{ za8ZaH?bQ$6D_n9X(^eGOH89_anT0ehtk8fehP?c)ELHlud+6nzlfPV^iov1rza5z{M6|9>$3= z4-pIvgKdH_2oWR#_}A~wWV{`ft6Q9z?-b{DIb}ujnq^g6u`J`enWNWSgl~Uj#W4Nu zrf&5xUuDR_@e1xX#o!k~jiI~mc5!M;*Kn{R4!m@~&hL3vp)5bw&m(hFJd6AkJ*`Ol zeyN8qD%+<5PfO{1OGOudk~ z!EH`O)C*>raBE3g()T9P3=L@y_AcnDCLBjEXyVDX#$$`>`=o;NXu&l0MWDVDiOJ67 zojE}P>XI9nn?qo5+)^HIP4nYX+PefmfA8dekL|H?wiZn=z@j+FDSk_KY$z>TMB7Oo zrIK5VOC&B>e#u$R-zaGxG|5F!pOkyk4o-~ju4ZfO^GGh&QPK8|MG8azjv|O>R0 zEZK~7SyTM{dsjC7pCAk)9I7W0CUQw8GFMRWl~Hz$B&S8sK2kjjODMn|pE>2_vzZIm Z0tpZ>mc)Jm002Idc@9Db0Sf>C006jR$Z-Gw delta 585 zcmV-P0=E6A9Kjv1RtX6Nu97Yn0ssJ2lV1rWe|6GHZ|Xn{0N{J2{*yo_I~?92kQHdi zN&=TCD}+p#kWAKJ-%1rN(i10N?9Z0%Dr|5HKY}2?nA)(p1Y#9{uL(t&N3LN7K!PJ ze_`+0R5>tf=ul;RQSw^txrSiK1^FvAIE;%YC@OZ$m|3!3_6HzF*%cdZR?+m@-uB~m z8G;$@i-LOvg+MHL`pFq#`s8#6doz(k=>#ZK$}plS^Se3p@85-T;E#Zp;lNfk?s|ge z*uR0gv~F^Ad!jZ=u(piw(t$%5OZsf`f4Od;VH;)=H@51r*3A7T3tHQZiN77qz?__e zd6GAHmfte;Axiez(hNu2>+`z74}FiEG9P(#R#rVQouvnjt)?{YMu0<22D)_}Pn1)W z()ma%>DTpvb*{bBbwLfVh|0lV?(3u|+gyw84l8f074_ zm#`(R_m)TyFB3dfl6H@_wT=L5MEbqI`MIXb&9MX}MYYVSgGqI#z znq`W^B*fwT+MwIRMj-`?h@arC)jVg?1x3IIA0?Nb7e1kkQgL;6UA7!?K`j4H`X7!_ z6~MIneqcQO-odur(q2T!J~C%C8lW*}Nt5pxT|9TiLI#=(00000ML-=8 diff --git a/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py2-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py2-none-any.whl index 7dd96ebd5ce3ce7e4d0dfbda8b01cd4ac8892ab2..4774f141175bd6b9ed01704ebc4b46c8ae984208 100644 GIT binary patch delta 370 zcmV-&0ge8c8SNOb@CXgJEHn%^0RR9G0ssIVk$xI~Qbj{gQbeWDJ9C0S00iLP-vY>6 zDN-n$0`dqPgh+D(1OWj#1DxQmPmysZ4OQx$`F3`3GZw|XMyR?~140a*slH5jNq!SI z8u0LStM6e#qrhk*S~Asq^m4y$CCA2Q6d#2Wj)#z9SNPY-lBUVO`+qVt%g7ANd{zBG zSGP-lx3&xwI1n(yG`w8)q6%Qee3eowKh&Pw?3ZTXpEt@F*+%u^AFSGp#~Io6!iI(3vFO45?+1J(64 zidxDe9RTZ9s!ZX{HQ=a{Z#Z8@<=7nJK&<#bAV$1v)epHb@CXi=H%Y`|0RR9U0ssIV0F$8$8GlkmLr+pfb?hx3hE#1)yao`W8c_&&@&e8IASvok zaGC6uOS(amWlJ#8M{ao&V7flmcHn89*{rI|hIXwYje(>JqR{V=KP)>`ReoFWewuRGNW_k;=TTN$itA(3uZm$GEs+6@H7G^ZrvGUpMSEvD^C`w;#&x*(9I3B-Y z=X_0;DG7|1zJ7$B+NH$Ap>uWebZ8APT*>TxVt@LnyTCvmD#}+lw2UA$0r(o&&MnJ* z*Xqx89oSK8uzU16wfd}@Ch-tSaRQ~lEg!Cb%S>itx$}VjeGSC~RyoV7&##_~$Oz8| z#4+8=O6IlOo8O6QCepOI21S9r=n)qg+0QL7>i2#DP)h*<6ay3h000O8nTC%{00000 e0<&ofvjGX1H%Y`|0RR9UlO+s727d|w0002T55mp> diff --git a/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py3-none-any.whl index 68b635e679d9339a6115fcf2800fc3f4ae134f4b..43c0716994b9e18d8661e7b1d0b4d1a7d458f358 100644 GIT binary patch delta 475 zcmV<10VMu{C)g&i&JGRgya;KY0RRBY0ssIVlfeTTe^Nz5Pf|ps(Myk_Koo}IegBq% zt^!e9%mTUF0&){^LujM{iY5t*AApo8 zCoKOgR*LH4i)d{8lt}`!i5Ouk=cAi@*G8}{yp2veU;3jK0{DjiJ6T%S`9OZjFpyoc zkUdv~e==43)x9gKFMH-bFdds62z}WbC#{1=>pV^M2B9}Pk+s9jxYAI0*({V9KSPV)%I1E-oI)1W$@E_OtQYEdN7LKp~+1bLar7<-YXP;bDXYs61x=v z2qA8cw$wmUq(FMPRN1@wC$=Up?)-jxxQDJ|e+GVBoQ^lQG(~?qD8w?467B%M5Z80A zr^=3}05Ert3{~B|o{GC>Ax!Hci@jzAm7&n|L%xVeNJFba2@FVw%6_j~7YVFqr!+ZD z&nZpW3+dYLyi!#mjhy*WXu9aa750^!@Iz0TJ}RHk&U9{wZZg%T4j>-RCZHWo>U_%U zC!Z1SAOEtKX~j%yE4xnC81?oOEi*(vN#hhnXZg3F$Z%|^VD0txE82x*=H R007IAIuk+$nGgT~004<7-5dY_ delta 517 zcmV+g0{Z>fCW0rh&JGQ58NtoS0RRBo0ssIVlfeTTe^Nz5Pf|p6(aCP3Koo`HeWbhz zkOIuK=mj=|ahOMw4Z@gUY@mQDu+7tVOD#v)u)q4Qj{d%xs_OZXWp!8METj4-fi5}2 z@qe7__UO7euD9;g!(I~1+W@jtbnXnt5*Gz|%{9i$#4$3#@PG#IZ~cF)$eX4d(J!kq ztFKcgf6jbzFv8x3+r+*>sA)(zu$@ij#%`>$j5cjiBzS@Qp-4dS6rj#E!erfj!w*Fb zcD~_;hGSDB!Y_a81))ebd;f zcA!%D@neJUJv&QNRtz21!%6hxwlq8dn1+j3f4@?K?Qy<6Q0mo)plO;}wJkN26*-h& zFjiboKlRq^r!W`}@gwpaBMj2&>v;Drh8P@11zE;X?jgZ$L}?ZF)t%!j1hIOM>{Zo# zy%o)N!_87vq<$*^WvnzkE;k8^aAehV20{es%i!wPRVJkMHEoIWbB=TBieUG$H*#Im zQ5rh46W7Az%2f6Zef3X0Cx_&+0K3qcF}d%sHba7D!FmS_`>ZMFviV)&@%bNV+mjFzLI%SS H00000FWmw7 diff --git a/tests/repositories/fixtures/pypi.org/stubbed/py-1.5.3-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/py-1.5.3-py2.py3-none-any.whl index 1231a39708efa0db98be977a36bea2fc2b1378d2..8558ff3a650c36b98c1d61c1247586eba975bebf 100644 GIT binary patch delta 707 zcmV;!0zCchOo>CF6b}35`8b0D008O>000>PlVBwke^Nz5Pf|p!)=P7$Fcb&yeLo9W z6nri2LJ{!^3RGJ+OiY4A9-&Eq+E0JAy>{+Q-Gv2AW*C0_a}H-F#pO8+Nlru-><_jc`{ndS(VmK%kzoNy9#JXf zSdvtbe_YDIj8P^faDk-W|H#r4mfD2CTu4QL6yatX`z-;^F%yL5Ij)=JXew9gZ?3p> z1OpHs0Zin%pK$Wj?Iy2qS~4i-5ZcV&aCIOkM9HM%a1ddJ3%NnYFvg`Ie`y00%`(X$`*KnWK?8Akm6xm;r-pJ2 zqY!i6P}lxpFhlqQHxn$PEWs!$^Jch&r0H!fg;h95lwovj0!+XOH&njgEGS5k$j#($ z^qLgXJR&l#+HQ4QdJ7RQ)Z0nyd1CpdH{S$v*J&{>?k+r8Be=<@mA*Z0)ssKTiK(0xY?7#Fx;Xj(3G~W8IS1I+_W6uYKe~@c3FW@-R)~hSemEW*=uMM*<66} zX+0>3&T*WR*|N~z?Kh>Z_1cfvwH1seqhNG5y}0+f=m0P@OnX6AtFdaAL$=j`yI|}3-gKU)m?@3tEIJu5kK)#aSH>!ZHbf&EfeH+sSwbx$UkIRLux|4tBP) p{&;CyPNf=({`42KksFW-3j5~yID-NJ0O|{qD<(Y#tQG(O002QERp$Tz delta 1972 zcmV;l2TS;gL+(tV6b{g{d2MJ10040e000>PlaU`4e^Nz5Pf|p6*2#{mSP}rxeM|i( zki|SKdI1Jw=D}cWHV8AD(aiAmMOMCiMX9qaVIdiggSZiKY1cn|Kd+;UxFnkM7KHv`5Mc_d;Y5vusvsGI5r)c88|7ky+DjtHoPMU)R zGKLdse?v9O>GN@>q+~1k)lt->CCHKEYU?cLBVAVu2LU+#bxn6ra5^W)N6?t%euueQK{1Wu zC4=Zh78w1s-)CXg6P9nG2p}{}ekuJB9Sjj$f8Sb58#jwmX6RZjv*MU^u1@@IB3+uf zvJ@FJH=c7=h z6iQ%!F+ zxbx~2E)obOjmYEO6{Q$=ikv z)Lt(T3fXad&#y5BP?*FH+~?OZfri82`_ewuO4u`pLEo#9 zH$T-%)ivj$1gETngsjmW6y+@HGL_4##Uq05MOV|Qxwp}8DGb_S?2b_xL48sh zqkboK!EY(ThrGTN_Ua>owv6@De|zFY&rhRbI(v-}*xyn0K@xXydu;B>*z`AkZ-mDd z*$EDAHR>bzlbA6vG7QAA=D04nLe;4rKrjmZZ4Gf(<#kZbUA~_ln^f$s(e3IR263xC zM~`qyB69#iPhf&OQ*C!_u=tuC&wB}@81<_y$|n6OYly(ZK|@w!gp;65f86eAB@Uj{ ztDMAII0W5aqz^Wu|9W7+cU^o^`*Bc$&ZNr8b3~(@xrRuRlqj`{F`p;!!!xWI|2ZmH|-YV1+@L#p95d z2kd1+bAbuXyYrtSPt8KqfhRjxIU;JqGKi1oxqBBT2b9TqV>q=SddE`az(CVTkN$@AjAPHn=m-WrBcpCf1(I=9Z6wgqx_+u z(p`_80lO_^Z#ZYns1y?cDQjJt`CqsZx+k7`+m{B_YJ5d%kyR54HgICCuD&^MRQF4 z!UGseA>UTlgmK^hf3%)4sh9@WkS3^D^z9W|`H)RE<~02ldlaPcu``AA3%h^~@ZFi; zTv$c%5+CDx+Cy!v(L*e| z^^x>!;nGq?i+gY$z94(wEexw_!-~M#HMrf9+&a-AZr6eXf1t$oeEcShyevP@kA;%F z{MlzHHTOMMifFl6eXXukt$Z_5l281>~%aUC^X9PP^z7C{>Sm`jZ0 zc(Z*`7xo%}zAaWRh)bt`ZqUd^R_tlFRRs)|DN8|=1s*2 zj$_ok(-ytkf7Z$M!LJjkFASPNNY~_TSHpzDBqm&desb4K}NVFyAVzSc}A z*jv~Ox*CPxzF%&Lc_CR@;I#?FfPGN^2~bM`v#%D73JTD(d2MJ10040elSUyu29X;8 G0000>-oQlw diff --git a/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.0-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.0-py2.py3-none-any.whl index 2b43c100100ac8d5bca04ecb26cd412adffd24a7..dcc99d60bd9cd89608911f38e8799318107abb53 100644 GIT binary patch delta 856 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 WcC;4?003+elZ7xr2E`}<0001*3M(Z5 diff --git a/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.1-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.1-py2.py3-none-any.whl index 4e2a1b6e1bd0b073024c95b78f0fc301417b636c..c03ddca70c3dc59c6b62972a1ca625e85598e5e6 100644 GIT binary patch delta 743 zcmV4G0zZDKJSHNGW0ssKl4*&oi0F%)zAAhZuO>?R+6o&WxEnr2(k3|(r##wRw@j#mIKTx0kuyfQ`n+ODn5O-UDLo1XSQ&K4D;1p6L>ZJ&J@u3#qOO3HW=ANi z^M+$(Rz^b&rIb;j?hu;GN+TL(!;p}$(-8E1(0`!WYKS$s|BeX|Bg&}CYTt;fPpJ}7 zp2+HWsFU(6(-5@)nKPOtr5+MXka|esNEp+hkE#|^k|A}U$&`geJ?yJqwfxkswO9qD ze)a=g2~A@Uc*n7_AvwaZL-?qPdA(>t37T`P4nsl!msO9dFTP(Shi^_a^wGaWSqbCX znSW_S=8~u%trYR2z65VHC{U8?Sn7?IK!mWm9&apB?E+S7NAEbZS+i?aEhN<~$@cX5 zZ8CJ{o?DY=`NO49EJi38OKg6fyF2*s>f24|1z%x4L&4kG^ae%kI*yM z?>l|J|HIw%R(xF?$TsxLh=0j}#3Z~h@P9_-X1yE_^;{J6xRX)+ySOp=(&y!jH<9SnxCl9_ql>-oE&GOLKm7-jF(e$bydU`u Z3NTl|U#J2A0M`$bzb!!qlo$X2002ZwWk&!2 delta 2564 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 a4GNR?Kp3IYZFTh$y440MvcW0Fdxi zpcS0y#vjeJod}<-^)i7XNZl?M_00;65sI5m4}84IckgPIjBlABzmWgZ84+3!Jr}I* z86rJw!N`B=mi``uCB%1;hlFbm$jGYSD+MBqL!x5nFl0QOp{WsvhR{?X%ihD#Z8W{^V5*`+x6C%ze#ga6stSJ-g z{xH1SPO^&K&(sYAiBR_7t-1GYjy3$=^$^tK@@(eqR2?<;%PM7u?&DT+@8#Zav$ zJ{vG-(HXT8oBn;v!B4i``moo@{yiLw=`4nTWnacg%&+xCsUs%+rLf~Eh=lpeU$bF6+)T!;CEWGL`gfmS8Wdp$1N2a zA}n-oj)m07pKaF>p?hPuc`|!B=>~#Mq)C6a-m8lu`=nV?wmWGume6xBq;+TlI~X-9 zHkzb*RLd7}pH{jFgtR@Nyee=IPNDmS$lf{kP02S-ZVsq)wI%a$qu}xyPr6FmU?7U= zIN$9n%xM>MX-o&Asr^P&O`LpeeMwS!?OKbV+9ylkQ~ai90sm56Wi`AL!WEIM&DDR3 z4>y@V)a72&hNO%c`kCFc&hEogz3NKXN#3(qo?;w2goNnkq+ zBmn#|d!Hk_Htm~CcBQ)_j_xX+i3x|xQ+b^={MgDzSlJ3sI;apvlf-^xU zo($M<9v!+=dqM^oFdy;8hYq;A;M9K*(#Rg~PxL0)lB7ovj$`)JB2y`b)^f+k1Aa7Iy#_WG*E!6$a7bWJ2uIL;;6LvV(8a=Xm0Nu*(qbP8PL$nBUMpWDo|!e~eKBZ?+*vU8g)(2nSDb?Z&g-=KOAxJtdD88ZcKv_q!SG#! zVU;^QV!RQNcz!0(+U=}riTTm-iTX8f{G0*2w*>2iKm?1R^iMTZ(dGos=Du5G5;)eOCBxd^AWq{|8?AQVM@a;s!`U-TjPdV!|?_UoE^ zqVT30xN}oxAVkw5o%;iAWsscN~E zoQ7l{9<_#ACRphE0RR9I0ssITkwF-LQbj{gQbcvo%W{G+0EOYb&yr9g zD!S+bAzZAW5Ha9}i5LaBr3P<(`mXHCuFuSOW`0>d6!8SIV8ij`bEI216z8csCk$pA zuc2_fF!?p)QPqqCUo7a((F$_4W1tRX`G814NKutTDSKG9$L_b66DM?KB)UM&hTFcLS^)q65tF+MKnCLp00000nLWna delta 437 zcmV;m0ZRV+7l9bCUI-1tKuUFB0RR9T0ssITkwF-f-wOtRb?0(E80_) z#v0*WVt1G*M}_*oq_*awIr)JhsZiJT#|Oc$0Lci+P%gNb0Pm~e$-4gy3dLck$7%jH7X9;krL1 z%t}3V?oBXu(MNN^W@?j+0dV`7bDxe;;gtjp5?VuTfeo;^4=hPqm}7$R?tVEa7jR%8 za6S6kMFq{Zw`lzy2O0kIf^+P(SBs9V)^_SjLI^H@kX<>kf=x{R5JP{bS*}*AN^{4M zg#8JHpA9j8#7?uF*mYpN#b?+wp;CsSD``+&pr>KX+Hx*idAk1h&-gpZc#0>S^p@VI z&LJIBJDM+1yb*Yhob-Gt-$H|NA*~)C{s2%*0Rj{Q6aWAK2msKPF-rgd0006200000 f000KE3akMM!$3-PU;zLC9Fw&RKnCdv00000ubaW< diff --git a/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.2-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.2-py2.py3-none-any.whl index 5fc6a4e616500d7199c34113441134d0bb3ac7b1..1ed137f404f9405ff51a0a59209d10261ee6e194 100644 GIT binary patch delta 381 zcmV-@0fPSAIlDHncNGag<~vYF0RRAvlYkW^f34C>Z-PJ+hT(mG3n+qEy6D2fC|K$R zs8lv&GM&m%<{}Je{q;?oxO6pLo!yi3CZ7_lK7tySC2&w>IgsB*TVdOsJdYm(w2=od zd`YocW)aIxcj41+Lz5$Omv3^B7jvgdyV<*8J*XQ*1d~|lJDq~M)n>2+ZG#A|FmT#v ze@pa2s8k@hei$gq^c9Jl_8+=h(KUo>GrzYa71n>~Px=(3W0dP}@lX4LTD#D+2JXNf zd_t>C;9p`GM?PAn=!SYdvv#q(a9jXZ7Rxf~dptju&Z#M!UWur^`bh{Y)fyvfV&8T1 z5TW>{LVPic_(ai4bZt7{?Y5N~bxBN~Nm5|%J@i|?KhJv`*2wU@yXG6prol9u-dIwQ zu)02lkuzD=-6QEw<9y45buJr^ubuN@1|P5XqB-v)!yAv>yKsX1RT3D+!w-|r7#y>y b7~um6Kju47M*#o;jgylcLk8>?00000aV)aR delta 801 zcmV++1K#|*HrzR|cNGb3HLQN<0ssK9lYkW^e|6HglA}Nrh2eak1!jT91{>gwki$wO z6f_802qT=3o_=?O(J;Y8H~Z@RRd;ObTZP8oaf})?#_>n@#D+4V81@fYATw~NOfySG zkIPPE40Hv&cT`pK$V5YD5B_n;eAgi`hNgavpA>BCE*V#nrV85bIhpn`@O2S*b#0L} ze_fq3l$yuoL7r8^&x*UHDKy3aKz>ovh;GA5>Os6wXtohfy`}oz>*c3W((?pcog-bJbKz>b#d`c)9j{2Zmmi?g!6fLJBm=PEt zSnkchwiy%Dmxx4OsZ*;WGv7#^^1YG|h(<}2zNqCvmrgy&5j9#!TtSrlm? zK{gGa%LkMmjxa+Np4$V)Fbw^c{@)mu$$D30NiWH}llL6g4=y?>d*>V_ zlTmsEVcbWQ{f*E!2+Jli6x(CH@BF1oU3nxC9 z59%XB!-%8i(*CwhS>3tnC(F+@akjgqNg|YtMD2OG%r{{bgL@x=d2G$$Z6!Mf+Kb{)@S3jSFawI3mhJuS~e@1iA6c2r-&_Ts`{zr4GdZHqF z;wK9uXp}F(Faf)}O&px>bQmgdJ7hI|_#V`U{h> f862|+7vTd5Z8fZZ=mG!$v6J!|Lk5i)00000D9U-A diff --git a/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.3-py2.py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.3-py2.py3-none-any.whl index 0069680397fc66f241d12a35ad9941a27408cbe8..e94ab75abf0200e2b07bc1947e1e1b262902f1dc 100644 GIT binary patch delta 374 zcmV-+0g3+LIk`5lcNGc8%nBw&0RRAvlYkW^f34C_Z-Ouw$MO4K3n&U`FFPP~LjxKC zgX2OPsG~^#NQ*jO{W24dp1RX>`{em1KgDTxCTd!igb`Ji6Y*on2F=~YyR!`7UbG-w zrN}I^HO)xG zf8l$Dg(95khY^LTz9LXB|Dj9rp|7wu^LNXtLHZ9prJ7d*#Y}&TPwhlH?LyOY0Rv}{H2?R z5JsaK#s_DXclpB%(06;h?)VY3rJKQYMxMgHUS8mQ+jM3VN^St~(u`r|1zzTjtY>aE z$cyaQi9p=W$Vzsgs@W}A$6H>nnrm|NE=#{a``7@^%zX(b(BCD2VZ8mbkQn|03CGL| UCPe`N0F9HE976``761SM0J|5q*Z=?k delta 819 zcmV-31I+xnHsCq1cNGcV)v!|R0ssK9lYkW^e|6GHlcGu#1>k-E7N`c2anTEgq!0xM zCS^k;gPO`bN%8C3wGs#K+U$MrQwDBP zf0#7O-cKoxSNrKfpP=ETm&VjJmf!%O-_+3Kyjw^uh}Ig*m(sB{q36!C7k>saI^YN} zrGf@(JBW{UG=jNr+kOKf|A9U(sUBHemzaw-No1Rj0uyJ zA^^n;FD9wV9^o=;7uaRI3hT~qR`qT~e_7etvK>M06z1|!u(?_LCA2UV4l1>pI1hL&C$?z3VE zW$}8y4GQOG!YmXk51~hNV12g#gsIwi&h{A6IE0L>Sp*|-;yYK3+U`e1)rmY0e`SZk z6=9Q%oG^f^Lf&X4+Vw_Sc1Psgn+ShZ_l^LZ2>2J(RYRL(3rZ4A?4PkyL#mK~pj+pt z)!Vg#DSIsq>={LZ>22qkK0KbQqTbSfH%hK(nJYAvS#cY>$;i*0gOA$waEkVQ60cW- z%HBwWzg(XE;vlC8nwO-XSXw1Rf032Tr7Dcf)RNkYfmHQ6o8*vRPx)t>OsZO%n>?hf zi)Sb}+pY+j0zbVo&X-NmU3h$zWScU!5S3?n@^vG&Q#cR)i0kCmf}WM?2g3<6!3i&m zq&~P0@R8!KCvkbMes5MPv>o`(ieo{YHuY4Z5Tl+dTsKq2GPp;eX+tpff7Pm+)q{bz zefNyWGyil01H#R>YFHji2YE1)8oJz$ONi`|IUjmAosi%D8Ow3TI7sd60;54m}+8tpAYWNGf7@BymZgGLa) x{sK@-0Rj{Q6aWAK00000lf4-Zvj!L80}0;Muu|*-006O*@ESt~kr)5~00404j>P}~ diff --git a/tests/repositories/fixtures/pypi.org/stubbed/zipp-3.5.0-py3-none-any.whl b/tests/repositories/fixtures/pypi.org/stubbed/zipp-3.5.0-py3-none-any.whl index 6f2d54ded33c502e05e3d54a377939993980e995..69bc86f48c8b3939ddca4567c4d8b2b263914ad5 100644 GIT binary patch delta 400 zcmV;B0dM|{7wHzTvk#s3ke}46b?N^2#bQs zqE5LmE?7~jkxlT|*NZ*bOK0BsdvD&o5CV!pst;>SwGZ-c@lYIfcNDKdmU!PQK*wg@ zhIw@Qrqe)-SE-{O;?`bB=q)Jftvuzc81CeA-Z!#eY^rrN$QWS-APN)$6b+z9Fx-d> ze;@=I6n2^LZ=bNLoB!3`ADe*+DMWBr)D0-k`-|**CZERqDdM|sMwLs)L|-24HqGjY zwEn`;)YQw<>EM&T9WN#}=)NQc(Ld0DC(L3Ad#cWIvJ0w75^fb@#7#eB%fot`XQwa< zO-pko=}5bs31~2qu&NlZ)s@S+|0HMET z%Gl_cWZ>6ea}imYcXb8skL>#4(+o72Ocf7?aT^&osHj4m-X9p}w!@*TWMt8PvC#bbJ(?;Q zZv+i7{Epg6Anl|;`lwoHUhK{c+>}P5e?QDi9OmaVi%ZvYjO z)swC$)`xUjuT)|7hc&(L?PsUnt0XX5$TMT3H!26OhAVNEFU}GnGT*`B*~C>gW)(Ti z|6eU9AvkKx;UG23O>wsEtA?t}(mEbrf^?s+ySZv7DO{!W{lItFQ)I{65ya*nlWqwd dvsDSj0SUaFn8tkp001nLBMU$VTnPXG005C2$anw%