REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 38.07 KB
Close
/opt/hc_python/lib64/python3.12/site-packages/packaging/__pycache__/specifiers.cpython-312.pyc
Text
Base64
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ICAgIEl0IGlzIGdlbmVyYWxseSBub3QgcmVxdWlyZWQgdG8gaW5zdGFudGlhdGUgdGhpcyBtYW51YWxseS4gWW91IHNob3VsZCBpbnN0ZWFkCiAgICAgICAgcHJlZmVyIHRvIHdvcmsgd2l0aCA6Y2xhc3M6YFNwZWNpZmllclNldGAgaW5zdGVhZCwgd2hpY2ggY2FuIHBhcnNlCiAgICAgICAgY29tbWEtc2VwYXJhdGVkIHZlcnNpb24gc3BlY2lmaWVycyAod2hpY2ggaXMgd2hhdCBwYWNrYWdlIG1ldGFkYXRhIGNvbnRhaW5zKS4KICAgIHo4CiAgICAgICAgKD9QPG9wZXJhdG9yPih+PXw9PXwhPXw8PXw+PXw8fD58PT09KSkKICAgICAgICBhyA8AAAogICAgICAgICg/UDx2ZXJzaW9uPgogICAgICAgICAgICAoPzoKICAgICAgICAgICAgICAgICMgVGhlIGlkZW50aXR5IG9wZXJhdG9ycyBhbGxvdyBmb3IgYW4gZXNjYXBlIGhhdGNoIHRoYXQgd2lsbAogICAgICAgICAgICAgICAgIyBkbyBhbiBleGFjdCBzdHJpbmcgbWF0Y2ggb2YgdGhlIHZlcnNpb24geW91IHdpc2ggdG8gaW5zdGFsbC4KICAgICAgICAgICAgICAgICMgVGhpcyB3aWxsIG5vdCBiZSBwYXJzZWQgYnkgUEVQIDQ0MCBhbmQgd2UgY2Fubm90IGRldGVybWluZQogICAgICAgICAgICAgICAgIyBhbnkgc2VtYW50aWMgbWVhbmluZyBmcm9tIGl0LiBUaGlzIG9wZXJhdG9yIGlzIGRpc2NvdXJhZ2VkCiAgICAgICAgICAgICAgICAjIGJ1dCBpbmNsdWRlZCBlbnRpcmVseSBhcyBhbiBlc2NhcGUgaGF0Y2guCiAgICAgICAgICAgICAgICAoPzw9PT09KSAgIyBPbmx5IG1hdGNoIGZvciB0aGUgaWRlbnRpdHkgb3BlcmF0b3IKICAgICAgICAgICAgICAgIFxzKgogICAgICAgICAgICAgICAgW15cczspXSogICMgVGhlIGFyYml0cmFyeSB2ZXJzaW9uIGNhbiBiZSBqdXN0IGFib3V0IGFueXRoaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICMgd2UgbWF0Y2ggZXZlcnl0aGluZyBleGNlcHQgZm9yIHdoaXRlc3BhY2UsIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNlbWktY29sb24gZm9yIG1hcmtlciBzdXBwb3J0LCBhbmQgYSBjbG9zaW5nIHBhcmVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzaW5jZSB2ZXJzaW9ucyBjYW4gYmUgZW5jbG9zZWQgaW4gdGhlbS4KICAgICAgICAgICAgKQogICAgICAgICAgICB8CiAgICAgICAgICAgICg/OgogICAgICAgICAgICAgICAgIyBUaGUgKG5vbillcXVhbGl0eSBvcGVyYXRvcnMgYWxsb3cgZm9yIHdpbGQgY2FyZCBhbmQgbG9jYWwKICAgICAgICAgICAgICAgICMgdmVyc2lvbnMgdG8gYmUgc3BlY2lmaWVkIHNvIHdlIGhhdmUgdG8gZGVmaW5lIHRoZXNlIHR3bwogICAgICAgICAgICAgICAgIyBvcGVyYXRvcnMgc2VwYXJhdGVseSB0byBlbmFibGUgdGhhdC4KICAgICAgICAgICAgICAgICg/PD09PXwhPSkgICAgICAgICAgICAjIE9ubHkgbWF0Y2ggZm9yIGVxdWFscyBhbmQgbm90IGVxdWFscwoKICAgICAgICAgICAgICAgIFxzKgogICAgICAgICAgICAgICAgdj8KICAgICAgICAgICAgICAgICg/OlswLTldKyEpPyAgICAgICAgICAjIGVwb2NoCiAgICAgICAgICAgICAgICBbMC05XSsoPzpcLlswLTldKykqICAgIyByZWxlYXNlCgogICAgICAgICAgICAgICAgIyBZb3UgY2Fubm90IHVzZSBhIHdpbGQgY2FyZCBhbmQgYSBwcmUtcmVsZWFzZSwgcG9zdC1yZWxlYXNlLCBhIGRldiBvcgogICAgICAgICAgICAgICAgIyBsb2NhbCB2ZXJzaW9uIHRvZ2V0aGVyIHNvIGdyb3VwIHRoZW0gd2l0aCBhIHwgYW5kIG1ha2UgdGhlbSBvcHRpb25hbC4KICAgICAgICAgICAgICAgICg/OgogICAgICAgICAgICAgICAgICAgIFwuXCogICMgV2lsZCBjYXJkIHN5bnRheCBvZiAuKgogICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgICAgICAoPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwcmUgcmVsZWFzZQogICAgICAgICAgICAgICAgICAgICAgICBbLV9cLl0/CiAgICAgICAgICAgICAgICAgICAgICAgIChhbHBoYXxiZXRhfHByZXZpZXd8cHJlfGF8YnxjfHJjKQogICAgICAgICAgICAgICAgICAgICAgICBbLV9cLl0/CiAgICAgICAgICAgICAgICAgICAgICAgIFswLTldKgogICAgICAgICAgICAgICAgICAgICk/CiAgICAgICAgICAgICAgICAgICAgKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcG9zdCByZWxlYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICg/Oi1bMC05XSspfCg/OlstX1wuXT8ocG9zdHxyZXZ8cilbLV9cLl0/WzAtOV0qKQogICAgICAgICAgICAgICAgICAgICk/CiAgICAgICAgICAgICAgICAgICAgKD86Wy1fXC5dP2RldlstX1wuXT9bMC05XSopPyAgICAgICAgICMgZGV2IHJlbGVhc2UKICAgICAgICAgICAgICAgICAgICAoPzpcK1thLXowLTldKyg/OlstX1wuXVthLXowLTldKykqKT8gIyBsb2NhbAogICAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgKQogICAgICAgICAgICB8CiAgICAgICAgICAgICg/OgogICAgICAgICAgICAgICAgIyBUaGUgY29tcGF0aWJsZSBvcGVyYXRvciByZXF1aXJlcyBhdCBsZWFzdCB0d28gZGlnaXRzIGluIHRoZQogICAgICAgICAgICAgICAgIyByZWxlYXNlIHNlZ21lbnQuCiAgICAgICAgICAgICAgICAoPzw9fj0pICAgICAgICAgICAgICAgIyBPbmx5IG1hdGNoIGZvciB0aGUgY29tcGF0aWJsZSBvcGVyYXRvcgoKICAgICAgICAgICAgICAgIFxzKgogICAgICAgICAgICAgICAgdj8KICAgICAgICAgICAgICAgICg/OlswLTldKyEpPyAgICAgICAgICAjIGVwb2NoCiAgICAgICAgICAgICAgICBbMC05XSsoPzpcLlswLTldKykrICAgIyByZWxlYXNlICAoV2UgaGF2ZSBhICsgaW5zdGVhZCBvZiBhICopCiAgICAgICAgICAgICAgICAoPzogICAgICAgICAgICAgICAgICAgIyBwcmUgcmVsZWFzZQogICAgICAgICAgICAgICAgICAgIFstX1wuXT8KICAgICAgICAgICAgICAgICAgICAoYWxwaGF8YmV0YXxwcmV2aWV3fHByZXxhfGJ8Y3xyYykKICAgICAgICAgICAgICAgICAgICBbLV9cLl0/CiAgICAgICAgICAgICAgICAgICAgWzAtOV0qCiAgICAgICAgICAgICAgICApPwogICAgICAgICAgICAgICAgKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHBvc3QgcmVsZWFzZQogICAgICAgICAgICAgICAgICAgICg/Oi1bMC05XSspfCg/OlstX1wuXT8ocG9zdHxyZXZ8cilbLV9cLl0/WzAtOV0qKQogICAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgICAgICg/OlstX1wuXT9kZXZbLV9cLl0/WzAtOV0qKT8gICAgICAgICAgIyBkZXYgcmVsZWFzZQogICAgICAgICAgICApCiAgICAgICAgICAgIHwKICAgICAgICAgICAgKD86CiAgICAgICAgICAgICAgICAjIEFsbCBvdGhlciBvcGVyYXRvcnMgb25seSBhbGxvdyBhIHN1YiBzZXQgb2Ygd2hhdCB0aGUKICAgICAgICAgICAgICAgICMgKG5vbillcXVhbGl0eSBvcGVyYXRvcnMgZG8uIFNwZWNpZmljYWxseSB0aGV5IGRvIG5vdCBhbGxvdwogICAgICAgICAgICAgICAgIyBsb2NhbCB2ZXJzaW9ucyB0byBiZSBzcGVjaWZpZWQgbm9yIGRvIHRoZXkgYWxsb3cgdGhlIHByZWZpeAogICAgICAgICAgICAgICAgIyBtYXRjaGluZyB3aWxkIGNhcmRzLgogICAgICAgICAgICAgICAgKD88IT09fCE9fH49KSAgICAgICAgICMgV2UgaGF2ZSBzcGVjaWFsIGNhc2VzIGZvciB0aGVzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb3BlcmF0b3JzIHNvIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGRvbid0IG1hdGNoIGhlcmUuCgogICAgICAgICAgICAgICAgXHMqCiAgICAgICAgICAgICAgICB2PwogICAgICAgICAgICAgICAgKD86WzAtOV0rISk/ICAgICAgICAgICMgZXBvY2gKICAgICAgICAgICAgICAgIFswLTldKyg/OlwuWzAtOV0rKSogICAjIHJlbGVhc2UKICAgICAgICAgICAgICAgICg/OiAgICAgICAgICAgICAgICAgICAjIHByZSByZWxlYXNlCiAgICAgICAgICAgICAgICAgICAgWy1fXC5dPwogICAgICAgICAgICAgICAgICAgIChhbHBoYXxiZXRhfHByZXZpZXd8cHJlfGF8YnxjfHJjKQogICAgICAgICAgICAgICAgICAgIFstX1wuXT8KICAgICAgICAgICAgICAgICAgICBbMC05XSoKICAgICAgICAgICAgICAgICk/CiAgICAgICAgICAgICAgICAoPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcG9zdCByZWxlYXNlCiAgICAgICAgICAgICAgICAgICAgKD86LVswLTldKyl8KD86Wy1fXC5dPyhwb3N0fHJldnxyKVstX1wuXT9bMC05XSopCiAgICAgICAgICAgICAgICApPwogICAgICAgICAgICAgICAgKD86Wy1fXC5dP2RldlstX1wuXT9bMC05XSopPyAgICAgICAgICAjIGRldiByZWxlYXNlCiAgICAgICAgICAgICkKICAgICAgICApCiAgICAgICAgegReXHMqegRccyok2gpjb21wYXRpYmxl2gVlcXVhbNoJbm90X2VxdWFs2g9sZXNzX3RoYW5fZXF1YWzaEmdyZWF0ZXJfdGhhbl9lcXVhbNoJbGVzc190aGFu2gxncmVhdGVyX3RoYW7aCWFyYml0cmFyeSkI+gJ+PfoCPT16AiE9+gI8PfoCPj3aATzaAT76Az09PU5j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CgogICAgICAgIDpwYXJhbSBpdGVyYWJsZToKICAgICAgICAgICAgQW4gaXRlcmFibGUgdGhhdCBjYW4gY29udGFpbiB2ZXJzaW9uIHN0cmluZ3MgYW5kIDpjbGFzczpgVmVyc2lvbmAgaW5zdGFuY2VzLgogICAgICAgICAgICBUaGUgaXRlbXMgaW4gdGhlIGl0ZXJhYmxlIHdpbGwgYmUgZmlsdGVyZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZXIuCiAgICAgICAgOnBhcmFtIHByZXJlbGVhc2VzOgogICAgICAgICAgICBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBwcmVyZWxlYXNlcyBpbiB0aGUgcmV0dXJuZWQgaXRlcmF0b3IuIElmIHNldCB0bwogICAgICAgICAgICBgYE5vbmVgYCAodGhlIGRlZmF1bHQpLCBpdCB3aWxsIGJlIGludGVsbGlnZW50bHkgZGVjaWRlIHdoZXRoZXIgdG8gYWxsb3cKICAgICAgICAgICAgcHJlcmVsZWFzZXMgb3Igbm90IChiYXNlZCBvbiB0aGUgOmF0dHI6YHByZXJlbGVhc2VzYCBhdHRyaWJ1dGUsIGFuZAogICAgICAgICAgICB3aGV0aGVyIHRoZSBvbmx5IHZlcnNpb25zIG1hdGNoaW5nIGFyZSBwcmVyZWxlYXNlcykuCgogICAgICAgIFRoaXMgbWV0aG9kIGlzIHNtYXJ0ZXIgdGhhbiBqdXN0IGBgZmlsdGVyKFNwZWNpZmllcigpLmNvbnRhaW5zLCBbLi4uXSlgYAogICAgICAgIGJlY2F1c2UgaXQgaW1wbGVtZW50cyB0aGUgcnVsZSBmcm9tIDpwZXA6YDQ0MGAgdGhhdCBhIHByZXJlbGVhc2UgaXRlbQogICAgICAgIFNIT1VMRCBiZSBhY2NlcHRlZCBpZiBubyBvdGhlciB2ZXJzaW9ucyBtYXRjaCB0aGUgZ2l2ZW4gc3BlY2lmaWVyLgoKICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXIoIj49MS4yLjMiKS5maWx0ZXIoWyIxLjIiLCAiMS4zIiwgIjEuNWExIl0pKQogICAgICAgIFsnMS4zJ10KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXIoIj49MS4yLjMi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ZXR1cm5lZCBpdGVyYXRvci4gSWYgc2V0IHRvCiAgICAgICAgICAgIGBgTm9uZWBgICh0aGUgZGVmYXVsdCksIGl0IHdpbGwgYmUgaW50ZWxsaWdlbnRseSBkZWNpZGUgd2hldGhlciB0byBhbGxvdwogICAgICAgICAgICBwcmVyZWxlYXNlcyBvciBub3QgKGJhc2VkIG9uIHRoZSA6YXR0cjpgcHJlcmVsZWFzZXNgIGF0dHJpYnV0ZSwgYW5kCiAgICAgICAgICAgIHdoZXRoZXIgdGhlIG9ubHkgdmVyc2lvbnMgbWF0Y2hpbmcgYXJlIHByZXJlbGVhc2VzKS4KCiAgICAgICAgVGhpcyBtZXRob2QgaXMgc21hcnRlciB0aGFuIGp1c3QgYGBmaWx0ZXIoU3BlY2lmaWVyU2V0KC4uLikuY29udGFpbnMsIFsuLi5dKWBgCiAgICAgICAgYmVjYXVzZSBpdCBpbXBsZW1lbnRzIHRoZSBydWxlIGZyb20gOnBlcDpgNDQwYCB0aGF0IGEgcHJlcmVsZWFzZSBpdGVtCiAgICAgICAgU0hPVUxEIGJlIGFjY2VwdGVkIGlmIG5vIG90aGVyIHZlcnNpb25zIG1hdGNoIHRoZSBnaXZlbiBzcGVjaWZpZXIuCgogICAgICAgID4+PiBsaXN0KFNwZWNpZmllclNldCgiPj0xLjIuMyIpLmZpbHRlcihbIjEuMiIsICIxLjMiLCAiMS41YTEiXSkpCiAgICAgICAgWycxLjMnXQogICAgICAgID4+PiBsaXN0KFNwZWNpZmllclNldCgiPj0xLjIuMyIpLmZpbHRlcihbIjEuMiIsICIxLjMiLCBWZXJzaW9uKCIxLjQiKV0pKQogICAgICAgIFsnMS4zJywgPFZlcnNpb24oJzEuNCcpPl0KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXJTZXQoIj49MS4yLjMiKS5maWx0ZXIoWyIxLjIiLCAiMS41YTEiXSkpCiAgICAgICAgW10KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXJTZXQoIj49MS4yLjMiKS5maWx0ZXIoWyIxLjMiLCAiMS41YTEiXSwgcHJlcmVsZWFzZXM9VHJ1ZSkpCiAgICAgICAgWycxLjMnLCAnMS41YTEnXQogICAgICAg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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 14
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
markers.cpython-312.pyc
12.44 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
metadata.cpython-312.pyc
26.54 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
requirements.cpython-312.pyc
4.28 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
specifiers.cpython-312.pyc
38.07 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
tags.cpython-312.pyc
24.06 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
utils.cpython-312.pyc
6.45 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
version.cpython-312.pyc
19.96 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_elffile.cpython-312.pyc
4.87 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_manylinux.cpython-312.pyc
9.45 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_musllinux.cpython-312.pyc
4.42 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_parser.cpython-312.pyc
13.63 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_structures.cpython-312.pyc
3.13 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_tokenizer.cpython-312.pyc
7.74 KB
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
527 B
lrw-r--r--
2025-05-23 07:03:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).