REDROOM
PHP 8.3.30
Path:
Logout
Edit File
Size: 43.49 KB
Close
/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Util/__pycache__/asn1.cpython-311.pyc
Text
Base64
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ZGluZyB0byBhIHNwZWNpZmljIEFTTi4xIHR5cGUuCgogICAgICAgICAgICAgICAgOlBhcmFtZXRlcnM6CiAgICAgICAgICAgICAgICAgIGFzbjFJZCA6IGludGVnZXIgb3IgYnl0ZQogICAgICAgICAgICAgICAgICAgIFRoZSB1bml2ZXJzYWwgREVSIHRhZyBudW1iZXIgZm9yIHRoaXMgb2JqZWN0CiAgICAgICAgICAgICAgICAgICAgKGUuZy4gMHgxMCBmb3IgYSBTRVFVRU5DRSkuCiAgICAgICAgICAgICAgICAgICAgSWYgTm9uZSwgdGhlIHRhZyBpcyBub3Qga25vd24geWV0LgoKICAgICAgICAgICAgICAgICAgcGF5bG9hZCA6IGJ5dGUgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgVGhlIGluaXRpYWwgcGF5bG9hZCBvZiB0aGUgb2JqZWN0ICh0aGF0IGl0LAogICAgICAgICAgICAgICAgICAgIHRoZSBjb250ZW50IG9jdGV0cykuCiAgICAgICAgICAgICAgICAgICAgSWYgbm90IHNwZWNpZmllZCwgdGhlIHBheWxvYWQgaXMgZW1wdHkuCgogICAgICAgICAgICAgICAgICBpbXBsaWNpdCA6IGludGVnZXIgb3IgYnl0ZQogICAgICAgICAgICAgICAgICAgIFRoZSBJTVBMSUNJVCB0YWcgbnVtYmVyICg8IDB4MUYpIHRvIHVzZSBmb3IgdGhlIGVuY29kZWQgb2JqZWN0LgogICAgICAgICAgICAgICAgICAgIEl0IG92ZXJyaWRlcyB0aGUgdW5pdmVyc2FsIHRhZyAqYXNuMUlkKi4KICAgICAgICAgICAgICAgICAgICBJdCBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aGUgYGBleHBsaWNpdGBgIHBhcmFtZXRlci4KICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBJTVBMSUNJVCB0YWcuCgogICAgICAgICAgICAgICAgICBjb25zdHJ1Y3RlZCA6IGJvb2wKICAgICAgICAgICAgICAgICAgICBUcnVlIHdoZW4gdGhlIEFTTi4xIHR5cGUgaXMgKmNvbnN0cnVjdGVk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CR7wAA0JHvAADQke8B4VCRzwABUJHPAAFQkc8AAVCRzwLhgJWgHwABgJWgHwABgJWgHwABgJWgHwABgJWgFyIgAAAHIIAAAAYwAAAAAAAAAAAAAAAAIAAAAAAAAA8y4AAACXAGUAWgFkAFoCZAFaA2QJZASEAVoEZAWEAFoFZApkB4QBWgZkCIQAWgdkA1MAKQtyCQAAAGHIAgAAQ2xhc3MgdG8gbW9kZWwgYSBERVIgSU5URUdFUi4KCiAgICAgICAgQW4gZXhhbXBsZSBvZiBlbmNvZGluZyBpczo6CgogICAgICAgICAgPj4+IGZyb20gQ3J5cHRvLlV0aWwuYXNuMSBpbXBvcnQgRGVySW50ZWdlcgogICAgICAgICAgPj4+IGZyb20gYmluYXNjaWkgaW1wb3J0IGhleGxpZnksIHVuaGV4bGlmeQogICAgICAgICAgPj4+IGludF9kZXIgPSBEZXJJbnRlZ2VyKDkpCiAgICAgICAgICA+Pj4gcHJpbnQgaGV4bGlmeShpbnRfZGVyLmVuY29kZSgpKQoKICAgICAgICB3aGljaCB3aWxsIHNob3cgYGAwMjAxMDlgYCwgdGhlIERFUiBlbmNvZGluZyBvZiA5LgoKICAgICAgICBBbmQgZm9yIGRlY29kaW5nOjoKCiAgICAgICAgICA+Pj4gcyA9IHVuaGV4bGlmeShiJzAyMDEwOScpCiAgICAgICAgICA+Pj4gdHJ5OgogICAgICAgICAgPj4+ICAgaW50X2RlciA9IERlckludGVnZXIoKQogICAgICAgICAgPj4+ICAgaW50X2Rlci5kZWNvZGUocykKICAgICAgICAgID4+PiAgIHByaW50IGludF9kZXIudmFsdWUKICAgICAgICAgID4+PiBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgID4+PiAgIHByaW50ICJOb3QgYSB2YWxpZCBERVIgSU5URUdFUiIKCiAgICAgICAgdGhlIG91dHB1dCB3aWxsIGJlIGBgOWBgLgoKICAgICAgICA6aXZhciB2YWx1ZTogVGhlIGludGVnZXIgdmFsdWUKICAgICAgICA6dmFydHlwZSB2YWx1ZTogaW50ZWdlcgogICAgICAgIHICAAAATmMEAAAAAAAAAAAAAAAIAAAAAwAAAPNSAAAA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ICAgICAgICAgICBBIHNlcXVlbmNlIHdob3NlIGVsZW1lbnQgYXJlIGVpdGhlciBpbnRlZ2VycyBvcgogICAgICAgICAgICAgICAgICAgIG90aGVyIERFUiBvYmplY3RzLgoKICAgICAgICAgICAgICAgICAgaW1wbGljaXQgOiBpbnRlZ2VyIG9yIGJ5dGUKICAgICAgICAgICAgICAgICAgICBUaGUgSU1QTElDSVQgdGFnIG51bWJlciAoPCAweDFGKSB0byB1c2UgZm9yIHRoZSBlbmNvZGVkIG9iamVjdC4KICAgICAgICAgICAgICAgICAgICBJdCBvdmVycmlkZXMgdGhlIHVuaXZlcnNhbCB0YWcgZm9yIFNFUVVFTkNFICgxNikuCiAgICAgICAgICAgICAgICAgICAgSXQgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGhlIGBgZXhwbGljaXRgYCBwYXJhbWV0ZXIuCiAgICAgICAgICAgICAgICAgICAgQnkgZGVmYXVsdCwgdGhlcmUgaXMgbm8gSU1QTElDSVQgdGFnLgoKICAgICAgICAgICAgICAgICAgZXhwbGljaXQgOiBpbnRlZ2VyIG9yIGJ5dGUKICAgICAgICAgICAgICAgICAgICBUaGUgRVhQTElDSVQgdGFnIG51bWJlciAoPCAweDFGKSB0byB1c2UgZm9yIHRoZSBlbmNvZGVkIG9iamVjdC4KICAgICAgICAgICAgICAgICAgICBJdCBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aGUgYGBpbXBsaWNpdGBgIHBhcmFtZXRlci4KICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBFWFBMSUNJVCB0YWcuCiAgICAgICAgICAgICAgICDpEAAAAHIiAAAAVE4pA3IIAAAAciEAAADaBF9zZXEpBHIfAAAA2ghzdGFydFNlcXJEAAAAckYAAABzBAAAACAgICByFgAAAHIhAAAAehREZXJTZXF1ZW5jZS5fX2luaXRfX+QBAABzPgAAAIAA9SgAERrXECLSECKgNKgUqHOwSLhkwEjREE3UEE3QEE3YExvQEyPYICKQRJRJkEmQSeAgKJBElEmQSZBJciIAAABjAgAAAAAAAAAAAAAAAgAA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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 11
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
asn1.cpython-311.pyc
43.49 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Counter.cpython-311.pyc
2.20 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
number.cpython-311.pyc
65.64 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Padding.cpython-311.pyc
3.59 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
py3compat.cpython-311.pyc
7.35 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RFC1751.cpython-311.pyc
16.95 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
strxor.cpython-311.pyc
4.74 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_cpu_features.cpython-311.pyc
962 B
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_file_system.cpython-311.pyc
1.30 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_raw_api.cpython-311.pyc
13.82 KB
lrw-r--r--
2026-02-13 12:40:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-311.pyc
1.16 KB
lrw-r--r--
2026-02-13 12:40:39
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).