REDROOM
PHP 8.3.31
Path:
Logout
Edit File
Size: 93.15 KB
Close
//lib64/python3.12/logging/__pycache__/__init__.cpython-312.pyc
Text
Base64
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T9oJTG9nUmVjb3Jk2gZMb2dnZXLaDUxvZ2dlckFkYXB0ZXLaBk5PVFNFVNoLTnVsbEhhbmRsZXLaDVN0cmVhbUhhbmRsZXLaBFdBUk7aB1dBUk5JTkfaDGFkZExldmVsTmFtZdoLYmFzaWNDb25maWfaD2NhcHR1cmVXYXJuaW5nc9oIY3JpdGljYWzaBWRlYnVn2gdkaXNhYmxl2gVlcnJvctoJZXhjZXB0aW9u2gVmYXRhbNoMZ2V0TGV2ZWxOYW1l2glnZXRMb2dnZXLaDmdldExvZ2dlckNsYXNz2gRpbmZv2gNsb2faDW1ha2VMb2dSZWNvcmTaDnNldExvZ2dlckNsYXNz2ghzaHV0ZG93btoEd2FybtoHd2FybmluZ9oTZ2V0TG9nUmVjb3JkRmFjdG9yedoTc2V0TG9nUmVjb3JkRmFjdG9yedoKbGFzdFJlc29ydNoPcmFpc2VFeGNlcHRpb25z2hRnZXRMZXZlbE5hbWVzTWFwcGluZ9oQZ2V0SGFuZGxlckJ5TmFtZdoPZ2V0SGFuZGxlck5hbWVzeiZWaW5heSBTYWppcCA8dmluYXlfc2FqaXBAcmVkLWRvdmUuY29tPtoKcHJvZHVjdGlvbnoHMC41LjEuMnoQMDcgRmVicnVhcnkgMjAxMFTpMgAAAOkoAAAA6R4AAADpFAAAAOkKAAAAcggAAAByCgAAAHIXAAAAcg8AAAByCQAAAHITAAAAKQhyCAAAAHILAAAAcgoAAAByFgAAAHIXAAAAcg8AAAByCQAAAHITAAAAYwAAAAAAAAAAAAAAAAIAAAADAAAA8yoAAACXAHQAAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAUwCpAU4pAtoMX25hbWVUb0xldmVs2gRjb3B5qQDzAAAAAPopL3Vzci9saWI2NC9weXRob24zLjEyL2xvZ2dpbmcvX19pbml0X18ucHlyLwAAAHIvAAAAfgAAAHMRAAAAgADcCxfXCxzRCxzTCx7QBB5yPQAAAGMBAAAAAAAAAAAAAAADAAAAAwAAAPNwAAAAlwB0AAAAAAAAAAAAagMAAAAAAAAAAAAAAAAAAAAAAAB8AKsBAAAAAAAAfQF8AYECfAFTAHQEAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAHwAqwEAAAAAAAB9AXwBgQJ8AVMAZAF8AHoGAABTACkCYbQCAAAKICAgIFJldHVybiB0aGUgdGV4dHVhbCBvciBudW1lcmljIHJlcHJlc2VudGF0aW9uIG9mIGxvZ2dpbmcgbGV2ZWwgJ2xldmVsJy4KCiAgICBJZiB0aGUgbGV2ZWwgaXMgb25lIG9mIHRoZSBwcmVkZWZpbmVkIGxldmVscyAoQ1JJVElDQUwsIEVSUk9SLCBXQVJOSU5HLAogICAgSU5GTywgREVCVUcpIHRoZW4geW91IGdldCB0aGUgY29ycmVzcG9uZGluZyBzdHJpbmcuIElmIHlvdSBoYXZlCiAgICBhc3NvY2lhdGVkIGxldmVscyB3aXRoIG5hbWVzIHVzaW5nIGFkZExldmVsTmFtZSB0aGVuIHRoZSBuYW1lIHlvdSBoYXZlCiAgICBhc3NvY2lhdGVkIHdpdGggJ2xldmVsJyBpcyByZXR1cm5lZC4KCiAgICBJZiBhIG51bWVyaWMgdmFsdWUgY29ycmVzcG9uZGluZyB0byBvbmUgb2YgdGhlIGRlZmluZWQgbGV2ZWxzIGlzIHBhc3NlZAogICAgaW4sIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZyByZXByZXNlbnRhdGlvbiBpcyByZXR1cm5lZC4KCiAgICBJZiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgbGV2ZWwgaXMgcGFzc2VkIGluLCB0aGUgY29ycmVzcG9uZGluZwogICAgbnVtZXJpYyB2YWx1ZSBpcyByZXR1cm5lZC4KCiAgICBJZiBubyBtYXRjaGluZyBudW1lcmljIG9yIHN0cmluZyB2YWx1ZSBpcyBwYXNzZWQgaW4sIHRoZSBzdHJpbmcKICAgICdMZXZlbCAlcycgJSBsZXZlbCBpcyByZXR1cm5lZC4KICAgIHoITGV2ZWwgJXMpA9oMX2xldmVsVG9OYW1l2gNnZXRyOgAAACkC2gVsZXZlbNoGcmVzdWx0cwIAAAAgIHI+AAAAciEAAAByIQAAAIEAAABzRQAAAIAA9CYADhrXDR3RDR2YZdMNJIBG2AcN0AcZ2A8ViA3cDRnXDR3RDR2YZdMNJIBG2AcN0AcZ2A8ViA3YCxWYBdELHdAEHXI9AAAAYwIAAAAAAAAAAAAAAAQAAAADAAAA83AAAACX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JShtZXNzYWdlKXN6HHtsZXZlbG5hbWV9OntuYW1lfTp7bWVzc2FnZX16HyR7bGV2ZWxuYW1lfToke25hbWV9OiR7bWVzc2FnZX0pA9oBJdoBe3IFAQAAYwAAAAAAAAAAAAAAAAMAAAAAAAAA82QAAACXAGUAWgFkAFoCZAFaA2UEagoAAAAAAAAAAAAAAAAAAAAAAABaBmQNZAJkA5wBZASEA1oHZAVaCGQGWglkDmQHhAFaCmQIhABaC2QJhABaDGQKhABaDWQLhABaDmQMhABaD3kCKQ9yBQAAAGEJCQAACiAgICBGb3JtYXR0ZXIgaW5zdGFuY2VzIGFyZSB1c2VkIHRvIGNvbnZlcnQgYSBMb2dSZWNvcmQgdG8gdGV4dC4KCiAgICBGb3JtYXR0ZXJzIG5lZWQgdG8ga25vdyBob3cgYSBMb2dSZWNvcmQgaXMgY29uc3RydWN0ZWQuIFRoZXkgYXJlCiAgICByZXNwb25zaWJsZSBmb3IgY29udmVydGluZyBhIExvZ1JlY29yZCB0byAodXN1YWxseSkgYSBzdHJpbmcgd2hpY2ggY2FuCiAgICBiZSBpbnRlcnByZXRlZCBieSBlaXRoZXIgYSBodW1hbiBvciBhbiBleHRlcm5hbCBzeXN0ZW0uIFRoZSBiYXNlIEZvcm1hdHRlcgogICAgYWxsb3dzIGEgZm9ybWF0dGluZyBzdHJpbmcgdG8gYmUgc3BlY2lmaWVkLiBJZiBub25lIGlzIHN1cHBsaWVkLCB0aGUKICAgIHN0eWxlLWRlcGVuZGVudCBkZWZhdWx0IHZhbHVlLCAiJShtZXNzYWdlKXMiLCAie21lc3NhZ2V9Iiwgb3IKICAgICIke21lc3NhZ2V9IiwgaXMgdXNlZC4KCiAgICBUaGUgRm9ybWF0dGVyIGNhbiBiZSBpbml0aWFsaXplZCB3aXRoIGEgZm9ybWF0IHN0cmluZyB3aGljaCBtYWtlcyB1c2Ugb2YKICAgIGtub3dsZWRnZSBvZiB0aGUgTG9nUmVjb3JkIGF0dHJpYnV0ZXMgLSBlLmcuIHRoZSBkZWZhdWx0IHZhbHVlIG1lbnRpb25lZAogICAgYWJvdmUgbWFrZXMgdXNlIG9mIHRoZSBmYWN0IHRoYXQgdGhlIHVzZXIncyBtZXNzYWdlIGFuZCBhcmd1bWVudHMgYXJlIHByZS0KICAgIGZvcm1hdHRlZCBpbnRvIGEgTG9nUmVjb3JkJ3MgbWVzc2FnZSBhdHRyaWJ1dGUuIEN1cnJlbnRseSwgdGhlIHVzZWZ1bAogICAgYXR0cmlidXRlcyBpbiBhIExvZ1JlY29yZCBhcmUgZGVzY3JpYmVkIGJ5OgoKICAgICUobmFtZSlzICAgICAgICAgICAgTmFtZSBvZiB0aGUgbG9nZ2VyIChsb2dnaW5nIGNoYW5uZWwpCiAgICAlKGxldmVsbm8pcyAgICAgICAgIE51bWVyaWMgbG9nZ2luZyBsZXZlbCBmb3IgdGhlIG1lc3NhZ2UgKERFQlVHLCBJTkZPLAogICAgICAgICAgICAgICAgICAgICAgICBXQVJOSU5HLCBFUlJPUiwgQ1JJVElDQUwpCiAgICAlKGxldmVsbmFtZSlzICAgICAgIFRleHQgbG9nZ2luZyBsZXZlbCBmb3IgdGhlIG1lc3NhZ2UgKCJERUJVRyIsICJJTkZPIiwKICAgICAgICAgICAgICAgICAgICAgICAgIldBUk5JTkciLCAiRVJST1IiLCAiQ1JJVElDQUwiKQogICAgJShwYXRobmFtZSlzICAgICAgICBGdWxsIHBhdGhuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZSB3aGVyZSB0aGUgbG9nZ2luZwogICAgICAgICAgICAgICAgICAgICAgICBjYWxsIHdhcyBpc3N1ZWQgKGlmIGF2YWlsYWJsZSkKICAgICUoZmlsZW5hbWUpcyAgICAgICAgRmlsZW5hbWUgcG9ydGlvbiBvZiBwYXRobmFtZQogICAgJShtb2R1bGUpcyAgICAgICAgICBNb2R1bGUgKG5hbWUgcG9ydGlvbiBvZiBmaWxlbmFtZSkKICAgICUobGluZW5vKWQgICAgICAgICAgU291cmNlIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBsb2dnaW5nIGNhbGwgd2FzIGlzc3VlZAogICAgICAgICAgICAgICAgICAgICAgICAoaWYgYXZhaWxhYmxlKQogICAgJShmdW5jTmFtZSlzICAgICAgICBGdW5jdGlvbiBuYW1lCiAgICAlKGNyZWF0ZWQpZiAgICAgICAgIFRpbWUgd2hlbiB0aGUgTG9nUmVjb3Jk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aWVkLAogICAgICAgIGl0IGlzIHVzZWQgd2l0aCB0aW1lLnN0cmZ0aW1lKCkgdG8gZm9ybWF0IHRoZSBjcmVhdGlvbiB0aW1lIG9mIHRoZQogICAgICAgIHJlY29yZC4gT3RoZXJ3aXNlLCBhbiBJU084NjAxLWxpa2UgKG9yIFJGQyAzMzM5LWxpa2UpIGZvcm1hdCBpcyB1c2VkLgogICAgICAgIFRoZSByZXN1bHRpbmcgc3RyaW5nIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIHVzZXMgYSB1c2VyLWNvbmZpZ3VyYWJsZQogICAgICAgIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGhlIGNyZWF0aW9uIHRpbWUgdG8gYSB0dXBsZS4gQnkgZGVmYXVsdCwKICAgICAgICB0aW1lLmxvY2FsdGltZSgpIGlzIHVzZWQ7IHRvIGNoYW5nZSB0aGlzIGZvciBhIHBhcnRpY3VsYXIgZm9ybWF0dGVyCiAgICAgICAgaW5zdGFuY2UsIHNldCB0aGUgJ2NvbnZlcnRlcicgYXR0cmlidXRlIHRvIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZQogICAgICAgIHNpZ25hdHVyZSBhcyB0aW1lLmxvY2FsdGltZSgpIG9yIHRpbWUuZ210aW1lKCkuIFRvIGNoYW5nZSBpdCBmb3IgYWxsCiAgICAgICAgZm9ybWF0dGVycywgZm9yIGV4YW1wbGUgaWYgeW91IHdhbnQgYWxsIGxvZ2dpbmcgdGltZXMgdG8gYmUgc2hvd24gaW4gR01ULAogICAgICAgIHNldCB0aGUgJ2NvbnZlcnRlcicgYXR0cmlidXRlIGluIHRoZSBGb3JtYXR0ZXIgY2xhc3MuCiAgICAgICAgKQfaCWNvbnZlcnRlcnKYAAAAcoQAAADaCHN0cmZ0aW1l2hNkZWZhdWx0X3RpbWVfZm9ybWF02hNkZWZhdWx0X21zZWNfZm9ybWF0cpkAAAApBXKtAAAAct0AAAByGQEAAHKxAAAA2gFzcwUAAAAgICAgIHI+AAAA2gpmb3JtYXRUaW1lehRGb3JtYXR0ZXIuZm9ybWF0VGltZW4CAABzbwAAAIAA8CQADhKPXolemEafTplO0w0riALZCxLcEBSXDZENmGegctMQKohB8AoAEBGI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AHQsAAAAAAAAAAAkAHIDAQBZAIxIdwB4A1kAdwEjAH4CfgN+BHcAeANZAHcBKQxhRAIAAAogICAgICAgIEhhbmRsZSBlcnJvcnMgd2hpY2ggb2NjdXIgZHVyaW5nIGFuIGVtaXQoKSBjYWxsLgoKICAgICAgICBUaGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIGZyb20gaGFuZGxlcnMgd2hlbiBhbiBleGNlcHRpb24gaXMKICAgICAgICBlbmNvdW50ZXJlZCBkdXJpbmcgYW4gZW1pdCgpIGNhbGwuIElmIHJhaXNlRXhjZXB0aW9ucyBpcyBmYWxzZSwKICAgICAgICBleGNlcHRpb25zIGdldCBzaWxlbnRseSBpZ25vcmVkLiBUaGlzIGlzIHdoYXQgaXMgbW9zdGx5IHdhbnRlZAogICAgICAgIGZvciBhIGxvZ2dpbmcgc3lzdGVtIC0gbW9zdCB1c2VycyB3aWxsIG5vdCBjYXJlIGFib3V0IGVycm9ycyBpbgogICAgICAgIHRoZSBsb2dnaW5nIHN5c3RlbSwgdGhleSBhcmUgbW9yZSBpbnRlcmVzdGVkIGluIGFwcGxpY2F0aW9uIGVycm9ycy4KICAgICAgICBZb3UgY291bGQsIGhvd2V2ZXIsIHJlcGxhY2UgdGhpcyB3aXRoIGEgY3VzdG9tIGhhbmRsZXIgaWYgeW91IHdpc2guCiAgICAgICAgVGhlIHJlY29yZCB3aGljaCB3YXMgYmVpbmcgcHJvY2Vzc2VkIGlzIHBhc3NlZCBpbiB0byB0aGlzIG1ldGhvZC4KICAgICAgICB6Fi0tLSBMb2dnaW5nIGVycm9yIC0tLQpOegxDYWxsIHN0YWNrOgpyAgAAAKkB2gRmaWxlehFMb2dnZWQgZnJvbSBmaWxlIHoHLCBsaW5lIHIlAQAAeglNZXNzYWdlOiB6DApBcmd1bWVudHM6IHp3VW5hYmxlIHRvIHByaW50IHRoZSBtZXNzYWdlIGFuZCBhcmd1bWVudHMgLSBwb3NzaWJsZSBmb3JtYXR0aW5nIGVycm9yLgpVc2UgdGhlIHRyYWNlYmFjayBhYm92ZSB0byBoZWxwIGZpbmQgdGhlIGVycm9yLgopF3IuAAAAcksAAADaBnN0ZGVycnKTAAAA2gV3cml0ZXIoAQAA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aGUgcm9vdCBsb2dnZXIuCgogICAgQSBudW1iZXIgb2Ygb3B0aW9uYWwga2V5d29yZCBhcmd1bWVudHMgbWF5IGJlIHNwZWNpZmllZCwgd2hpY2ggY2FuIGFsdGVyCiAgICB0aGUgZGVmYXVsdCBiZWhhdmlvdXIuCgogICAgZmlsZW5hbWUgIFNwZWNpZmllcyB0aGF0IGEgRmlsZUhhbmRsZXIgYmUgY3JlYXRlZCwgdXNpbmcgdGhlIHNwZWNpZmllZAogICAgICAgICAgICAgIGZpbGVuYW1lLCByYXRoZXIgdGhhbiBhIFN0cmVhbUhhbmRsZXIuCiAgICBmaWxlbW9kZSAgU3BlY2lmaWVzIHRoZSBtb2RlIHRvIG9wZW4gdGhlIGZpbGUsIGlmIGZpbGVuYW1lIGlzIHNwZWNpZmllZAogICAgICAgICAgICAgIChpZiBmaWxlbW9kZSBpcyB1bnNwZWNpZmllZCwgaXQgZGVmYXVsdHMgdG8gJ2EnKS4KICAgIGZvcm1hdCAgICBVc2UgdGhlIHNwZWNpZmllZCBmb3JtYXQgc3RyaW5nIGZvciB0aGUgaGFuZGxlci4KICAgIGRhdGVmbXQgICBVc2UgdGhlIHNwZWNpZmllZCBkYXRlL3RpbWUgZm9ybWF0LgogICAgc3R5bGUgICAgIElmIGEgZm9ybWF0IHN0cmluZyBpcyBzcGVjaWZpZWQsIHVzZSB0aGlzIHRvIHNwZWNpZnkgdGhlCiAgICAgICAgICAgICAgdHlwZSBvZiBmb3JtYXQgc3RyaW5nIChwb3NzaWJsZSB2YWx1ZXMgJyUnLCAneycsICckJywgZm9yCiAgICAgICAgICAgICAgJS1mb3JtYXR0aW5nLCA6bWV0aDpgc3RyLmZvcm1hdGAgYW5kIDpjbGFzczpgc3RyaW5nLlRlbXBsYXRlYAogICAgICAgICAgICAgIC0gZGVmYXVsdHMgdG8gJyUnKS4KICAgIGxldmVsICAgICBTZXQgdGhlIHJvb3QgbG9nZ2VyIGxldmVsIHRvIHRoZSBzcGVjaWZpZWQgbGV2ZWwuCiAgICBzdHJlYW0gICAgVXNlIHRoZSBzcGVjaWZpZWQgc3RyZWFtIHRvIGluaXRpYWxpemUgdGhlIFN0cmVhbUhhbmRsZXIuIE5vdGUKICAgICAgICAgICAgICB0aGF0IHRoaXMgYXJndW1lbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggJ2ZpbGVuYW1lJyAtIGlmIGJvdGgKICAgICAgICAgICAgICBhcmUgcHJlc2VudCwgJ3N0cmVhbScgaXMgaWdub3JlZC4KICAgIGhhbmRsZXJzICBJZiBzcGVjaWZpZWQsIHRoaXMgc2hvdWxkIGJlIGFuIGl0ZXJhYmxlIG9mIGFscmVhZHkgY3JlYXRlZAogICAgICAgICAgICAgIGhhbmRsZXJzLCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSByb290IGxvZ2dlci4gQW55IGhhbmRsZXIKICAgICAgICAgICAgICBpbiB0aGUgbGlzdCB3aGljaCBkb2VzIG5vdCBoYXZlIGEgZm9ybWF0dGVyIGFzc2lnbmVkIHdpbGwgYmUKICAgICAgICAgICAgICBhc3NpZ25lZCB0aGUgZm9ybWF0dGVyIGNyZWF0ZWQgaW4gdGhpcyBmdW5jdGlvbi4KICAgIGZvcmNlICAgICBJZiB0aGlzIGtleXdvcmQgIGlzIHNwZWNpZmllZCBhcyB0cnVlLCBhbnkgZXhpc3RpbmcgaGFuZGxlcnMKICAgICAgICAgICAgICBhdHRhY2hlZCB0byB0aGUgcm9vdCBsb2dnZXIgYXJlIHJlbW92ZWQgYW5kIGNsb3NlZCwgYmVmb3JlCiAgICAgICAgICAgICAgY2Fycnlpbmcgb3V0IHRoZSBjb25maWd1cmF0aW9uIGFzIHNwZWNpZmllZCBieSB0aGUgb3RoZXIKICAgICAgICAgICAgICBhcmd1bWVudHMuCiAgICBlbmNvZGluZyAgSWYgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGggYSBmaWxlbmFtZSwgdGhpcyBlbmNvZGluZyBpcyBwYXNzZWQgdG8KICAgICAgICAgICAgICB0aGUgY3JlYXRlZCBGaWxlSGFuZGxlciwgY2F1c2luZyBpdCB0byBiZSB1c2VkIHdoZW4gdGhlIGZpbGUgaXMKICAgICAgICAgICAgICBvcGVuZWQuCiAgICBlcnJvcnMgICAgSWYgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGggYSBmaWxlbmFtZSwgdGhpcyB2YWx1ZSBpcyBwYXNzZWQgdG8gdGhlCiAgICAgICAgICAgICAgY3JlYXRlZCBGaWxlSGFuZGxlciwgY2F1c2luZyBpdCB0byBiZSB1c2VkIHdoZW4gdGhlIGZpbGUgaXMKICAgICAgICAgICAgICBvcGVuZWQgaW4gdGV4dCBtb2RlLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcwogICAgICAgICAgICAgIGBiYWNrc2xhc2hyZXBsYWNlYC4KCiAgICBOb3RlIHRoYXQgeW91IGNvdWxkIHNwZWNpZnkgYSBzdHJlYW0gY3JlYXRlZCB1c2luZyBvcGVuKGZpbGVuYW1lLCBtb2RlKQogICAgcmF0aGVyIHRoYW4gcGFzc2luZyB0aGUgZmlsZW5hbWUgYW5kIG1vZGUgaW4uIEhvd2V2ZXIsIGl0IHNob3VsZCBiZQogICAgcmVtZW1iZXJlZCB0aGF0IFN0cmVhbUhhbmRsZXIgZG9lcyBub3QgY2xvc2UgaXRzIHN0cmVhbSAoc2luY2UgaXQgbWF5IGJlCiAgICB1c2luZyBzeXMuc3Rkb3V0IG9yIHN5cy5zdGRlcnIpLCB3aGVyZWFzIEZpbGVIYW5kbGVyIGNsb3NlcyBpdHMgc3RyZWFtCiAgICB3aGVuIHRoZSBoYW5kbGVyIGlzIGNsb3NlZC4KCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgQWRkZWQgdGhlIGBgc3R5bGVgYCBwYXJhbWV0ZXIuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKICAgICAgIEFkZGVkIHRoZSBgYGhhbmRsZXJzYGAgcGFyYW1ldGVyLiBBIGBgVmFsdWVFcnJvcmBgIGlzIG5vdyB0aHJvd24gZm9yCiAgICAgICBpbmNvbXBhdGlibGUgYXJndW1lbnRzIChlLmcuIGBgaGFuZGxlcnNgYCBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aAogICAgICAgYGBmaWxlbmFtZWBgL2BgZmlsZW1vZGVgYCwgb3IgYGBmaWxlbmFtZWBgL2BgZmlsZW1vZGVgYCBzcGVjaWZpZWQKICAgICAgIHRvZ2V0aGVyIHdpdGggYGBzdHJlYW1gYCwgb3IgYGBoYW5kbGVyc2BgIHNwZWNp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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 9
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
config.cpython-312.opt-1.pyc
42.70 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-312.opt-2.pyc
38.82 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-312.pyc
42.76 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.opt-1.pyc
65.60 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.opt-2.pyc
47.07 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.pyc
65.60 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.opt-1.pyc
93.11 KB
lrw-r--r--
2026-04-27 16:36:04
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.opt-2.pyc
64.26 KB
lrw-r--r--
2026-04-27 16:36:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
93.15 KB
lrw-r--r--
2026-04-27 16:36:04
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).