REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 93.17 KB
Close
//opt/alt/python312/lib64/python3.12/logging/__pycache__/__init__.cpython-312.pyc
Text
Base64
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T9oJTG9nUmVjb3Jk2gZMb2dnZXLaDUxvZ2dlckFkYXB0ZXLaBk5PVFNFVNoLTnVsbEhhbmRsZXLaDVN0cmVhbUhhbmRsZXLaBFdBUk7aB1dBUk5JTkfaDGFkZExldmVsTmFtZdoLYmFzaWNDb25maWfaD2NhcHR1cmVXYXJuaW5nc9oIY3JpdGljYWzaBWRlYnVn2gdkaXNhYmxl2gVlcnJvctoJZXhjZXB0aW9u2gVmYXRhbNoMZ2V0TGV2ZWxOYW1l2glnZXRMb2dnZXLaDmdldExvZ2dlckNsYXNz2gRpbmZv2gNsb2faDW1ha2VMb2dSZWNvcmTaDnNldExvZ2dlckNsYXNz2ghzaHV0ZG93btoEd2FybtoHd2FybmluZ9oTZ2V0TG9nUmVjb3JkRmFjdG9yedoTc2V0TG9nUmVjb3JkRmFjdG9yedoKbGFzdFJlc29ydNoPcmFpc2VFeGNlcHRpb25z2hRnZXRMZXZlbE5hbWVzTWFwcGluZ9oQZ2V0SGFuZGxlckJ5TmFtZdoPZ2V0SGFuZGxlck5hbWVzeiZWaW5heSBTYWppcCA8dmluYXlfc2FqaXBAcmVkLWRvdmUuY29tPtoKcHJvZHVjdGlvbnoHMC41LjEuMnoQMDcgRmVicnVhcnkgMjAxMFTpMgAAAOkoAAAA6R4AAADpFAAAAOkKAAAAcggAAAByCgAAAHIXAAAAcg8AAAByCQAAAHITAAAAKQhyCAAAAHILAAAAcgoAAAByFgAAAHIXAAAAcg8AAAByCQAAAHITAAAAYwAAAAAAAAAAAAAAAAIAAAADAAAA8yoAAACXAHQAAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAUwCpAU4pAtoMX25hbWVUb0xldmVs2gRjb3B5qQDzAAAAAPo3L29wdC9hbHQvcHl0aG9uMzEyL2xpYjY0L3B5dGhvbjMuMTIvbG9nZ2luZy9fX2luaXRfXy5weXIvAAAAci8AAAB+AAAAcxEAAACAANwLF9cLHNELHNMLHtAEHnI9AAAAYwEAAAAAAAAAAAAAAAMAAAADAAAA83AAAACXAHQAAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAHwAqwEAAAAAAAB9AXwBgQJ8AVMAdAQAAAAAAAAAAGoDAAAAAAAAAAAAAAAAAAAAAAAAfACrAQAAAAAAAH0BfAGBAnwBUwBkAXwAegYAAFMAKQJhtAIAAAogICAgUmV0dXJuIHRoZSB0ZXh0dWFsIG9yIG51bWVyaWMgcmVwcmVzZW50YXRpb24gb2YgbG9nZ2luZyBsZXZlbCAnbGV2ZWwnLgoKICAgIElmIHRoZSBsZXZlbCBpcyBvbmUgb2YgdGhlIHByZWRlZmluZWQgbGV2ZWxzIChDUklUSUNBTCwgRVJST1IsIFdBUk5JTkcsCiAgICBJTkZPLCBERUJVRykgdGhlbiB5b3UgZ2V0IHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZy4gSWYgeW91IGhhdmUKICAgIGFzc29jaWF0ZWQgbGV2ZWxzIHdpdGggbmFtZXMgdXNpbmcgYWRkTGV2ZWxOYW1lIHRoZW4gdGhlIG5hbWUgeW91IGhhdmUKICAgIGFzc29jaWF0ZWQgd2l0aCAnbGV2ZWwnIGlzIHJldHVybmVkLgoKICAgIElmIGEgbnVtZXJpYyB2YWx1ZSBjb3JyZXNwb25kaW5nIHRvIG9uZSBvZiB0aGUgZGVmaW5lZCBsZXZlbHMgaXMgcGFzc2VkCiAgICBpbiwgdGhlIGNvcnJlc3BvbmRpbmcgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGlzIHJldHVybmVkLgoKICAgIElmIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBsZXZlbCBpcyBwYXNzZWQgaW4sIHRoZSBjb3JyZXNwb25kaW5nCiAgICBudW1lcmljIHZhbHVlIGlzIHJldHVybmVkLgoKICAgIElmIG5vIG1hdGNoaW5nIG51bWVyaWMgb3Igc3RyaW5nIHZhbHVlIGlzIHBhc3NlZCBpbiwgdGhlIHN0cmluZwogICAgJ0xldmVsICVzJyAlIGxldmVsIGlzIHJldHVybmVkLgogICAgeghMZXZlbCAlcykD2gxfbGV2ZWxUb05hbWXaA2dldHI6AAAAKQLaBWxldmVs2gZyZXN1bHRzAgAAACAgcj4AAAByIQAAAHIhAAAAgQAAAHNFAAAAgAD0JgAOGtcNHdENHZhl0w0kgEbYBw3QBxnYDxWIDdwNGdcNHdENHZhl0w0kgEbYBw3QBxnYDxWIDdgLFZgF0Qsd0AQdcj0AAABjAgAAAAAAAAAAAAAA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bWUpczolKG5hbWUpczolKG1lc3NhZ2Upc3oce2xldmVsbmFtZX06e25hbWV9OnttZXNzYWdlfXofJHtsZXZlbG5hbWV9OiR7bmFtZX06JHttZXNzYWdlfSkD2gEl2gF7cgUBAABjAAAAAAAAAAAAAAAAAwAAAAAAAADzZAAAAJcAZQBaAWQAWgJkAVoDZQRqCgAAAAAAAAAAAAAAAAAAAAAAAFoGZA1kAmQDnAFkBIQDWgdkBVoIZAZaCWQOZAeEAVoKZAiEAFoLZAmEAFoMZAqEAFoNZAuEAFoOZAyEAFoPeQIpD3IFAAAAYQkJAAAKICAgIEZvcm1hdHRlciBpbnN0YW5jZXMgYXJlIHVzZWQgdG8gY29udmVydCBhIExvZ1JlY29yZCB0byB0ZXh0LgoKICAgIEZvcm1hdHRlcnMgbmVlZCB0byBrbm93IGhvdyBhIExvZ1JlY29yZCBpcyBjb25zdHJ1Y3RlZC4gVGhleSBhcmUKICAgIHJlc3BvbnNpYmxlIGZvciBjb252ZXJ0aW5nIGEgTG9nUmVjb3JkIHRvICh1c3VhbGx5KSBhIHN0cmluZyB3aGljaCBjYW4KICAgIGJlIGludGVycHJldGVkIGJ5IGVpdGhlciBhIGh1bWFuIG9yIGFuIGV4dGVybmFsIHN5c3RlbS4gVGhlIGJhc2UgRm9ybWF0dGVyCiAgICBhbGxvd3MgYSBmb3JtYXR0aW5nIHN0cmluZyB0byBiZSBzcGVjaWZpZWQuIElmIG5vbmUgaXMgc3VwcGxpZWQsIHRoZQogICAgc3R5bGUtZGVwZW5kZW50IGRlZmF1bHQgdmFsdWUsICIlKG1lc3NhZ2UpcyIsICJ7bWVzc2FnZX0iLCBvcgogICAgIiR7bWVzc2FnZX0iLCBpcyB1c2VkLgoKICAgIFRoZSBGb3JtYXR0ZXIgY2FuIGJlIGluaXRpYWxpemVkIHdpdGggYSBmb3JtYXQgc3RyaW5nIHdoaWNoIG1ha2VzIHVzZSBvZgogICAga25vd2xlZGdlIG9mIHRoZSBMb2dSZWNvcmQgYXR0cmlidXRlcyAtIGUuZy4gdGhlIGRlZmF1bHQgdmFsdWUgbWVudGlvbmVkCiAgICBhYm92ZSBtYWtlcyB1c2Ugb2YgdGhlIGZhY3QgdGhhdCB0aGUgdXNlcidzIG1lc3NhZ2UgYW5kIGFyZ3VtZW50cyBhcmUgcHJlLQogICAgZm9ybWF0dGVkIGludG8gYSBMb2dSZWNvcmQncyBtZXNzYWdlIGF0dHJpYnV0ZS4gQ3VycmVudGx5LCB0aGUgdXNlZnVsCiAgICBhdHRyaWJ1dGVzIGluIGEgTG9nUmVjb3JkIGFyZSBkZXNjcmliZWQgYnk6CgogICAgJShuYW1lKXMgICAgICAgICAgICBOYW1lIG9mIHRoZSBsb2dnZXIgKGxvZ2dpbmcgY2hhbm5lbCkKICAgICUobGV2ZWxubylzICAgICAgICAgTnVtZXJpYyBsb2dnaW5nIGxldmVsIGZvciB0aGUgbWVzc2FnZSAoREVCVUcsIElORk8sCiAgICAgICAgICAgICAgICAgICAgICAgIFdBUk5JTkcsIEVSUk9SLCBDUklUSUNBTCkKICAgICUobGV2ZWxuYW1lKXMgICAgICAgVGV4dCBsb2dnaW5nIGxldmVsIGZvciB0aGUgbWVzc2FnZSAoIkRFQlVHIiwgIklORk8iLAogICAgICAgICAgICAgICAgICAgICAgICAiV0FSTklORyIsICJFUlJPUiIsICJDUklUSUNBTCIpCiAgICAlKHBhdGhuYW1lKXMgICAgICAgIEZ1bGwgcGF0aG5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlIHdoZXJlIHRoZSBsb2dnaW5nCiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwgd2FzIGlzc3VlZCAoaWYgYXZhaWxhYmxlKQogICAgJShmaWxlbmFtZSlzICAgICAgICBGaWxlbmFtZSBwb3J0aW9uIG9mIHBhdGhuYW1lCiAgICAlKG1vZHVsZSlzICAgICAgICAgIE1vZHVsZSAobmFtZSBwb3J0aW9uIG9mIGZpbGVuYW1lKQogICAgJShsaW5lbm8pZCAgICAgICAgICBTb3VyY2UgbGluZSBudW1iZXIgd2hlcmUgdGhlIGxvZ2dpbmcgY2FsbCB3YXMgaXNzdWVkCiAgICAgICAgICAgICAgICAgICAgICAgIChpZiBhdmFpbGFibGUpCiAgICAlKGZ1bmNOYW1lKXMgICAgICAgIEZ1bmN0aW9uIG5hbWUKICAgICUoY3JlYXRlZClmICAgICAgICAgVGltZSB3aGVu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aW5nKSBpcyBzcGVjaWZpZWQsCiAgICAgICAgaXQgaXMgdXNlZCB3aXRoIHRpbWUuc3RyZnRpbWUoKSB0byBmb3JtYXQgdGhlIGNyZWF0aW9uIHRpbWUgb2YgdGhlCiAgICAgICAgcmVjb3JkLiBPdGhlcndpc2UsIGFuIElTTzg2MDEtbGlrZSAob3IgUkZDIDMzMzktbGlrZSkgZm9ybWF0IGlzIHVzZWQuCiAgICAgICAgVGhlIHJlc3VsdGluZyBzdHJpbmcgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gdXNlcyBhIHVzZXItY29uZmlndXJhYmxlCiAgICAgICAgZnVuY3Rpb24gdG8gY29udmVydCB0aGUgY3JlYXRpb24gdGltZSB0byBhIHR1cGxlLiBCeSBkZWZhdWx0LAogICAgICAgIHRpbWUubG9jYWx0aW1lKCkgaXMgdXNlZDsgdG8gY2hhbmdlIHRoaXMgZm9yIGEgcGFydGljdWxhciBmb3JtYXR0ZXIKICAgICAgICBpbnN0YW5jZSwgc2V0IHRoZSAnY29udmVydGVyJyBhdHRyaWJ1dGUgdG8gYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lCiAgICAgICAgc2lnbmF0dXJlIGFzIHRpbWUubG9jYWx0aW1lKCkgb3IgdGltZS5nbXRpbWUoKS4gVG8gY2hhbmdlIGl0IGZvciBhbGwKICAgICAgICBmb3JtYXR0ZXJzLCBmb3IgZXhhbXBsZSBpZiB5b3Ugd2FudCBhbGwgbG9nZ2luZyB0aW1lcyB0byBiZSBzaG93biBpbiBHTVQsCiAgICAgICAgc2V0IHRoZSAnY29udmVydGVyJyBhdHRyaWJ1dGUgaW4gdGhlIEZvcm1hdHRlciBjbGFzcy4KICAgICAgICApB9oJY29udmVydGVycpgAAAByhAAAANoIc3RyZnRpbWXaE2RlZmF1bHRfdGltZV9mb3JtYXTaE2RlZmF1bHRfbXNlY19mb3JtYXRymQAAACkFcq0AAABy3QAAAHIZAQAAcrEAAADaAXNzBQAAACAgICAgcj4AAADaCmZvcm1hdFRpbWV6FEZvcm1hdHRlci5mb3JtYXRUaW1lbgIAAHNvAAAAgADwJAAOEo9eiV6YRp9OmU7TDSuIAtkLEtwQFJcNkQ2Y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AFkAjDl3AHgDWQB3ASMAdCwAAAAAAAAAACQAcgMBAFkAjEh3AHgDWQB3ASMAfgJ+A34EdwB4A1kAdwEpDGFEAgAACiAgICAgICAgSGFuZGxlIGVycm9ycyB3aGljaCBvY2N1ciBkdXJpbmcgYW4gZW1pdCgpIGNhbGwuCgogICAgICAgIFRoaXMgbWV0aG9kIHNob3VsZCBiZSBjYWxsZWQgZnJvbSBoYW5kbGVycyB3aGVuIGFuIGV4Y2VwdGlvbiBpcwogICAgICAgIGVuY291bnRlcmVkIGR1cmluZyBhbiBlbWl0KCkgY2FsbC4gSWYgcmFpc2VFeGNlcHRpb25zIGlzIGZhbHNlLAogICAgICAgIGV4Y2VwdGlvbnMgZ2V0IHNpbGVudGx5IGlnbm9yZWQuIFRoaXMgaXMgd2hhdCBpcyBtb3N0bHkgd2FudGVkCiAgICAgICAgZm9yIGEgbG9nZ2luZyBzeXN0ZW0gLSBtb3N0IHVzZXJzIHdpbGwgbm90IGNhcmUgYWJvdXQgZXJyb3JzIGluCiAgICAgICAgdGhlIGxvZ2dpbmcgc3lzdGVtLCB0aGV5IGFyZSBtb3JlIGludGVyZXN0ZWQgaW4gYXBwbGljYXRpb24gZXJyb3JzLgogICAgICAgIFlvdSBjb3VsZCwgaG93ZXZlciwgcmVwbGFjZSB0aGlzIHdpdGggYSBjdXN0b20gaGFuZGxlciBpZiB5b3Ugd2lzaC4KICAgICAgICBUaGUgcmVjb3JkIHdoaWNoIHdhcyBiZWluZyBwcm9jZXNzZWQgaXMgcGFzc2VkIGluIHRvIHRoaXMgbWV0aG9kLgogICAgICAgIHoWLS0tIExvZ2dpbmcgZXJyb3IgLS0tCk56DENhbGwgc3RhY2s6CnICAAAAqQHaBGZpbGV6EUxvZ2dlZCBmcm9tIGZpbGUgegcsIGxpbmUgciUBAAB6CU1lc3NhZ2U6IHoMCkFyZ3VtZW50czogendVbmFibGUgdG8gcHJpbnQgdGhlIG1lc3NhZ2UgYW5kIGFyZ3VtZW50cyAtIHBvc3NpYmxlIGZvcm1hdHRpbmcgZXJyb3IuClVzZSB0aGUgdHJhY2ViYWNrIGFib3ZlIHRvIGhlbHAgZmluZCB0aGUgZXJyb3IuCikXci4AAABySwAAANoGc3RkZXJycpMA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ZSBoYW5kbGVyIHRvIHRoZSByb290IGxvZ2dlci4KCiAgICBBIG51bWJlciBvZiBvcHRpb25hbCBrZXl3b3JkIGFyZ3VtZW50cyBtYXkgYmUgc3BlY2lmaWVkLCB3aGljaCBjYW4gYWx0ZXIKICAgIHRoZSBkZWZhdWx0IGJlaGF2aW91ci4KCiAgICBmaWxlbmFtZSAgU3BlY2lmaWVzIHRoYXQgYSBGaWxlSGFuZGxlciBiZSBjcmVhdGVkLCB1c2luZyB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAgZmlsZW5hbWUsIHJhdGhlciB0aGFuIGEgU3RyZWFtSGFuZGxlci4KICAgIGZpbGVtb2RlICBTcGVjaWZpZXMgdGhlIG1vZGUgdG8gb3BlbiB0aGUgZmlsZSwgaWYgZmlsZW5hbWUgaXMgc3BlY2lmaWVkCiAgICAgICAgICAgICAgKGlmIGZpbGVtb2RlIGlzIHVuc3BlY2lmaWVkLCBpdCBkZWZhdWx0cyB0byAnYScpLgogICAgZm9ybWF0ICAgIFVzZSB0aGUgc3BlY2lmaWVkIGZvcm1hdCBzdHJpbmcgZm9yIHRoZSBoYW5kbGVyLgogICAgZGF0ZWZtdCAgIFVzZSB0aGUgc3BlY2lmaWVkIGRhdGUvdGltZSBmb3JtYXQuCiAgICBzdHlsZSAgICAgSWYgYSBmb3JtYXQgc3RyaW5nIGlzIHNwZWNpZmllZCwgdXNlIHRoaXMgdG8gc3BlY2lmeSB0aGUKICAgICAgICAgICAgICB0eXBlIG9mIGZvcm1hdCBzdHJpbmcgKHBvc3NpYmxlIHZhbHVlcyAnJScsICd7JywgJyQnLCBmb3IKICAgICAgICAgICAgICAlLWZvcm1hdHRpbmcsIDptZXRoOmBzdHIuZm9ybWF0YCBhbmQgOmNsYXNzOmBzdHJpbmcuVGVtcGxhdGVgCiAgICAgICAgICAgICAgLSBkZWZhdWx0cyB0byAnJScpLgogICAgbGV2ZWwgICAgIFNldCB0aGUgcm9vdCBsb2dnZXIgbGV2ZWwgdG8gdGhlIHNwZWNpZmllZCBsZXZlbC4KICAgIHN0cmVhbSAgICBVc2UgdGhlIHNwZWNpZmllZCBzdHJlYW0gdG8gaW5pdGlhbGl6ZSB0aGUgU3RyZWFtSGFuZGxlci4gTm90ZQogICAgICAgICAgICAgIHRoYXQgdGhpcyBhcmd1bWVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAnZmlsZW5hbWUnIC0gaWYgYm90aAogICAgICAgICAgICAgIGFyZSBwcmVzZW50LCAnc3RyZWFtJyBpcyBpZ25vcmVkLgogICAgaGFuZGxlcnMgIElmIHNwZWNpZmllZCwgdGhpcyBzaG91bGQgYmUgYW4gaXRlcmFibGUgb2YgYWxyZWFkeSBjcmVhdGVkCiAgICAgICAgICAgICAgaGFuZGxlcnMsIHdoaWNoIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHJvb3QgbG9nZ2VyLiBBbnkgaGFuZGxlcgogICAgICAgICAgICAgIGluIHRoZSBsaXN0IHdoaWNoIGRvZXMgbm90IGhhdmUgYSBmb3JtYXR0ZXIgYXNzaWduZWQgd2lsbCBiZQogICAgICAgICAgICAgIGFzc2lnbmVkIHRoZSBmb3JtYXR0ZXIgY3JlYXRlZCBpbiB0aGlzIGZ1bmN0aW9uLgogICAgZm9yY2UgICAgIElmIHRoaXMga2V5d29yZCAgaXMgc3BlY2lmaWVkIGFzIHRydWUsIGFueSBleGlzdGluZyBoYW5kbGVycwogICAgICAgICAgICAgIGF0dGFjaGVkIHRvIHRoZSByb290IGxvZ2dlciBhcmUgcmVtb3ZlZCBhbmQgY2xvc2VkLCBiZWZvcmUKICAgICAgICAgICAgICBjYXJyeWluZyBvdXQgdGhlIGNvbmZpZ3VyYXRpb24gYXMgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlcgogICAgICAgICAgICAgIGFyZ3VtZW50cy4KICAgIGVuY29kaW5nICBJZiBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBhIGZpbGVuYW1lLCB0aGlzIGVuY29kaW5nIGlzIHBhc3NlZCB0bwogICAgICAgICAgICAgIHRoZSBjcmVhdGVkIEZpbGVIYW5kbGVyLCBjYXVzaW5nIGl0IHRvIGJlIHVzZWQgd2hlbiB0aGUgZmlsZSBpcwogICAgICAgICAgICAgIG9wZW5lZC4KICAgIGVycm9ycyAgICBJZiBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBhIGZpbGVuYW1lLCB0aGlzIHZhbHVlIGlzIHBhc3NlZCB0byB0aGUKICAgICAgICAgICAgICBjcmVhdGVkIEZpbGVIYW5kbGVyLCBjYXVzaW5nIGl0IHRvIGJlIHVzZWQgd2hlbiB0aGUgZmlsZSBpcwogICAgICAgICAgICAgIG9wZW5lZCBpbiB0ZXh0IG1vZGUuIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHZhbHVlIGlzCiAgICAgICAgICAgICAgYGJhY2tzbGFzaHJlcGxhY2VgLgoKICAgIE5vdGUgdGhhdCB5b3UgY291bGQgc3BlY2lmeSBhIHN0cmVhbSBjcmVhdGVkIHVzaW5nIG9wZW4oZmlsZW5hbWUsIG1vZGUpCiAgICByYXRoZXIgdGhhbiBwYXNzaW5nIHRoZSBmaWxlbmFtZSBhbmQgbW9kZSBpbi4gSG93ZXZlciwgaXQgc2hvdWxkIGJlCiAgICByZW1lbWJlcmVkIHRoYXQgU3RyZWFtSGFuZGxlciBkb2VzIG5vdCBjbG9zZSBpdHMgc3RyZWFtIChzaW5jZSBpdCBtYXkgYmUKICAgIHVzaW5nIHN5cy5zdGRvdXQgb3Igc3lzLnN0ZGVyciksIHdoZXJlYXMgRmlsZUhhbmRsZXIgY2xvc2VzIGl0cyBzdHJlYW0KICAgIHdoZW4gdGhlIGhhbmRsZXIgaXMgY2xvc2VkLgoKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICAgICBBZGRlZCB0aGUgYGBzdHlsZWBgIHBhcmFtZXRlci4KCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgQWRkZWQgdGhlIGBgaGFuZGxlcnNgYCBwYXJhbWV0ZXIuIEEgYGBWYWx1ZUVycm9yYGAgaXMgbm93IHRocm93biBmb3IKICAgICAgIGluY29tcGF0aWJsZSBhcmd1bWVudHMgKGUuZy4gYGBoYW5kbGVyc2BgIHNwZWNpZmllZCB0b2dldGhlciB3aXRoCiAgICAgICBgYGZpbGVuYW1lYGAvYGBmaWxlbW9kZWBgLCBvciBgYGZpbGVuYW1lYGAvYGBmaWxlbW9kZWBgIHNwZWNpZmllZAogICAgICAgdG9nZXRoZXIgd2l0aCBgYHN0cmVhbWBgLCBvciBgYGhh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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.71 KB
lrw-r--r--
2026-01-08 18:21:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-312.opt-2.pyc
38.83 KB
lrw-r--r--
2026-01-08 18:21:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-312.pyc
42.77 KB
lrw-r--r--
2026-01-08 18:21:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.opt-1.pyc
65.61 KB
lrw-r--r--
2026-01-08 18:21:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.opt-2.pyc
47.08 KB
lrw-r--r--
2026-01-08 18:21:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.pyc
65.61 KB
lrw-r--r--
2026-01-08 18:21:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.opt-1.pyc
93.12 KB
lrw-r--r--
2026-01-08 18:21:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.opt-2.pyc
64.27 KB
lrw-r--r--
2026-01-08 18:21:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
93.17 KB
lrw-r--r--
2026-01-08 18:21:52
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).