REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 69.17 KB
Close
//proc/self/root/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/__pycache__/ipaddress.cpython-35.pyc
Text
Base64
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ZSBnaXZlbiB0aGUgZmlyc3QgYW5kIGxhc3QgSVAgYWRkcmVzc2VzLgoKICAgIEV4YW1wbGU6CiAgICAgICAgPj4+IGxpc3Qoc3VtbWFyaXplX2FkZHJlc3NfcmFuZ2UoSVB2NEFkZHJlc3MoJzE5Mi4wLjIuMCcpLAogICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjRBZGRyZXNzKCcxOTIuMC4yLjEzMCcpKSkKICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkb2N0ZXN0OiArTk9STUFMSVpFX1dISVRFU1BBQ0UKICAgICAgICBbSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMC8yNScpLCBJUHY0TmV0d29yaygnMTkyLjAuMi4xMjgvMzEnKSwKICAgICAgICAgSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMTMwLzMyJyldCgogICAgQXJnczoKICAgICAgICBmaXJzdDogdGhlIGZpcnN0IElQdjRBZGRyZXNzIG9yIElQdjZBZGRyZXNzIGluIHRoZSByYW5nZS4KICAgICAgICBsYXN0OiB0aGUgbGFzdCBJUHY0QWRkcmVzcyBvciBJUHY2QWRkcmVzcyBpbiB0aGUgcmFuZ2UuCgogICAgUmV0dXJuczoKICAgICAgICBBbiBpdGVyYXRvciBvZiB0aGUgc3VtbWFyaXplZCBJUHYoNHw2KSBuZXR3b3JrIG9iamVjdHMuCgogICAgUmFpc2U6CiAgICAgICAgVHlwZUVycm9yOgogICAgICAgICAgICBJZiB0aGUgZmlyc3QgYW5kIGxhc3Qgb2JqZWN0cyBhcmUgbm90IElQIGFkZHJlc3Nlcy4KICAgICAgICAgICAgSWYgdGhlIGZpcnN0IGFuZCBsYXN0IG9iamVjdHMgYXJlIG5vdCB0aGUgc2FtZSB2ZXJzaW9uLgogICAgICAgIFZhbHVlRXJyb3I6CiAgICAgICAgICAgIElmIHRoZSBsYXN0IG9iamVjdCBpcyBub3QgZ3JlYXRlciB0aGFuIHRoZSBmaXJzdC4KICAgICAgICAgICAgSWYgdGhlIHZlcnNpb24gb2YgdGhlIGZpcnN0IGFkZHJlc3MgaXMgbm90IDQgb3Ig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ZGUoYWRkcjIpKSA9CiAgICAgICAgICAgICAgICBbaXBfbmV0d29yaygnMjAwMTpkYjg6OjEvMTI4JyksCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6OjIvMTI3JyksCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6OjQvMTI2JyksCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6OjgvMTI1JyksCiAgICAgICAgICAgICAgICAgLi4uCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6ODAwMDo6LzMzJyldCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIG90aGVyOiBBbiBJUHY0TmV0d29yayBvciBJUHY2TmV0d29yayBvYmplY3Qgb2YgdGhlIHNhbWUgdHlwZS4KCiAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgQW4gaXRlcmF0b3Igb2YgdGhlIElQdig0fDYpTmV0d29yayBvYmplY3RzIHdoaWNoIGlzIHNlbGYKICAgICAgICAgICAgbWludXMgb3RoZXIuCgogICAgICAgIFJhaXNlczoKICAgICAgICAgICAgVHlwZUVycm9yOiBJZiBzZWxmIGFuZCBvdGhlciBhcmUgb2YgZGlmZmVyaW5nIGFkZHJlc3MKICAgICAgICAgICAgICB2ZXJzaW9ucywgb3IgaWYgb3RoZXIgaXMgbm90IGEgbmV0d29yayBvYmplY3QuCiAgICAgICAgICAgIFZhbHVlRXJyb3I6IElmIG90aGVyIGlzIG5vdCBjb21wbGV0ZWx5IGNvbnRhaW5lZCBieSBzZWxmLgoKICAgICAgICB6JSVzIGFuZCAlcyBhcmUgbm90IG9mIHRoZSBzYW1lIHZlcnNpb256GiVzIGlzIG5vdCBhIG5ldHdvcmsgb2JqZWN0ehYlcyBub3QgY29udGFpbmVkIGluICVzTnoFJXMvJXN6M0Vycm9yIHBlcmZvcm1pbmcgZXhjbHVzaW9uOiBzMTogJXMgczI6ICVzIG90aGVyOiAlcykLcngAAAByYQAAAHIPAAAAcoIAAADaCXN1Ym5ldF9vZnI/AAAAcqgAAAByewAA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aG91bGQgYmUgaW5jcmVhc2VkIGJ5LiBUaGlzIHNob3VsZCBub3QgYmUgc2V0IGlmCiAgICAgICAgICAgICAgbmV3X3ByZWZpeCBpcyBhbHNvIHNldC4KICAgICAgICAgICAgbmV3X3ByZWZpeDogVGhlIGRlc2lyZWQgbmV3IHByZWZpeCBsZW5ndGguIFRoaXMgbXVzdCBiZSBhCiAgICAgICAgICAgICAgbGFyZ2VyIG51bWJlciAoc21hbGxlciBwcmVmaXgpIHRoYW4gdGhlIGV4aXN0aW5nIHByZWZpeC4KICAgICAgICAgICAgICBUaGlzIHNob3VsZCBub3QgYmUgc2V0IGlmIHByZWZpeGxlbl9kaWZmIGlzIGFsc28gc2V0LgoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBBbiBpdGVyYXRvciBvZiBJUHYoNHw2KSBvYmplY3RzLgoKICAgICAgICBSYWlzZXM6CiAgICAgICAgICAgIFZhbHVlRXJyb3I6IFRoZSBwcmVmaXhsZW5fZGlmZiBpcyB0b28gc21hbGwgb3IgdG9vIGxhcmdlLgogICAgICAgICAgICAgICAgT1IKICAgICAgICAgICAgcHJlZml4bGVuX2RpZmYgYW5kIG5ld19wcmVmaXggYXJlIGJvdGggc2V0IG9yIG5ld19wcmVmaXgKICAgICAgICAgICAgICBpcyBhIHNtYWxsZXIgbnVtYmVyIHRoYW4gdGhlIGN1cnJlbnQgcHJlZml4IChzbWFsbGVyCiAgICAgICAgICAgICAgbnVtYmVyIG1lYW5zIGEgbGFyZ2VyIG5ldHdvcmspCgogICAgICAgIE56GW5ldyBwcmVmaXggbXVzdCBiZSBsb25nZXJyJAAAAHooY2Fubm90IHNldCBwcmVmaXhsZW5fZGlmZiBhbmQgbmV3X3ByZWZpeHIBAAAAeh5wcmVmaXggbGVuZ3RoIGRpZmYgbXVzdCBiZSA+IDB6MHByZWZpeCBsZW5ndGggZGlmZiAlZCBpcyBpbnZhbGlkIGZvciBuZXRibG9jayAlcykJcnkAAAByYwAAAHI/AAAAcqIAAAByewAAAHJyAAAAcsMAAAByKAAAAHKoAAAAKQlyKgAAANoOcHJlZml4bGVuX2RpZmbaCm5ld19wcmVmaXja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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 8
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
appdirs.cpython-35.pyc
22.29 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
contextlib2.cpython-35.pyc
15.82 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
distro.cpython-35.pyc
37.08 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.cpython-35.pyc
69.17 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pyparsing.cpython-35.pyc
250.92 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
retrying.cpython-35.pyc
8.57 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.cpython-35.pyc
28.44 KB
lrw-r--r--
2023-11-13 21:22:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-35.pyc
3.11 KB
lrw-r--r--
2023-11-13 21:22:19
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).