/usr/lib64/python3.12/__pycache__
NameSizeModeActions
abc.cpython-312.opt-1.pyc80420644editdlrm
abc.cpython-312.opt-2.pyc48650644editdlrm
abc.cpython-312.pyc80420644editdlrm
aifc.cpython-312.opt-1.pyc427930644editdlrm
aifc.cpython-312.opt-2.pyc375920644editdlrm
aifc.cpython-312.pyc427930644editdlrm
antigravity.cpython-312.opt-1.pyc10110644editdlrm
antigravity.cpython-312.opt-2.pyc8740644editdlrm
antigravity.cpython-312.pyc10110644editdlrm
argparse.cpython-312.opt-1.pyc1006900644editdlrm
argparse.cpython-312.opt-2.pyc910510644editdlrm
argparse.cpython-312.pyc1010570644editdlrm
ast.cpython-312.opt-1.pyc995500644editdlrm
ast.cpython-312.opt-2.pyc911720644editdlrm
ast.cpython-312.pyc997360644editdlrm
base64.cpython-312.opt-1.pyc240990644editdlrm
base64.cpython-312.opt-2.pyc194780644editdlrm
base64.cpython-312.pyc243990644editdlrm
bdb.cpython-312.opt-1.pyc386420644editdlrm
bdb.cpython-312.opt-2.pyc293160644editdlrm
bdb.cpython-312.pyc386420644editdlrm
bisect.cpython-312.opt-1.pyc36430644editdlrm
bisect.cpython-312.opt-2.pyc20600644editdlrm
bisect.cpython-312.pyc36430644editdlrm
bz2.cpython-312.opt-1.pyc151350644editdlrm
bz2.cpython-312.opt-2.pyc102640644editdlrm
bz2.cpython-312.pyc151350644editdlrm
calendar.cpython-312.opt-1.pyc399040644editdlrm
calendar.cpython-312.opt-2.pyc356700644editdlrm
calendar.cpython-312.pyc399040644editdlrm
cgi.cpython-312.opt-1.pyc402270644editdlrm
cgi.cpython-312.opt-2.pyc317210644editdlrm
cgi.cpython-312.pyc402270644editdlrm
cgitb.cpython-312.opt-1.pyc172790644editdlrm
cgitb.cpython-312.opt-2.pyc157210644editdlrm
cgitb.cpython-312.pyc172790644editdlrm
chunk.cpython-312.opt-1.pyc73120644editdlrm
chunk.cpython-312.opt-2.pyc52150644editdlrm
chunk.cpython-312.pyc73120644editdlrm
cmd.cpython-312.opt-1.pyc185890644editdlrm
cmd.cpython-312.opt-2.pyc132650644editdlrm
cmd.cpython-312.pyc185890644editdlrm
code.cpython-312.opt-1.pyc136700644editdlrm
code.cpython-312.opt-2.pyc85000644editdlrm
code.cpython-312.pyc136700644editdlrm
codecs.cpython-312.opt-1.pyc422650644editdlrm
codecs.cpython-312.opt-2.pyc269410644editdlrm
codecs.cpython-312.pyc422650644editdlrm
codeop.cpython-312.opt-1.pyc69020644editdlrm
codeop.cpython-312.opt-2.pyc39180644editdlrm
codeop.cpython-312.pyc69020644editdlrm
colorsys.cpython-312.opt-1.pyc46440644editdlrm
colorsys.cpython-312.opt-2.pyc40420644editdlrm
colorsys.cpython-312.pyc46440644editdlrm
compileall.cpython-312.opt-1.pyc203490644editdlrm
compileall.cpython-312.opt-2.pyc171200644editdlrm
compileall.cpython-312.pyc203490644editdlrm
configparser.cpython-312.opt-1.pyc634840644editdlrm
configparser.cpython-312.opt-2.pyc487620644editdlrm
configparser.cpython-312.pyc634840644editdlrm
contextlib.cpython-312.opt-1.pyc303370644editdlrm
contextlib.cpython-312.opt-2.pyc242850644editdlrm
contextlib.cpython-312.pyc303520644editdlrm
contextvars.cpython-312.opt-1.pyc2630644editdlrm
contextvars.cpython-312.opt-2.pyc2630644editdlrm
contextvars.cpython-312.pyc2630644editdlrm
copy.cpython-312.opt-1.pyc97590644editdlrm
copy.cpython-312.opt-2.pyc74810644editdlrm
copy.cpython-312.pyc97590644editdlrm
copyreg.cpython-312.opt-1.pyc73700644editdlrm
copyreg.cpython-312.opt-2.pyc65970644editdlrm
copyreg.cpython-312.pyc74010644editdlrm
cProfile.cpython-312.opt-1.pyc85640644editdlrm
cProfile.cpython-312.opt-2.pyc81110644editdlrm
cProfile.cpython-312.pyc85640644editdlrm
crypt.cpython-312.opt-1.pyc53610644editdlrm
crypt.cpython-312.opt-2.pyc47230644editdlrm
crypt.cpython-312.pyc53610644editdlrm
csv.cpython-312.opt-1.pyc177380644editdlrm
csv.cpython-312.opt-2.pyc157450644editdlrm
csv.cpython-312.pyc177380644editdlrm
dataclasses.cpython-312.opt-1.pyc448350644editdlrm
dataclasses.cpython-312.opt-2.pyc409670644editdlrm
dataclasses.cpython-312.pyc448930644editdlrm
datetime.cpython-312.opt-1.pyc4110644editdlrm
datetime.cpython-312.opt-2.pyc4110644editdlrm
datetime.cpython-312.pyc4110644editdlrm
decimal.cpython-312.opt-1.pyc29330644editdlrm
decimal.cpython-312.opt-2.pyc3710644editdlrm
decimal.cpython-312.pyc29330644editdlrm
difflib.cpython-312.opt-1.pyc753380644editdlrm
difflib.cpython-312.opt-2.pyc420920644editdlrm
difflib.cpython-312.pyc753810644editdlrm
dis.cpython-312.opt-1.pyc344040644editdlrm
dis.cpython-312.opt-2.pyc300650644editdlrm
dis.cpython-312.pyc344430644editdlrm
doctest.cpython-312.opt-1.pyc1053560644editdlrm
doctest.cpython-312.opt-2.pyc703610644editdlrm
doctest.cpython-312.pyc1056690644editdlrm
enum.cpython-312.opt-1.pyc803460644editdlrm
enum.cpython-312.opt-2.pyc712640644editdlrm
enum.cpython-312.pyc803460644editdlrm
filecmp.cpython-312.opt-1.pyc146670644editdlrm
filecmp.cpython-312.opt-2.pyc120600644editdlrm
filecmp.cpython-312.pyc146670644editdlrm
fileinput.cpython-312.opt-1.pyc202700644editdlrm
fileinput.cpython-312.opt-2.pyc148280644editdlrm
fileinput.cpython-312.pyc202700644editdlrm
fnmatch.cpython-312.opt-1.pyc63600644editdlrm
fnmatch.cpython-312.opt-2.pyc51820644editdlrm
fnmatch.cpython-312.pyc64820644editdlrm
fractions.cpython-312.opt-1.pyc367570644editdlrm
fractions.cpython-312.opt-2.pyc282300644editdlrm
fractions.cpython-312.pyc367570644editdlrm
ftplib.cpython-312.opt-1.pyc425750644editdlrm
ftplib.cpython-312.opt-2.pyc324410644editdlrm
ftplib.cpython-312.pyc425750644editdlrm
functools.cpython-312.opt-1.pyc403440644editdlrm
functools.cpython-312.opt-2.pyc337850644editdlrm
functools.cpython-312.pyc403440644editdlrm
genericpath.cpython-312.opt-1.pyc68120644editdlrm
genericpath.cpython-312.opt-2.pyc57140644editdlrm
genericpath.cpython-312.pyc68120644editdlrm
getopt.cpython-312.opt-1.pyc83100644editdlrm
getopt.cpython-312.opt-2.pyc57740644editdlrm
getopt.cpython-312.pyc83610644editdlrm
getpass.cpython-312.opt-1.pyc68330644editdlrm
getpass.cpython-312.opt-2.pyc56700644editdlrm
getpass.cpython-312.pyc68330644editdlrm
gettext.cpython-312.opt-1.pyc217850644editdlrm
gettext.cpython-312.opt-2.pyc211160644editdlrm
gettext.cpython-312.pyc217850644editdlrm
glob.cpython-312.opt-1.pyc97420644editdlrm
glob.cpython-312.opt-2.pyc88040644editdlrm
glob.cpython-312.pyc98030644editdlrm
graphlib.cpython-312.opt-1.pyc102270644editdlrm
graphlib.cpython-312.opt-2.pyc68510644editdlrm
graphlib.cpython-312.pyc102960644editdlrm
gzip.cpython-312.opt-1.pyc323550644editdlrm
gzip.cpython-312.opt-2.pyc280100644editdlrm
gzip.cpython-312.pyc323550644editdlrm
hashlib.cpython-312.opt-1.pyc82850644editdlrm
hashlib.cpython-312.opt-2.pyc75320644editdlrm
hashlib.cpython-312.pyc82850644editdlrm
heapq.cpython-312.opt-1.pyc179400644editdlrm
heapq.cpython-312.opt-2.pyc148540644editdlrm
heapq.cpython-312.pyc179400644editdlrm
hmac.cpython-312.opt-1.pyc109950644editdlrm
hmac.cpython-312.opt-2.pyc85380644editdlrm
hmac.cpython-312.pyc109950644editdlrm
imaplib.cpython-312.opt-1.pyc592360644editdlrm
imaplib.cpython-312.opt-2.pyc473070644editdlrm
imaplib.cpython-312.pyc634830644editdlrm
imghdr.cpython-312.opt-1.pyc69360644editdlrm
imghdr.cpython-312.opt-2.pyc63650644editdlrm
imghdr.cpython-312.pyc69360644editdlrm
inspect.cpython-312.opt-1.pyc1340410644editdlrm
inspect.cpython-312.opt-2.pyc1088850644editdlrm
inspect.cpython-312.pyc1343650644editdlrm
io.cpython-312.opt-1.pyc41310644editdlrm
io.cpython-312.opt-2.pyc26460644editdlrm
io.cpython-312.pyc41310644editdlrm
ipaddress.cpython-312.opt-1.pyc937780644editdlrm
ipaddress.cpython-312.opt-2.pyc683970644editdlrm
ipaddress.cpython-312.pyc937780644editdlrm
keyword.cpython-312.opt-1.pyc10430644editdlrm
keyword.cpython-312.opt-2.pyc6390644editdlrm
keyword.cpython-312.pyc10430644editdlrm
linecache.cpython-312.opt-1.pyc65510644editdlrm
linecache.cpython-312.opt-2.pyc53670644editdlrm
linecache.cpython-312.pyc65510644editdlrm
locale.cpython-312.opt-1.pyc594900644editdlrm
locale.cpython-312.opt-2.pyc550880644editdlrm
locale.cpython-312.pyc594900644editdlrm
lzma.cpython-312.opt-1.pyc158570644editdlrm
lzma.cpython-312.opt-2.pyc97730644editdlrm
lzma.cpython-312.pyc158570644editdlrm
mailbox.cpython-312.opt-1.pyc1112750644editdlrm
mailbox.cpython-312.opt-2.pyc1058340644editdlrm
mailbox.cpython-312.pyc1113810644editdlrm
mailcap.cpython-312.opt-1.pyc110950644editdlrm
mailcap.cpython-312.opt-2.pyc95710644editdlrm
mailcap.cpython-312.pyc110950644editdlrm
mimetypes.cpython-312.opt-1.pyc244480644editdlrm
mimetypes.cpython-312.opt-2.pyc185220644editdlrm
mimetypes.cpython-312.pyc244480644editdlrm
modulefinder.cpython-312.opt-1.pyc277150644editdlrm
modulefinder.cpython-312.opt-2.pyc268360644editdlrm
modulefinder.cpython-312.pyc278190644editdlrm
netrc.cpython-312.opt-1.pyc88570644editdlrm
netrc.cpython-312.opt-2.pyc86370644editdlrm
netrc.cpython-312.pyc88570644editdlrm
nntplib.cpython-312.opt-1.pyc449120644editdlrm
nntplib.cpython-312.opt-2.pyc336490644editdlrm
nntplib.cpython-312.pyc449120644editdlrm
ntpath.cpython-312.opt-1.pyc260970644editdlrm
ntpath.cpython-312.opt-2.pyc238230644editdlrm
ntpath.cpython-312.pyc260970644editdlrm
nturl2path.cpython-312.opt-1.pyc27230644editdlrm
nturl2path.cpython-312.opt-2.pyc23220644editdlrm
nturl2path.cpython-312.pyc27230644editdlrm
numbers.cpython-312.opt-1.pyc139690644editdlrm
numbers.cpython-312.opt-2.pyc103970644editdlrm
numbers.cpython-312.pyc139690644editdlrm
opcode.cpython-312.opt-1.pyc146760644editdlrm
opcode.cpython-312.opt-2.pyc145400644editdlrm
opcode.cpython-312.pyc147180644editdlrm
operator.cpython-312.opt-1.pyc173540644editdlrm
operator.cpython-312.opt-2.pyc151510644editdlrm
operator.cpython-312.pyc173540644editdlrm
optparse.cpython-312.opt-1.pyc673380644editdlrm
optparse.cpython-312.opt-2.pyc551910644editdlrm
optparse.cpython-312.pyc674430644editdlrm
os.cpython-312.opt-1.pyc446210644editdlrm
os.cpython-312.opt-2.pyc325550644editdlrm
os.cpython-312.pyc446630644editdlrm
pathlib.cpython-312.opt-1.pyc617000644editdlrm
pathlib.cpython-312.opt-2.pyc524170644editdlrm
pathlib.cpython-312.pyc617000644editdlrm
pdb.cpython-312.opt-1.pyc853380644editdlrm
pdb.cpython-312.opt-2.pyc697760644editdlrm
pdb.cpython-312.pyc854460644editdlrm
pickle.cpython-312.opt-1.pyc774020644editdlrm
pickle.cpython-312.opt-2.pyc716050644editdlrm
pickle.cpython-312.pyc777160644editdlrm
pickletools.cpython-312.opt-1.pyc793980644editdlrm
pickletools.cpython-312.opt-2.pyc704870644editdlrm
pickletools.cpython-312.pyc812200644editdlrm
pipes.cpython-312.opt-1.pyc108910644editdlrm
pipes.cpython-312.opt-2.pyc80780644editdlrm
pipes.cpython-312.pyc108910644editdlrm
pkgutil.cpython-312.opt-1.pyc198890644editdlrm
pkgutil.cpython-312.opt-2.pyc137480644editdlrm
pkgutil.cpython-312.pyc198890644editdlrm
platform.cpython-312.opt-1.pyc415810644editdlrm
platform.cpython-312.opt-2.pyc336930644editdlrm
platform.cpython-312.pyc415810644editdlrm
plistlib.cpython-312.opt-1.pyc410600644editdlrm
plistlib.cpython-312.opt-2.pyc386430644editdlrm
plistlib.cpython-312.pyc412140644editdlrm
poplib.cpython-312.opt-1.pyc189120644editdlrm
poplib.cpython-312.opt-2.pyc142770644editdlrm
poplib.cpython-312.pyc189120644editdlrm
posixpath.cpython-312.opt-1.pyc178330644editdlrm
posixpath.cpython-312.opt-2.pyc157460644editdlrm
posixpath.cpython-312.pyc178330644editdlrm
pprint.cpython-312.opt-1.pyc293860644editdlrm
pprint.cpython-312.opt-2.pyc272350644editdlrm
pprint.cpython-312.pyc294300644editdlrm
profile.cpython-312.opt-1.pyc219490644editdlrm
profile.cpython-312.opt-2.pyc189970644editdlrm
profile.cpython-312.pyc225050644editdlrm
pstats.cpython-312.opt-1.pyc377370644editdlrm
pstats.cpython-312.opt-2.pyc348750644editdlrm
pstats.cpython-312.pyc377370644editdlrm
pty.cpython-312.opt-1.pyc73550644editdlrm
pty.cpython-312.opt-2.pyc65980644editdlrm
pty.cpython-312.pyc73550644editdlrm
pyclbr.cpython-312.opt-1.pyc148580644editdlrm
pyclbr.cpython-312.opt-2.pyc118440644editdlrm
pyclbr.cpython-312.pyc148580644editdlrm
pydoc.cpython-312.opt-1.pyc1427930644editdlrm
pydoc.cpython-312.opt-2.pyc1331490644editdlrm
pydoc.cpython-312.pyc1429000644editdlrm
py_compile.cpython-312.opt-1.pyc100300644editdlrm
py_compile.cpython-312.opt-2.pyc67280644editdlrm
py_compile.cpython-312.pyc100300644editdlrm
queue.cpython-312.opt-1.pyc146610644editdlrm
queue.cpython-312.opt-2.pyc104310644editdlrm
queue.cpython-312.pyc146610644editdlrm
quopri.cpython-312.opt-1.pyc89960644editdlrm
quopri.cpython-312.opt-2.pyc79970644editdlrm
quopri.cpython-312.pyc93050644editdlrm
random.cpython-312.opt-1.pyc330940644editdlrm
random.cpython-312.opt-2.pyc246650644editdlrm
random.cpython-312.pyc331470644editdlrm
reprlib.cpython-312.opt-1.pyc102280644editdlrm
reprlib.cpython-312.opt-2.pyc100810644editdlrm
reprlib.cpython-312.pyc102280644editdlrm
rlcompleter.cpython-312.opt-1.pyc82530644editdlrm
rlcompleter.cpython-312.opt-2.pyc56220644editdlrm
rlcompleter.cpython-312.pyc82530644editdlrm
runpy.cpython-312.opt-1.pyc142980644editdlrm
runpy.cpython-312.opt-2.pyc118970644editdlrm
runpy.cpython-312.pyc142980644editdlrm
sched.cpython-312.opt-1.pyc76890644editdlrm
sched.cpython-312.opt-2.pyc47080644editdlrm
sched.cpython-312.pyc76890644editdlrm
secrets.cpython-312.opt-1.pyc25580644editdlrm
secrets.cpython-312.opt-2.pyc15430644editdlrm
secrets.cpython-312.pyc25580644editdlrm
selectors.cpython-312.opt-1.pyc261050644editdlrm
selectors.cpython-312.opt-2.pyc221090644editdlrm
selectors.cpython-312.pyc261050644editdlrm
shelve.cpython-312.opt-1.pyc129050644editdlrm
shelve.cpython-312.opt-2.pyc87810644editdlrm
shelve.cpython-312.pyc129050644editdlrm
shlex.cpython-312.opt-1.pyc141540644editdlrm
shlex.cpython-312.opt-2.pyc136530644editdlrm
shlex.cpython-312.pyc141540644editdlrm
shutil.cpython-312.opt-1.pyc660020644editdlrm
shutil.cpython-312.opt-2.pyc534560644editdlrm
shutil.cpython-312.pyc660600644editdlrm
signal.cpython-312.opt-1.pyc44590644editdlrm
signal.cpython-312.opt-2.pyc42500644editdlrm
signal.cpython-312.pyc44590644editdlrm
site.cpython-312.opt-1.pyc286850644editdlrm
site.cpython-312.opt-2.pyc231170644editdlrm
site.cpython-312.pyc286850644editdlrm
smtplib.cpython-312.opt-1.pyc480520644editdlrm
smtplib.cpython-312.opt-2.pyc322350644editdlrm
smtplib.cpython-312.pyc482050644editdlrm
sndhdr.cpython-312.opt-1.pyc106840644editdlrm
sndhdr.cpython-312.opt-2.pyc93600644editdlrm
sndhdr.cpython-312.pyc106840644editdlrm
socket.cpython-312.opt-1.pyc419110644editdlrm
socket.cpython-312.opt-2.pyc332860644editdlrm
socket.cpython-312.pyc419470644editdlrm
socketserver.cpython-312.opt-1.pyc343590644editdlrm
socketserver.cpython-312.opt-2.pyc238310644editdlrm
socketserver.cpython-312.pyc343590644editdlrm
sre_compile.cpython-312.opt-1.pyc6310644editdlrm
sre_compile.cpython-312.opt-2.pyc6310644editdlrm
sre_compile.cpython-312.pyc6310644editdlrm
sre_constants.cpython-312.opt-1.pyc6340644editdlrm
sre_constants.cpython-312.opt-2.pyc6340644editdlrm
sre_constants.cpython-312.pyc6340644editdlrm
sre_parse.cpython-312.opt-1.pyc6270644editdlrm
sre_parse.cpython-312.opt-2.pyc6270644editdlrm
sre_parse.cpython-312.pyc6270644editdlrm
ssl.cpython-312.opt-1.pyc630840644editdlrm
ssl.cpython-312.opt-2.pyc527970644editdlrm
ssl.cpython-312.pyc630840644editdlrm
stat.cpython-312.opt-1.pyc52230644editdlrm
stat.cpython-312.opt-2.pyc46080644editdlrm
stat.cpython-312.pyc52230644editdlrm
statistics.cpython-312.opt-1.pyc552090644editdlrm
statistics.cpython-312.opt-2.pyc343260644editdlrm
statistics.cpython-312.pyc554090644editdlrm
string.cpython-312.opt-1.pyc114640644editdlrm
string.cpython-312.opt-2.pyc103730644editdlrm
string.cpython-312.pyc114640644editdlrm
stringprep.cpython-312.opt-1.pyc250860644editdlrm
stringprep.cpython-312.opt-2.pyc248680644editdlrm
stringprep.cpython-312.pyc251660644editdlrm
struct.cpython-312.opt-1.pyc3270644editdlrm
struct.cpython-312.opt-2.pyc3270644editdlrm
struct.cpython-312.pyc3270644editdlrm
subprocess.cpython-312.opt-1.pyc789210644editdlrm
subprocess.cpython-312.opt-2.pyc669460644editdlrm
subprocess.cpython-312.pyc790560644editdlrm
sunau.cpython-312.opt-1.pyc254010644editdlrm
sunau.cpython-312.opt-2.pyc208150644editdlrm
sunau.cpython-312.pyc254010644editdlrm
symtable.cpython-312.opt-1.pyc196070644editdlrm
symtable.cpython-312.opt-2.pyc170760644editdlrm
symtable.cpython-312.pyc197790644editdlrm
sysconfig.cpython-312.opt-1.pyc302280644editdlrm
sysconfig.cpython-312.opt-2.pyc274640644editdlrm
sysconfig.cpython-312.pyc302280644editdlrm
tabnanny.cpython-312.opt-1.pyc121320644editdlrm
tabnanny.cpython-312.opt-2.pyc112140644editdlrm
tabnanny.cpython-312.pyc121320644editdlrm
tarfile.cpython-312.opt-1.pyc1243270644editdlrm
tarfile.cpython-312.opt-2.pyc1097290644editdlrm
tarfile.cpython-312.pyc1243450644editdlrm
telnetlib.cpython-312.opt-1.pyc283750644editdlrm
telnetlib.cpython-312.opt-2.pyc210500644editdlrm
telnetlib.cpython-312.pyc283750644editdlrm
tempfile.cpython-312.opt-1.pyc406020644editdlrm
tempfile.cpython-312.opt-2.pyc333030644editdlrm
tempfile.cpython-312.pyc406020644editdlrm
textwrap.cpython-312.opt-1.pyc182820644editdlrm
textwrap.cpython-312.opt-2.pyc111630644editdlrm
textwrap.cpython-312.pyc182820644editdlrm
this.cpython-312.opt-1.pyc14040644editdlrm
this.cpython-312.opt-2.pyc14040644editdlrm
this.cpython-312.pyc14040644editdlrm
threading.cpython-312.opt-1.pyc640330644editdlrm
threading.cpython-312.opt-2.pyc456610644editdlrm
threading.cpython-312.pyc651270644editdlrm
timeit.cpython-312.opt-1.pyc148480644editdlrm
timeit.cpython-312.opt-2.pyc90400644editdlrm
timeit.cpython-312.pyc148480644editdlrm
token.cpython-312.opt-1.pyc35710644editdlrm
token.cpython-312.opt-2.pyc35420644editdlrm
token.cpython-312.pyc35710644editdlrm
tokenize.cpython-312.opt-1.pyc253780644editdlrm
tokenize.cpython-312.opt-2.pyc213220644editdlrm
tokenize.cpython-312.pyc253780644editdlrm
trace.cpython-312.opt-1.pyc331090644editdlrm
trace.cpython-312.opt-2.pyc302200644editdlrm
trace.cpython-312.pyc331090644editdlrm
traceback.cpython-312.opt-1.pyc513580644editdlrm
traceback.cpython-312.opt-2.pyc414010644editdlrm
traceback.cpython-312.pyc514690644editdlrm
tracemalloc.cpython-312.opt-1.pyc268500644editdlrm
tracemalloc.cpython-312.opt-2.pyc255100644editdlrm
tracemalloc.cpython-312.pyc268500644editdlrm
tty.cpython-312.opt-1.pyc26700644editdlrm
tty.cpython-312.opt-2.pyc25400644editdlrm
tty.cpython-312.pyc26700644editdlrm
types.cpython-312.opt-1.pyc149470644editdlrm
types.cpython-312.opt-2.pyc128510644editdlrm
types.cpython-312.pyc149470644editdlrm
typing.cpython-312.opt-1.pyc1416630644editdlrm
typing.cpython-312.opt-2.pyc1080070644editdlrm
typing.cpython-312.pyc1423880644editdlrm
uu.cpython-312.opt-1.pyc77980644editdlrm
uu.cpython-312.opt-2.pyc75710644editdlrm
uu.cpython-312.pyc77980644editdlrm
uuid.cpython-312.opt-1.pyc327550644editdlrm
uuid.cpython-312.opt-2.pyc251040644editdlrm
uuid.cpython-312.pyc329880644editdlrm
warnings.cpython-312.opt-1.pyc230120644editdlrm
warnings.cpython-312.opt-2.pyc203210644editdlrm
warnings.cpython-312.pyc238290644editdlrm
wave.cpython-312.opt-1.pyc319850644editdlrm
wave.cpython-312.opt-2.pyc254890644editdlrm
wave.cpython-312.pyc320760644editdlrm
weakref.cpython-312.opt-1.pyc311610644editdlrm
weakref.cpython-312.opt-2.pyc279500644editdlrm
weakref.cpython-312.pyc312130644editdlrm
webbrowser.cpython-312.opt-1.pyc271750644editdlrm
webbrowser.cpython-312.opt-2.pyc247210644editdlrm
webbrowser.cpython-312.pyc272000644editdlrm
xdrlib.cpython-312.opt-1.pyc118280644editdlrm
xdrlib.cpython-312.opt-2.pyc113620644editdlrm
xdrlib.cpython-312.pyc118280644editdlrm
zipapp.cpython-312.opt-1.pyc99140644editdlrm
zipapp.cpython-312.opt-2.pyc87620644editdlrm
zipapp.cpython-312.pyc99140644editdlrm
zipimport.cpython-312.opt-1.pyc240670644editdlrm
zipimport.cpython-312.opt-2.pyc215550644editdlrm
zipimport.cpython-312.pyc241550644editdlrm
_aix_support.cpython-312.opt-1.pyc47520644editdlrm
_aix_support.cpython-312.opt-2.pyc33760644editdlrm
_aix_support.cpython-312.pyc47520644editdlrm
_collections_abc.cpython-312.opt-1.pyc458240644editdlrm
_collections_abc.cpython-312.opt-2.pyc397820644editdlrm
_collections_abc.cpython-312.pyc458240644editdlrm
_compat_pickle.cpython-312.opt-1.pyc70680644editdlrm
_compat_pickle.cpython-312.opt-2.pyc70680644editdlrm
_compat_pickle.cpython-312.pyc72010644editdlrm
_compression.cpython-312.opt-1.pyc74800644editdlrm
_compression.cpython-312.opt-2.pyc72830644editdlrm
_compression.cpython-312.pyc74800644editdlrm
_markupbase.cpython-312.opt-1.pyc120680644editdlrm
_markupbase.cpython-312.opt-2.pyc117030644editdlrm
_markupbase.cpython-312.pyc122810644editdlrm
_osx_support.cpython-312.opt-1.pyc176790644editdlrm
_osx_support.cpython-312.opt-2.pyc150950644editdlrm
_osx_support.cpython-312.pyc176790644editdlrm
_pydatetime.cpython-312.opt-1.pyc916690644editdlrm
_pydatetime.cpython-312.opt-2.pyc838800644editdlrm
_pydatetime.cpython-312.pyc942490644editdlrm
_pydecimal.cpython-312.opt-1.pyc2253300644editdlrm
_pydecimal.cpython-312.opt-2.pyc1477530644editdlrm
_pydecimal.cpython-312.pyc2255140644editdlrm
_pyio.cpython-312.opt-1.pyc1100530644editdlrm
_pyio.cpython-312.opt-2.pyc877290644editdlrm
_pyio.cpython-312.pyc1101030644editdlrm
_pylong.cpython-312.opt-1.pyc110440644editdlrm
_pylong.cpython-312.opt-2.pyc84790644editdlrm
_pylong.cpython-312.pyc110440644editdlrm
_py_abc.cpython-312.opt-1.pyc69790644editdlrm
_py_abc.cpython-312.opt-2.pyc58070644editdlrm
_py_abc.cpython-312.pyc70370644editdlrm
_sitebuiltins.cpython-312.opt-1.pyc47440644editdlrm
_sitebuiltins.cpython-312.opt-2.pyc42320644editdlrm
_sitebuiltins.cpython-312.pyc47440644editdlrm
_strptime.cpython-312.opt-1.pyc274720644editdlrm
_strptime.cpython-312.opt-2.pyc232830644editdlrm
_strptime.cpython-312.pyc274720644editdlrm
_sysconfigdata__linux_x86_64-linux-gnu.cpython-312.opt-1.pyc742730644editdlrm
_sysconfigdata__linux_x86_64-linux-gnu.cpython-312.opt-2.pyc742730644editdlrm
_sysconfigdata__linux_x86_64-linux-gnu.cpython-312.pyc742730644editdlrm
_threading_local.cpython-312.opt-1.pyc82530644editdlrm
_threading_local.cpython-312.opt-2.pyc49530644editdlrm
_threading_local.cpython-312.pyc82530644editdlrm
_weakrefset.cpython-312.opt-1.pyc117390644editdlrm
_weakrefset.cpython-312.opt-2.pyc117390644editdlrm
_weakrefset.cpython-312.pyc117390644editdlrm
__future__.cpython-312.opt-1.pyc47060644editdlrm
__future__.cpython-312.opt-2.pyc26630644editdlrm
__future__.cpython-312.pyc47060644editdlrm
__hello__.cpython-312.opt-1.pyc8720644editdlrm
__hello__.cpython-312.opt-2.pyc8280644editdlrm
__hello__.cpython-312.pyc8720644editdlrm
Edit: /usr/lib64/python3.12/__pycache__/tarfile.cpython-312.opt-2.pyc (109729B)
giJ  dZdZdZddlmZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZ ddlZ ddlZeeefZgdZdZdZd Zd Zed zZd Zd ZdZdZ dZ!dZ"d Z#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3e3Z4e"e#e$e%e(e)e*e&e'e+e,e-f Z5e"e#e*e-fZ6e+e,e-fZ7d Z8hd!Z9e:e:e:e;e;e;d"Znej~Z>d%Z@d&ZAd'ZBd(e4fd)ZCd*ZDdedfd+ZEd,ZFGd-d.eGZHGd/d0eHZIGd1d2eHZJGd3d4eHZKGd5d6eHZLGd7d8eHZMGd9d:eMZNGd;deMZPGd?d@eMZQGdAdBeMZRGdCdDZSGdEdFZTGdGdHeUZVGdIdJeUZWGdKdLejZYGdMdNeHZZGdOdPeZZ[GdQdReZZ\GdSdTeZZ]GdUdVeZZ^GdWdXeZZ_GdYdZeZZ`eZeeIfZadhd[Zbd\Zcd]Zdd^Zeecedeed_ZfeUZgejd`ZiGdadbeUZjGdcddeUZkdeZlekjZdfZmendgk(remyy#e$rdZY(wxYw#e$rdZY1wxYw)iz0.9.0u"Lars Gustäbel (lars@gustaebel.de)u4Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.)openN)TarFileTarInfo is_tarfileTarError ReadErrorCompressionError StreamError ExtractError HeaderErrorENCODING USTAR_FORMAT GNU_FORMAT PAX_FORMATDEFAULT_FORMATrfully_trusted_filter data_filter tar_filter FilterErrorAbsoluteLinkErrorOutsideDestinationErrorSpecialFileErrorAbsolutePathErrorLinkOutsideDestinationErrorTz/etc/python/tarfile.cfgisustar sustar00d01234567LKSxgX)pathlinkpathsizemtimeuidgidunamegname>r/r6r5r0)atimectimer2r3r4r1ntutf-8cx | td|j||}|d||t|z tzzS)Nzmetadata cannot contain None) ValueErrorencodelenNUL)slengthencodingerrorss /usr/lib64/python3.12/tarfile.pystnrEsFy788 6"A Wf:#a&C/ //c^ |jd}|dk7r|d|}|j||S)Nr)finddecode)r@rBrCps rDntsrLs7 u ABw bqE 88Hf %%rFc8 |ddvrMd}tt|dz D]}|dz}|||dzz }|ddk(rdt|dz z|z }|S t|dd}t|j xsd d}|S#t $r t d wxYw) Nr)r-rOasciistrict0invalid header)ranger>rLintstripr<InvalidHeaderError)r@nis rDntir\s t~ s1vz"A !GA 1q5MA# Q45=#a&1*%)*A H  7Aw)AAGGI$a(A H 7$%56 6 7s +BBrPc |}t|}d|cxkr d|dz zkr nntd|dz |fzdtz}|S|tk(rzd|dz z |cxkr d|dz zkrbn td |dk\r t dg}nt dg}d|z|z}t |dz D]}|j d|dz|dz}|Std ) NrrPr-z%0*orRrQrNrOzoverflow in number field)rWbytesr?r bytearrayrVinsertr<)rZdigitsformat original_nr@r[s rDitnrdsJ AAA!fqj!! &FQJ?*G 4s : H : 36A:#6"6!"Qcfqj>Q"Q344 65'"A5'"Av !Avz"A HHQE " !GA# H344rFc dttjd|z}dttjd|z}||fS)NrQ 148B8x356B 148b8x356b)sumstruct unpack_from)bufunsigned_chksum signed_chksums rD calc_chksumsrnsLC 2 2< EFFO#f00sCDDM M ))rFcz |xsd}|dk(ry|tj|||yt||\}}t|D]:}|j |}t ||kr|d|j |<|dk7r8|j |}t ||kr|d|j |y)Ni@runexpected end of data)shutil copyfileobjdivmodrVreadr>write) srcdstrA exceptionbufsizeblocks remainderbrks rDrrrrs"G { ~3W-vw/FI 6]hhw s8g 45 5 #  A~hhy! s8i 45 5 # rFcttjdd}|!|j|dj |}t |dy)NrBbackslashreplace )end)getattrsysstdoutr=rJprint)r@rBs rD _safe_printrs@szz:t4H HHX1 2 9 9( C !rFceZdZ y)rN__name__ __module__ __qualname__rFrDrrsrFrceZdZ y)r NrrrFrDr r s/rFr ceZdZ y)rNrrrFrDrrs0rFrceZdZ y)r NrrrFrDr r s8rFr ceZdZ y)r NrrrFrDr r !sGrFr ceZdZ y)r NrrrFrDr r $s+rFr ceZdZ y)EmptyHeaderErrorNrrrFrDrr's&rFrceZdZ y)TruncatedHeaderErrorNrrrFrDrr*s*rFrceZdZ y)EOFHeaderErrorNrrrFrDrr-s,rFrceZdZ y)rYNrrrFrDrYrY0s(rFrYceZdZ y)SubsequentHeaderErrorNrrrFrDrr3s=rFrc&eZdZ dZdZdZdZy) _LowLevelFilectjtjtjztjzd|}t tdr|tj z}tj||d|_y)NrwO_BINARYi) osO_RDONLYO_WRONLYO_CREATO_TRUNChasattrrrfd)selfnamemodes rD__init__z_LowLevelFile.__init__@sarzz)BJJ6   2z " BKK D''$e,rFcBtj|jyN)rcloserrs rDrz_LowLevelFile.closeIs rFcBtj|j|Sr)rrtrrr1s rDrtz_LowLevelFile.readLswwtww%%rFcDtj|j|yr)rrurrr@s rDruz_LowLevelFile.writeOs !rFN)rrrrrrtrurrFrDrr:s -&rFrcXeZdZ dZdZdZdZdZdZdZ dZ dd Z d Z d Z d Zy )_Streamc d|_|t||}d|_|dk(rt|}|j}|xsd|_||_||_||_||_d|_ d|_ d|_ |dk(r[ ddl }||_ |jd|_|d k(r"|j"|_|j'y|j)|y|d k(rI ddl}|d k(r(d|_|j/|_t2|_y|j5||_y|d k(rN ddl} |d k(r.d|_| j9|_| j:|_y| j=|_y|dk7rtd|zy#t$r tddwxYw#t$r td dwxYw#t$r td dwxYw#|js|jj?d|_ xYw)NTF*rFrgzzzlib module is not availablerbz2bz2 module is not availablexzlzma module is not availabletarunknown compression type %r) _extfileobjr _StreamProxy getcomptyperrcomptypefileobjryrkposclosedzlib ImportErrorr crc32crcerrorrx _init_read_gz_init_write_gzrdbufBZ2DecompressorcmpOSError BZ2CompressorlzmaLZMADecompressor LZMAErrorLZMACompressorr) rrrrrry compresslevelrrrs rDrz_Stream.__init__^s   ?#D$/G$D  s?#7+G**,H        - 4U! ::c?3;%)ZZDN&&('' 6U"T3; #DI"224DH%,DN"00?DHT!U3; #DI#446DH%)^^DN#224DHU"&'Dx'OPP#E#U*+IJPTTU#T*+HItST#U*+IJPTTU ## ""$DK sy;GFAG GG!F)%,GG)G/G32G&G<GF&&G)F??GGG0H cXt|dr|js|jyyy)Nr)rrrrs rD__del__z_Stream.__del__s# 4 "4;; JJL,7 "rFcv |jj||jj|jj |jjd|_t jdttj}|jd|zdz|jjdr|jdd|_ tjj|j|_ |j|jj!ddt"zy) NrDErFc, |jdk(r+|jj||j|_|xjt |z c_|jdk7r|j j|}|j|y)Nrr) rrrrrr>rcompressrrs rDruz _Stream.writesj ==D yyq$((3DH CF ==E !!!!$A QrFc\ |xj|z c_t|j|jkDrt|jj |jd|j|j|jd|_t|j|jkDrsyyr)rkr>ryrrurs rD__writez_Stream.__writesw  A $((mdll* LL  txx 6 7xx .DH$((mdll*rFc |jryd|_ |jdk(r<|jdk7r-|xj|jj z c_|jdk(r|jr|j j|jd|_|jdk(ru|j jtjd|j|j jtjd|jdz|js|j jyy#|js|j jwwxYw)NTrrrFrrl)rrrrkrflushrrurirrrrrrs rDrz _Stream.closes  ;;   %yyCDMMU$:DHHNN,,yyCDHH ""488,==D(LL&&v{{4'BCLL&&v{{4J9N'OP## ""$$4## ""$$s DE)E>c |jj|jj |_d|_|j ddk7r t d|j ddk7r tdt|j d}|j d|d zrIt|j dd t|j dzz}|j||d zr |j d}|r |tk(rn|d zr |j d}|r |tk(rn|dzr|j dyy) NrFr.snot a gzip filer-zunsupported compression methodrQrP) r decompressobjrrr _Stream__readrr ordrtr?)rflagxlenr@s rDrz_Stream._init_read_gzs. 99**DII,?,?+?@  ;;q>[ (-. . ;;q>W $"#CD D4;;q>" A !8t{{1~&s4;;q>/B)BBD IIdO !8KKNAH "9KKNAH !8 KKN rFc |jSr)rrs rDtellz _Stream.tells xxrFc ||jz dk\rnt||jz |j\}}t|D]}|j |j|j ||jSt d)Nrz seeking backwards is not allowed)rrsryrVrtr )rrrzr{r[s rDseekz _Stream.seeksy  >Q  &sTXX~t|| D FI6] $,,'# IIi xx@A ArFcf |j|}|xjt|z c_|Sr)_readrr>)rr1rks rDrtz _Stream.reads*Cjj CH rFc* |jdk(r|j|St|j}|jg}||kr|jr|j}d|_n(|j j |j}|snA |jj|}|j||t|z }||krdj|}||d|_|d|S#|j$r}td|d}~wwxYw)NrrFzinvalid compressed data)rrr>rrkrrtryr decompressrxrappendjoin)rr1ctrkes rDrz _Stream._reads ==E !;;t$ $  N YYK$hxxhhll'' 5 Bhh))#. HHSM SMA$h HHQKdeH $x >> B 9:A BsC22D D  Dc, t|j}|jg}||krM|jj|j}|sn%|j ||t|z }||krMdj |}||d|_|d|S)NrF)r>rkrrtryrr)rr1rrrks rD__readz_Stream.__read6s  M XXJ$h,,##DLL1C HHSM SMA $h HHQKTU8$xrFN)r)rrrrrrrurrrrrrtrrrrFrDrrRsF ENF"/%,> 6rFrc&eZdZ dZdZdZdZy)rcZ||_|jjt|_yr)rrt BLOCKSIZErk)rrs rDrz_StreamProxy.__init__Ls <<$$Y/rFcP|jj|_|jSr)rrtrkrs rDrtz_StreamProxy.readPsLL%% xxrFc|jjdry|jdddk(r|jdddk(ry |jjd ry y ) NsrrsBZhr s1AY&SYr)s]s7zXZrr)rk startswithrs rDrz_StreamProxy.getcomptypeTsV 88   / XXa]f $!B9)D XX !C DrFc8|jjyr)rrrs rDrz_StreamProxy.close^s rFN)rrrrrtrrrrFrDrrGs0rFrcfeZdZ d dZdZdZdZdZdZe jfdZ d d Z d Z d Zy) _FileInFileNc||_||_||_d|_||_d|_|d|fg}d|_g|_d}|j}|D]U\}}||kDr|jjd||df|jjd|||z|f||z }||z}W||jkr*|jjd||jdfyy)NrFT) roffsetr1positionrr map_indexmapr)rrrr1r blockinfolastposrealposs rDrz_FileInFile.__init__ks       T I++%LFD >? HHOOT66D='B C tOGtmG & TYY  HHOOUGTYY= > rFcyrrrs rDrz_FileInFile.flushs rFcyNTrrs rDreadablez_FileInFile.readablesrFcyNFrrs rDwritablez_FileInFile.writablesrFc6|jjSr)rseekablers rDr$z_FileInFile.seekables||$$&&rFc |jSr)rrs rDrz_FileInFile.tells }}rFc0 |tjk(r1tt|d|j|_|j S|tj k(rc|dkr*t|j |zd|_|j St|j |z|j|_|j S|tjk(r>tt|j|z|jd|_|j Std)NrzInvalid argument) ioSEEK_SETminmaxr1rSEEK_CURSEEK_ENDr<)rrwhences rDrz_FileInFile.seeks R[[ Ha 0$))rrrtrr?) rr1rkdatastartstoprrAr|s rDrtz_FileInFile.readsG <99t}},DtTYY67DQh,0HHT^^,D)eT6DMM0D0NNa'N~~TXX6)*tdmm34F !!&DMME,A"BCLL%%f-q6V##$<==qsV|# FND MMV #M'Qh( rFch|jt|}||dt|t|Sr)rtr>)rr|rks rDreadintoz_FileInFile.readintos,iiA)3s8 3xrFcd|_yr)rrs rDrz_FileInFile.closes  rFr)rrrrrrr"r$rr'r(rrtr3rrrFrDrresB ?2 ' %'KK > rFrceZdZfdZxZS) ExFileObjectct|j|j|j|j|j }t ||yr)rr offset_datar1rsparsesuperr)rtarfiletarinfor __class__s rDrzExFileObject.__init__s;goow/B/B gllGNN< !rFrrrr __classcell__r=s@rDr6r6s ""rFr6c eZdZy)rNrrrFrDrrsrFrceZdZfdZxZS)rcN||_t| d|jdy)Nzmember z has an absolute pathr<r:rrrr<r=s rDrzAbsolutePathError.__init__s&  77<<"22GHIrFr>r@s@rDrrsJJrFrceZdZfdZxZS)rcf||_||_t| |jd|ddzy)Nz would be extracted to , which is outside the destinationr<_pathr:rrrr<r/r=s rDrz OutsideDestinationError.__init__s;   GLL++B4("M=> ?rFr>r@s@rDrr ??rFrceZdZfdZxZS)rcL||_t| |jdy)Nz is a special filerDrEs rDrzSpecialFileError.__init__s$  GLL++=>?rFr>r@s@rDrrs@@rFrceZdZfdZxZS)rcL||_t| |jdy)Nz is a link to an absolute pathrDrEs rDrzAbsoluteLinkError.__init__s$  GLL++IJKrFr>r@s@rDrrsLLrFrceZdZfdZxZS)rcf||_||_t| |jd|ddzy)Nz would link to rHrIrJrLs rDrz$LinkOutsideDestinationError.__init__s:   GLL+?4("E=> ?rFr>r@s@rDrrrMrFrceZdZfdZxZS)LinkFallbackErrorcj||_||_t| d|jdd|dzy)Nzlink z would be extracted as a zcopy of z, which was rejectedrJrLs rDrzLinkFallbackError.__init__sC   5 00IJ%dX-ABC DrFr>r@s@rDrUrUsDDrFrUc2i}|j}tjj|tjj}|j dtj fr1|jjdtj zx}|d<tjj|r t|tjjtjj||tjj}tjj||g|k7r t|||j}|y|dz}|r^|js|jr|dzs|dz}|dz}n.|j!s|j#rd}n t%|||jk7r||d<|r|j&d|d <|j(d|d <|j*d|d <|j,d|d <|js|j#r]tjj|j.r t1|tjj3|j.}||j.k7r||d <|j#rItjj|tjj5||j.}n*tjj||j.}tjj|tjj}tjj||g|k7r t7|||S)N)rS/ri@irr3r4r5r6linkname)rrr/realpath ALLOW_MISSINGrseplstripisabsrr commonpathrrisregislnkisdirissymrr3r4r5r6r[rnormpathdirnamer)member dest_pathfor_data new_attrsr target_pathr normalizeds rD_get_filtered_attrsrnsI ;;D  2773H3H II RVV}%#);;#5#5cBFFl#CCy  ww}}T ''''""277<< 4#@*,''*?*?#AK ww; 23y@%fk:: ;;D e| ||~e|FND 6<<>'v.. 6;;  $If  :: !#Ie  :: !#Ie  << #!%Ig  << #!%Ig  <<>V\\^ww}}V__-'//))&//:JV__,(2 *%||~ ggll9+-77??4+@+1??< !ggll9+1??< ''**;24''2G2G+IKww!!; ":;yH1&+FF rFc|Srr)rhris rDrrJs MrFcPt||d}|r|jdi|ddiS|S)NFdeeprrnrrhrirks rDrrMs1#FIu=Iv~~6 666 MrFcPt||d}|r|jdi|ddiS|S)NTrqFrrrrss rDrrSs1#FItZd?Zd@Z dAZ!dBZ"dCZ#dDZ$dEZ%dFZ&dGZ'dHZ(dIZ)dJZ*dKZ+dLZ,dMZ-dNZ.dOZ/dPZ0dQZ1dRZ2y$)UrrzName of the archive member.rzPermission bits.r3z6User ID of the user who originally stored this member.r4z7Group ID of the user who originally stored this member.r1zSize in bytes.r2zTime of last modification.chksumzHeader checksum.typezFile type. type is usually one of these constants: REGTYPE, AREGTYPE, LNKTYPE, SYMTYPE, DIRTYPE, FIFOTYPE, CONTTYPE, CHRTYPE, BLKTYPE, GNUTYPE_SPARSE.r[zcName of the target file name, which is only present in TarInfo objects of type LNKTYPE and SYMTYPE.r5z User name.r6z Group name.devmajorzDevice major number.devminorzDevice minor number.rzThe tar header starts here.r8zThe file's data starts here. pax_headerszMA dictionary containing key-value pairs of an associated pax extended header.r9zSparse member information.r;N_sparse_structs _link_targetc ||_d|_d|_d|_d|_d|_d|_t|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_i|_y)Nirr)rrr3r4r1r2rwREGTYPErxr[r5r6ryrzrr8r9r{rrs rDrzTarInfo.__init__s              rFc |jSrrrs rDr/z TarInfo.paths2yyrFc||_yrrrs rDr/z TarInfo.paths  rFc |jSrr[rs rDr0zTarInfo.linkpaths:}}rFc||_yrr)rr[s rDr0zTarInfo.linkpaths   rFc`d|jj|jt|fzS)Nz<%s %r at %#x>)r=rridrs rD__repr__zTarInfo.__repr__s&4>>#:#:499RX"NNNrFT) rr2rr[r3r4r5r6rq_KEEPc  | rtj|} ntj|} || ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _ | Sr) copydeepcopyrr2rr[r3r4r5r6) rrr2rr[r3r4r5r6rqrresults rDrzTarInfo.replaces ]]4(FYYt_F u FK   FL u FK 5 &FO e FJ e FJ   FL   FL rFc |jd}n|jdz}|j||j|j|j|j |j |j|j|j|j|j|jd }|dtk(r!|djds |dxxdz cc<|S)N) rrr3r4r1r2rwrxr[r5r6ryrzrxrrX)rrr3r4r1r2rwrxr[r5r6ryrzDIRTYPEr)rrinfos rDget_infozTarInfo.get_infos 99 D99v%D            <7 "4<+@+@+E LC L rFsurrogateescapec0 |j}|jD]\}}| td|z|tk(r|j |||S|t k(r|j |||S|tk(r|j||Std)Nz%s may not be Nonezinvalid format) ritemsr<rcreate_ustar_headerrcreate_gnu_headerrcreate_pax_header)rrbrBrCrrvalues rDtobufz TarInfo.tobufs }}::r= LENGTH_LINKr< LENGTH_NAME_posix_split_name_create_headerr)rrrBrCs rDrzTarInfo.create_ustar_headers #W tJ&&x8 9K G34 4 tF|""8V4 5 C+/+A+A$v,PXZ`+a (DNDL""4xHHrFc\ t|d<d}t|dj||tkDr||j |dt ||z }t|dj||t kDr||j |dt||z }||j|t||zS)NrrFr[r) GNU_MAGICr>r=r_create_gnu_long_headerGNUTYPE_LONGLINKrGNUTYPE_LONGNAMErr)rrrBrCrks rDrzTarInfo.create_gnu_headers !W  tJ&&x8 9K G 4//Z0@BRT\^de eC tF|""8V4 5 C 4//V >NPXZ`a aCT((z8VLLLrFc^ t|d<|jj}ddtfddtfddfD];\}}}||vr ||j dd t|||kDs4||||<=d D]e\}}d }||} t| t} | r t| n| } d | cxkr d |dz zks nd ||<d}n | r| ||<d}|sS||vsXt| ||<g|r|j|t|} nd} | |j|tddzS#t $r ||||<YwxYw)Nrrr/r[r0)r5r5 )r6r6rrRrS))r3rP)r4rP)r1 )r2rFrrPr-TrFr)rr{rrrr=UnicodeEncodeErrorr> isinstancefloatroundstr_create_pax_generic_headerXHDTYPErr) rrrBr{rhnamerAra needs_paxval val_is_floatval_intrks rDrzTarInfo.create_pax_headers $W &&++- - J /T&(>$@ D% # T !!'84 4:'%)$Z E"!$@(RLD&It*C%c51L$0eCjcG3! "33T  %T  T4$'H D!%R* 11+wQCCT((|WiPPPG& %)$Z E" sDD,+D,c2 |j|tdS)Nr:)rXGLTYPE)clsr{s rDcreate_pax_global_headerz TarInfo.create_pax_global_headerWs --k7GLLrFcT |jd}tdt|D]t}dj|d|}dj||d}t|j ||t ksNt|j ||t ksq||fStd)NrXr-zname is too long)splitrVr>rr= LENGTH_PREFIXrr<)rrrBrC componentsr[rs rDrzTarInfo._posix_split_name]s ZZ_ q#j/*AXXj!n-F88JqrN+D6==623}D Hf56+Et|+/0 0rFcj |jdttfv}|r;t|jddd|}t|jddd|}nt dd||}t dd||}|jdt }| t dt |jddd ||t|jd dd zd|t|jd dd|t|jd dd|t|jddd|t|jddd|d|t |jddd |||jdtt |jddd||t |jddd||||t |jddd||g}tjdtzdj|} t| t dd} | ddtd| zdz| ddz} | S)NrxryrrPrzrzTarInfo.type must not be Nonerrrrr3r4r1rr2s r[rr5rr6rrz%dsrFiz%06orRi)getCHRTYPEBLKTYPErdrErr<rrirr rrnr^) rrbrBrChas_device_fieldsryrzfiletypepartsrkrws rDrzTarInfo._create_headerms !HHV,'0BB 488J2Av>H488J2Av>H2q(F3H2q(F3H88FG,  <= = $c8V < #f,a 8 "Av . "Av . #R 0 !$b& 1   R(#x @ HHWk * "%r8V < "%r8V <   2&Xv > $kk%)+SXXe_=c9*+./2%4j5F!2G<r r?)payloadrzr{s rD_create_payloadzTarInfo._create_payloads> #3w<; q=  I-4 4GrFc |j||tz}i}d|d<||d<t||d<t|d<|j |t |||j |zS)Nz ././@LongLinkrrxr1r)r=r?r>rrrr)rrrxrBrCrs rDrzTarInfo._create_gnu_long_headersy {{8V,s2&V V 4yV !W !!$ hG##D)* *rFc d}|jD]\}} |jddd}|r|dz }|jD]\}}|jd}|r|j|d}n|jd}t|t|zdz}d x} } |tt | z} | | k(rn| } |t t | d d z|zd z|zd zz }i} d| d<|| d<t|| d<t | d<|j| td d|j|zS#t$rd}YwxYw)NFr:rSTrFs21 hdrcharset=BINARY rrrrR = z././@PaxHeaderrrxr1rr) rr=rr>rr^rrrr) rr{rxrBbinarykeywordrrecordslrZrKrs rDrz"TarInfo._create_pax_generic_headers )//1NGU  Wh/2  0 0G)//1NGUnnW-G X/@A W-G s5z)A-AIACF O6  uSVW-4w>EMPUU UG!2('V V 7|V #W !!$ gyI##G,- -I&  sD:: E  E cn t|dk(r tdt|tk7r td|j t tk(r t dt|dd}|t|vr td|}t|dd|||_ t|dd |_ t|d d |_ t|d d |_t|d d |_t|d d|_||_|dd |_t|d d|||_t|dd|||_t|dd|||_t|dd|_t|dd|_t|dd||}|j$t0k(r&|jj3dr t4|_|j$t6k(rxd}g}t9dD]@} t|||dz} t||dz|dz} |j=| | f|dz }Bt?|d} t|dd} || | f|_ |jCr |jjEd|_ |r)|j$tFvr|dz|jz|_ |S#t:$rYwxYw)Nrz empty headerztruncated headerzend of file headerz bad checksumrlt|ii i)iIiQiYirXirriii)$r>rr rcountr?rr\rnrYrLrrr3r4r1r2rwrxr[r5r6ryrzAREGTYPErrGNUTYPE_SPARSErVr<rboolr|rdrstrip GNU_TYPES)rrkrBrCrwobjrrstructsr[rnumbytes isextendedorigsizes rDfrombufzTarInfo.frombufs s8q=">2 2 s8y &'9: : 99S>Y & !56 6SS\" c* *$^4 4es1Sz8V4s3s|$c#cl#c#cl#s3s|$C %  s3<3s3<6: C h7 C h7 3s3<( 3s3<( SS\8V4 88x CHH$5$5c$:CH 88~ %CG1X Sr!23F"3sRxb#9:H12r c#hJ3s3<(H#*J"AC  99;xxs+CH chhi/|chh.CH "s%%J'' J43J4c |jjt}|j||j|j }|jj tz |_|j|Sr) rrtr rrBrCrr _proc_member)rr;rkrs rD fromtarfilezTarInfo.fromtarfile$sc oo""9-kk#w//@__))+i7 ((rFc |jttfvr|j|S|jtk(r|j |S|jt ttfvr|j|S|j|Sr) rxrr _proc_gnulongr _proc_sparserrSOLARIS_XHDTYPE _proc_pax _proc_builtin)rr;s rDrzTarInfo._proc_member9s}  99)+;< <%%g. . YY. ($$W- - YY7G_= =>>'* *%%g. .rFc |jj|_|j}|js|jt vr||j |jz }||_|j|j|j|j|jr |jjd|_|SNrX)rrr8rbrxSUPPORTED_TYPES_blockr1r_apply_pax_infor{rBrCrdrr)rr;rs rDrzTarInfo._proc_builtinFs #??//1!! ::<499O; dkk$)), ,F W00'2B2BGNNS ::< ((-DI rFcH |jj|j|j} |j |}|j|_|jtk(r't||j|j|_n9|jtk(r&t||j|j|_|j#r |jj%d|_|S#t $r}t t|dd}~wwxYwr)rrtrr1rr rrrrxrrLrBrCrrr[rd removesuffix)rr;rknextrs rDrzTarInfo._proc_gnulong\s oo""4;;tyy#9: :##G,D kk 99( (C!1!17>>BDI YY* *W%5%5w~~FDM ::< ..s3DI ! :'A/T 9 :sC>> D!DD!c  |j\}}}|`|r|jjt}d}t dD]D} t |||dz}t ||dz|dz} |r| r|j|| f|dz }Ft|d}|r||_ |jj|_ |j|j|jz|_||_ |S#t $rYywxYw)Nrrri)r|rrtr rVr\r<rrr9rr8rr1r) rr;rrrrkrr[rrs rDrzTarInfo._proc_sparsews )-(<(<%X  //&&y1CC2Y Sr!23F"3sRxb#9:HhNNFH#56r c#hJ "??//1))DKK ,BB  "s%C66 DDc |jj|j|j}|jt k(r |j }n|j j}d}d}g}t||kDr||dk7rtj||x}s td t|jd}|dkr td||zt|kDr td|jd|zdz } ||j!ddz| } | j#d\} } } | r | dk7s|| dk7r td|j%|| | f| dk(r|| dk(r |j&}nd }||z }t||kDr ||dk7r|d }|D]x\}} } |j)| d d |j*}|t,vr)|j)| ||j&|j*}n|j)| d d |j*}|||<z |j/|}d |vr|j7||nRd |vr|j9||n;|j;d d k(r'|j;ddk(r|j=||||jt>t@fvr|jC||j&|j*|jD|_"d|vrS|jF}|jIs|jtJvr||j|jz }||_"|S#t$r tdwxYw#t0$r}t3t5|dd}~wwxYw)NrrUr-rrs hdrcharsetsBINARYr:GNU.sparse.mapGNU.sparse.sizezGNU.sparse.major1zGNU.sparse.minorrTr1)&rrtrr1rxrr{rr>_header_length_prefix_rematchrYrWgroupr<r0r partitionrrB_decode_pax_fieldrCPAX_NAME_FIELDSrr rr_proc_gnusparse_01_proc_gnusparse_00r_proc_gnusparse_10rrrrr8rbr)rr;rkr{rrB raw_headersrrAheader_value_end_offsetkeyword_and_value raw_keywordequals raw_valuerrrrrs rDrzTarInfo._proc_paxs oo""4;;tyy#9: 99 !--K!--224K  #hnST!15;;CEEEE()9:: ;U[[^, z()9::V|c#h&()9::&+kk!nv&=&A # #EIIaL1$45L M ->-H-H-N *K&D.C8O4PTX4X()9::    Y? @m+0@ )&//H&H 6MCM#hnST!1R  H/: *FK,,['7NN$G/)..y(GDTDT(..y'7($)K #/:( :##G,D { *  # #D+ 6 + -  # #D+ 6 __/ 0C 7KOOL^<_cf.> O++DK$))::<499O#Cdkk$))44F!' y ;()9:: ;| :'A/T 9 :s$2M#MM N'M<<Nct g}g}|D]d\}}}|dk(r* |jt|j6|dk(s< |jt|jft t |||_y#t$r t dwxYw#t$r t dwxYw)NsGNU.sparse.offsetrUsGNU.sparse.numbytes)rrWrJr<rYlistzipr9)rrr offsetsr_rrs rDrzTarInfo._proc_gnusparse_00 s !, Aw..?NN3u||~#6722?OOC $78"-3w12 "?,-=>>? "?,-=>>?s(B (B" B"B7c  |djdDcgc] }t|}}tt|ddd|ddd|_ycc}w)Nr,r.r-)rrWrrr9)rrr{xr9s rDrzTarInfo._proc_gnusparse_01 s] "-.>"?"E"Ec"JK"JQ#a&"JK3vcc{F14a4L9: LsAc  d}g}|jjt}|jdd\}}t |}t ||dzkrgd|vr"||jjtz }|jdd\}}|j t |t ||dzkrg|jj|_tt|ddd|ddd|_ y)Nrr-r.) rrtr rrWr>rrr8rrr9)rrr{r;fieldsr9rknumbers rDrzTarInfo._proc_gnusparse_10&s oo""9-iiq) V&kFQJ&Cw++I66))E1-KFC MM#f+ & &kFQJ& #??//13vcc{F14a4L9: rFc |jD]\}}|dk(rt|d||dk(rt|dt|5|dk(rt|dt|Q|tvsZ|tvr t ||}|dk(r|j d}t||||j|_y#t $rd}YHwxYw)NzGNU.sparse.namer/rr1zGNU.sparse.realsizerrX) rsetattrrW PAX_FIELDSPAX_NUMBER_FIELDSr<rrr{)rr{rBrCrrs rDrzTarInfo._apply_pax_info6s *//1NGU++fe,--fc%j111fc%j1J&//" 1' :5 Af$!LL-Egu-2"'++- &" !"s5B>> C  C cl |j|dS#t$r|j||cYSwxYw)NrS)rJUnicodeDecodeError)rrrBfallback_encodingfallback_errorss rDrzTarInfo._decode_pax_fieldMsA  D<<(3 3! D<< 1?C C Ds 33cj |dkr tdt|t\}}|r|dz }|tzS)Nrzinvalid offsetr-)rYrsr )rrrzr{s rDrzTarInfo._blockUsD  19$%56 6"5)4  aKF !!rFc( |jtvSr)rx REGULAR_TYPESrs rDrbz TarInfo.isregas>yyM))rFc$ |jSr)rbrs rDisfilezTarInfo.isfilees>zz|rFc* |jtk(Sr)rxrrs rDrdz TarInfo.isdiri+yyG##rFc* |jtk(Sr)rxSYMTYPErs rDrez TarInfo.issymms/yyG##rFc* |jtk(Sr)rxLNKTYPErs rDrcz TarInfo.islnkqr(rFc* |jtk(Sr)rxrrs rDischrz TarInfo.ischrus2yyG##rFc* |jtk(Sr)rxrrs rDisblkz TarInfo.isblkys.yyG##rFc* |jtk(Sr)rxFIFOTYPErs rDisfifozTarInfo.isfifo}s&yyH$$rFc|jduSr)r9rs rDissparsezTarInfo.issparses{{$&&rFc> |jtttfvSr)rxrrr2rs rDisdevz TarInfo.isdevsMyyWgx888rFr)r)3rrrdict __slots__rpropertyr/setterr0rrrrrr rrrr classmethodrr staticmethodrrrrrrrrrrrrrrrrrrbr&rdrercr.r0r3r5r7rrFrDrris , ! G H    -  $ > F   * *! "/# $5% &9' *.+ ,- ./ 01 I60 [[__!!O%eeuE88*HEV/" I M8QtMM  ''R** 0-0-d<<|))( /,68wr3(; ; ..D "*$$$$$%'9rFrceZdZ dZdZdZdZeZe Z dZ e Z eZdZ d:dZedddefdZed;dZeddZd?dddZd@dddZ dAdZ!dZ"dBddddZ#dZ$dCddddZ%d Z& dAd!Z'd"Z(d#Z)d$Z* dDddd%d&Z+d'Z,d(Z-d)Z.d*Z/d+Z0d,Z1d-Z2d.Z3d/Z4d0Z5d1Z6dEd2Z7d3Z8dAd4Z9d5Z:d6Z;d7Zy)FrrFr-Nrc ddddd}||vr td||_|||_|sZ|jdk(r-tjj |sd|_d|_t ||j}d |_n^|8t|d r,t|jttfr |j}t|d r|j|_d |_|rtjj|nd|_ ||_|||_|||_|||_|||_|||_| |_| |jt*k(r| |_ni|_| | |_| | |_| |_d |_g|_d |_|jj;|_i|_ |jd k(rd|_ |jC|_ |jdk(r^ |jjE|j< |j jG|}|j6jI|]|jdvrd |_|j,rm|j jQ|j,jS}|jjU||xj<tW|z c_yyy#tJ$r(|jjE|j<YtL$r}tOt|dd}~wwxYw#|js|jjYd |_xYw)Nrbzr+bwbxbrarr!mode must be 'r', 'a', 'w' or 'x'rDrFrrTrrDrr)-r<r_moderr/exists bltn_openrrrrrr^abspathrrbr< dereference ignore_zerosrBrCrr{debug errorlevel copybufsizermembers_loadedrrinodes firstmemberrrrrrr rrrrur>r)rrrrrbr<rKrLrBrCr{rMrNrOmodesrrks rDrzTarFile.__init__s T= u @A A 4[ yyCt(< ! djj1G$D  &!97<<#u6||w'$\\ #D -1BGGOOD)t     DK  "DL  "*D   # ,D   $DM  "t{{j'@*D !D   DJ  !(DO'   ll'')   yyC#' #'99; yyCLL%%dkk2:"&,,":":4"@ ++G4 yyO+# ##,,??@P@P@U@U@WXCLL&&s+KK3s8+K$, * ))$++6&:'A/T9: ## ""$DK s>?A L< 6K'BL<'.L9L<L9L44L99L<<0M,c  |s |s td|dvrzfd}g}tj|D]:}tj|} ||j } | |d|fi|cSdj|} t d | d |vrb|jd d \} }| xsd} |xsd }|jvrtj|} nt d |z| || |fi|Sd|vrg|jdd \} }| xsd} |xsd }| dvr td|jdd}t|| ||||} || |fi|}d|_|S|dvrj|||fi|Std#t t f$r5} |jd|d| ||j Yd} ~ d} ~ wwxYw#|jxYw)Nznothing to open)rr:*c(j|dk(S)Ntaropen) OPEN_METH)rrs rDnot_compressedz$TarFile.open..not_compressed>s}}X.);;rF)keyrz - method z:  z'file could not be opened successfully: :r-rr|rzmode must be 'r' or 'w'r FrFzundiscernible mode)r<sortedrYrrrr rrrrpoprrrrX)rrrrrykwargsrZ error_msgsrfunc saved_posrerror_msgs_summaryfilemoderstreamrs` rDrz TarFile.opens:! FG./ / <  <J"3==nEsCMM($;<& ' Ic7=f== F"&:!6 FGYFZ[\ \ D[!%C!3 Hh3H(5H3==(sCMM($;<&'Dx'OPPh:6: : D[!%C!3 Hh3H(5Hz) !:;;"JJ:MT8Xw*,F h9&9"AMH _ $3;;tT7=f= =-..W"#34%% (2aU&CD* Y/ D  s$# F G G *GG  Gc 8 |dvr td||||fi|S)NrCrE)r<)rrrrrbs rDrXzTarFile.taropents0 + +@A A4w1&11rFc  |dvr td ddlm} |||dz||} |j|||fi|}d |_ |S#t$r t ddwxYw#t $r}||dk(r t d|d}~wwxYw#t $r'}|j|dk(r t d|d}~w|jxYw) Nrrrmode must be 'r', 'w' or 'x'r)GzipFilezgzip module is not availabler|rrF) r<gziprmrr rrrXrr) rrrrrrbrmrrs rDgzopenzTarFile.gzopen|s   &;< < M % tTCZHG  D$:6:A + M"#AB L M  "ts{ 129    MMOs{ 129   MMO s9AABA B(A<<B C "B//Cc R |dvr td ddlm}||xs|||} |j |||fi|}d |_ |S#t$r t ddwxYw#t tf$r'}|j|dk(r td|d}~w|jxYw) Nrkrlr)BZ2Filer)rrznot a bzip2 fileF) r<rrqrr rXrEOFErrorrrr) rrrrrrbrqrrs rDbz2openzTarFile.bz2opens   &;< < L #'/T4}M  D$:6:A ! L"#@At K L"  MMOs{ 23:   MMO s"AAAB&."BB&c N |dvr td ddlm}m}||xs|||} |j |||fi|}d |_ |S#t$r t ddwxYw#|tf$r'} |j|dk(r td| d} ~ w|jxYw) Nrkrlr)LZMAFilerr)presetrznot an lzma fileF) r<rrurrr rXrrrrr) rrrrrvrbrurrrs rDxzopenzTarFile.xzopens   &;< < M 07?dD@  D$:6:A ! M"#AB L M8$  MMOs{ 23:   MMO s"AA!A! B$,"BB$rXrorsrw)rrrrc |jryd|_ |jdvr|jjtt dzz|xj t dzz c_t|j t\}}|dkDr)|jjtt|z z|js|jjyy#|js|jjwwxYw)NTrFr.r) rrrrur?r rrs RECORDSIZErr)rrzr{s rDrz TarFile.closes  ;;   %yyO+ ""3)a-#89 A . %+4;; $C! q=LL&&sj9.D'EF## ""$$4## ""$$s BC)Dch |j|jd}|td|z|S)NrXzfilename %r not found) _getmemberrKeyError)rrr<s rD getmemberzTarFile.getmembers; //$++c"23 ?2T9: :rFct |j|js|j|jSr)_checkrQ_loadrPrs rD getmemberszTarFile.getmemberss,  || JJL||rFc^ |jDcgc]}|jc}Scc}wr)rr)rr<s rDgetnameszTarFile.getnames s. -1OO,=>,= ,=>>>s*c0 |jd| |j}||}tjj |\}}|j tj d}|jd}|j}||_ |8|jstj|}n9tj|}n#tj|j}d}|j}tj |r|j"|j$f} |jsE|j&dkDr6| |j(vr(||j(| k7rt*} |j(| }nt,} | dr||j(| <ntj.|rt0} ntj2|rt4} njtj6|rt8} tj:|}n9tj<|rt>} ntj@|rtB} ny||_||_"|jF|_$|jJ|_&| t,k(r|jN|_(nd|_(|jR|_*| |_+||_,tZr( t[j\|jHd|_/tbr( tcjd|jLd|_3| t>tBfvrhtitdrXtitdrHtjj|jl|_7tjp|jl|_9|S#t`$rYwxYw#t`$rYwxYw)NawxrXrr-rmajorminor):rrrr/ splitdriverr^r_r<r;rKlstatstatfstatfilenost_modeS_ISREGst_inost_devst_nlinkrRr,rS_ISDIRrS_ISFIFOr2S_ISLNKr*readlinkS_ISCHRrS_ISBLKrrst_uidr3st_gidr4st_sizer1st_mtimer2rxr[pwdgetpwuidr5r|grpgetgrgidr6rrst_rdevryrrz) rrarcnamerdrvr<statresr[stmdinoderxs rD gettarinfozTarFile.gettarinfos  E  < zlink to )rrrrrgr5r3r6r4r.r0ryrzr1r2r localtimerrdrer[rcr)rverboserPr<s rDrz TarFile.listssk ?GG<<' - gll ;<w}}'C 'C'.}}'C 'CEF==?gmmo$(8(8':J:J'KK!MN  56==( 56 ="&.."?"C!DE  w}}BG H==?(8(8 89==? W-=-= => G5rFfiltercd |jd||}|jBtjj ||jk(r|j dd|zy|j d||j ||}||j dd|zy| ||}||j dd|zy|jr(t|d5}|j||dddy|jr|j||ruttj|D]S}|jtjj||tjj||||Uyy|j|y#1swYyxYw) Nrr.ztarfile: Skipped %rr-ztarfile: Unsupported type %rtarfile: Excluded %rr@r)rrrr/rJ_dbgrrbrIaddfilerdr`listdiraddr)rrr recursiverr<fs rDrz TarFile.addsv  E ?G 99 RWW__T%:dii%G IIa.5 6  !T//$0 ? IIa7$> ?   WoG !3d:; ==?4&! Wa('&]]_ LL ! 4 01AHHRWW\\$2BGGLL!4L%f62 LL !'&s F&&F/c |jdtj|}|j|j|j|j }|j j||xjt|z c_|j}|t||j |j|t|jt\}}|dkDr.|j jtt|z z|dz }|xj|tzz c_|j j#|y)Nr)ryrr-)rrrrbrBrCrrurr>rOrrr1rsr r?rPr)rr<rrkryrzr{s rDrzTarFile.addfiles E))G$mmDKK D 3 s3x      w||W M &w||Y ? FI1} ""3)i*?#@A!  KK6I- -K G$rFc||j}|tjjd}|W t t }ddl}|jdd}|5|j|ddd|jddd}|r t|}||_|Str"tjd t d t"St$St'|t(r t+d |St-|r|S t|S#1swYxYw#t$rYwxYw#t$rtd|d dwxYw#t$rtd|d dwxYw)N PYTHON_TARFILE_EXTRACTION_FILTERr)#) interpolationcomment_prefixesr;r)fallbackzfilter z not foundaThe default behavior of tarfile extraction has been changed to disallow common exploits (including CVE-2007-4559). By default, absolute/parent paths are disallowed and some mode bits are cleared. See https://access.redhat.com/articles/7004769 for more details.r) stacklevelzrString names are not supported for TarFile.extraction_filter. Use a function such as tarfile.data_filter directly.)extraction_filterrenvironrrI_CONFIG_FILENAME configparser ConfigParser read_fileFileNotFoundError_NAMED_FILTERSr|r<_RH_SAFER_DEFAULTwarningswarnRuntimeWarningrrrr TypeErrorcallable)rrrfilerconfs rD_get_filter_functionzTarFile._get_filter_functions >++F~zz~~&HI<5()9:,+88*.-4 9 " NN40"#xx (J13 ( 5S!/!5.4D*!M$MM.'16&%++&#&677M F M G!&) )C"T- $S(76*J)GHdRS4 Gwvj ;<$ F Gs5D D D7D8D  DDD58E) numeric_ownerrc g}|j|}||}|D]a}|j|||\}} ||jr|j| |j |||j ||c|j dd|D]} || |}||j| d#tjj||j} tj| } tj | j"s|j|d|j%|| ||j'|| |j)|| y#t $r%} |j| t| Yd} ~ d} ~ wwxYw#t$r|j|dYwxYw#t*$r} |j-| Yd} ~ Cd} ~ wwxYw) N) set_attrsrfilter_functionc|jSrr)rDs rDz$TarFile.extractall..= sqvvrFT)r[reversezexcluded by filtermissingznot a directory)r)r_get_extract_tarinfordr _extract_onesort_FILTER_ERRORS_log_no_directory_fixupreprrr/rrrrrrrchownutimechmodr _handle_nonfatal_error)rr/rPrr directoriesrrhr< unfilteredexcdirpathrrs rD extractallzTarFile.extractall s  33F; ?GF"&";";#/ GZ}}"":.   gt7==?7J,9.=  ? -t<&J /-j$?G?001EG'',,tW\\:HHW-E||EMM200:KL 7G= I 7G, 7G,5& &00T#YG)00)D  /++A.. /sl E%#F88*F8#F81F8*8F8% F.F F8FF8F51F84F55F88 GGGcJ|jdd|jd|dy)Nr.z!tarfile: Not fixing up directory z ())rr)rrhreasons rDrzTarFile._log_no_directory_fixup_ s !;;( )rFc |j|}|j|||\}}||j||||yyr)rrr) rrhr/rrrrr<rs rDextractzTarFile.extractc sT 33F;"77 OT+     gtY F rFc t|tr|j|}n|}d} |||}| |jdd|jzy|jrDtj|}tjj||j|_||fS#ttf$r}|j |Yd}~d}~wt $r}|j|Yd}~d}~wwxYw)Nr.r)NN)rrr}rr_handle_fatal_errorr rrrrcrrr/rr[r})rrhrr/rfilteredrs rDrzTarFile._get_extract_tarinfow s  fc "/JJ +&z48H   IIa/*//A B >> yy*H$&GGLLx7H7H$IH !##% (  $ $Q ' ' +  ' ' * * +s# B,,C8;C C8C33C8c: |jd |j|tjj ||j ||||y#t $r}|j|Yd}~yd}~wt$r}|j|Yd}~yd}~wwxYw)Nr)rrrextraction_root) r_extract_memberrr/rrrrr r)rr<r/rrrrs rDrzTarFile._extract_one s C +  "'',,tW\\*J+4/<1@15 ! 7  (  $ $Q ' ' +  ' ' * * +s#?A BA33 B?BBcP |jdkDr|jdd|zy)Nr- tarfile: %s)rNrrrs rDrzTarFile._handle_nonfatal_error s'K ??Q   IIa* +rFcN |jdkDrt|trY|j |j dd|j zy|j dd|j d|jy|j ddt |jd|y)Nrr-rz tarfile: r)rNrrfilenamerstrerrorrxrrs rDrzTarFile._handle_fatal_error sw? ??Q   7 #zz! !]QZZ78 !QZZHI IIaT!W-=-=qA BrFc |jdt|tr|j|}n|}|j s|j t vr|j||S|js|jrEt|jtr td|j|j|Sy)Nrz'cannot extract (sym)link as file object)rrrr}rbrxr fileobjectrcrerrr extractfile_find_link_target)rrhr<s rDrzTarFile.extractfile s C fc "nnV,GG ==?gll/A??41 1 ]]_ $,,0""KLL''(>(>w(GHHrFrrc |jd}|jdtj}tjj |}|r4tjj |stj||js|jr,|jd|jd|jn|jd|j|jr|j||n|jr|j!||n|j#r|j%||n|j's|j)r|j+||nm|js|jr|j-||||n7|j.t0vr|j3||n|j|||rI|j5||||js%|j7|||j9||yyy)NrXr-z -> r)rrrr^r/rgrHmakedirsrcrerrr[rbmakefilerdmakedirr3makefifor.r0makedevmakelink_with_filterrxr makeunknownrrr)rr< targetpathrrrr upperdirss rDrzTarFile._extract_member s  &&s+ ''RVV4 GGOOJ/ RWW^^I6 KK " ==?gmmo IIaw||W5E5EF G IIa & ==? MM': . ]]_ LL* - ^^  MM': . ]]_  LL* - ]]_   % % / / & 1\\ 0   Wj 1 MM': .  JJw M :==? 7J/ 7J/# rFc |jtj|ytj|dy#t$r#tjj |sYywxYw)Ni)rrmkdirFileExistsErrorr/rdrr<rs rDrzTarFile.makedir sY  ||#$U+ 77==,- s!<<)A('A(c  |j}|j|j|j}t |d5}|j d|j D])\}}|j|t |||t|+|j|j|jnt |||jt|dddy#1swYyxYw)NrA) rrr8rOrIr9rrrr1truncate)rr<rsourcerytargetrr1s rDrzTarFile.makefile# s  G''("" z4 (F~~)$+NNLFDKK'iI%3 GLL)!FFGLL)WM) ( (s BCC!ch |j|||jdd|jzy)Nr-z9tarfile: Unknown file type %r, extracted as regular file.)rrrxrs rDrzTarFile.makeunknown3 s8  gz* !24;LLA BrFcf ttdrtj|ytd)Nmkfifozfifo not supported by system)rrrr rs rDrzTarFile.makefifo; s) 2x IIj !=> >rFch ttdrttds td|j}|d}|j r|t j z}n|t jz}tj||tj|j|jy)Nmknodrz'special devices not supported by systemrZ) rrr rr0rS_IFBLKS_IFCHRrrryrz)rr<rrs rDrzTarFile.makedevC s r7#72y+AHI I|| <D ==? DLL D DLL D TG,,g.>.>? ArFc*|j||ddSr)rrs rDmakelinkzTarFile.makelinkU s((*dDIIrFc d} |jrUtjj|rtj|tj |j |ytjj|jr!tj|j|y |j|}||}n| td |||}||j#||||yy#t$rd}YTwxYw#t$r|r tddwxYw#t$r}t||j |d}~wwxYw)NFTz%unable to resolve link inside archivez[makelink_with_filter: if filter_function is not None, extraction_root must also not be Noner)rerr/lexistsunlinksymlinkr[rHr}linksymlink_exceptionrr|r rrUrr) rr<rrrkeyerror_to_extracterrorrrcauses rDrzTarFile.makelink_with_filterX sb $)  ,}}77??:.IIj) 7++Z877>>'"6"67GGG00*=8  //8J  "!H&">?? M*:G    :1@1@ ! B /! ,'+ $ ,  '";=BFG   " M'AuL Ms=A$C<*A C<6D  D)< D  D  D&) E2E  Ec ttdrtjdk(r|j}|j}|sj t r.|j r"t j|j d} tr.|jr"tj|jd}|d}|d} |jr(ttdrtj|||ytj|||yyy#t$rYwxYw#t$rYuwxYw#t$r}t!d|d}~wwxYw)Ngeteuidrr.rHlchownzcould not change owner)rrrr4r3rr6getgrnamr|rr5getpwnamrerrrr )rr<rrgurs rDrz TarFile.chown s 2y !bjjla&7 A A w}}LL7:w}}LL7:yy D==?wr8'<IIj!Q/HHZA./'8 !    D"#; ?s 1 A  AA c |j}|yttdsy tj|||fy#t$r}t d|d}~wwxYw)Nrz"could not change modification time)r2rrrrr )rr<rr2rs rDrz TarFile.utime s]   = r7#  L HHZ% 0 LCD! K Ls< A AAcN |jd|j|j}d|_|S|j|jj k7r^|jdk(ry|jj |jdz |jj ds tdd} |jj|} ||j0j3||Sd|_|S#t$rU}|jr?|jdd|j|fz|xjtz c_Yd}~Yd}~d}~wt$rz}|jr?|jdd|j|fz|xjtz c_Yd}~|jdk(rtt|dYd}~d}~wt $r|jdk(r tddY-t"$r/}|jdk(rtt|dYd}~_d}~wt$$r}tt|dd}~wt&$r@} ddl}t+||j,rtd |d|#t.$r|wxYwd}~wwxYw) Nrarr-rpTr.z0x%X: %sz empty filez zlib error: )rrSrrrrrtrr<rrrLrr rYrrrr ExceptionrrrrrPrrQ)rmr<rrs rDrz TarFile.next sW  D    '  A#D H ;;$,,++- -{{a LL  dkkAo .<<$$Q' 899 ,,2248<    LL   ( DLI" $$IIat{{A.>!>?KK9,K%& 6$$IIat{{A.>!>?KK9,K[[A%#CF+5&# <;;!##L1t;$' 6;;!##CF+5$( 2A'T1 !!TZZ0',qc(:;E"G sb=D J$ AE J$&AG1$G'J$J$ $H77 J$I J$%+J JJJ$c |j}d}| |j|}|d|}|rtjj |}t |D]a}|r|j|jk(rd}!|r*tjj |j}n |j}||k(s_|cS|r t|y#t$rd}YwxYw)NFT) rindexr<rr/rfreversedrr) rrr< normalizerPskippingr+rh member_names rDr{zTarFile._getmember s //#   * g."&5/ 77##D)Dw'F>>V]]2$H gg..v{{; $kk {" ( W% % 1   sC CCcX |j |jd|_yr)rrQrs rDrz TarFile._load, s- iik% iik% rFc |jr"td|jjz|'|j|vrtd|jzyy)Nz %s is closedzbad operation for mode %r)rrr=rr)rrs rDrzTarFile._check4 sX  ;;.4>>+B+BBC C    55 AB B!6 rFc. |jrQdjtdtjj |j |jf}d}n|j}|}|j||d}|td|z|S)NrXT)r<r-zlinkname %r not found) rerrrr/rgrr[r{r|)rr<r[limitrhs rDrzTarFile._find_link_target= s  ==?xxtbggoogll.KWM]M]-^ _`HE''HE5DI >2X=> > rFc#TK |jr|jEd{yd}|j|j}|dz }| |t |jkr|j|}n'|js|j}|s d|_yy|dz }|Y7w)Nrr-T)rQrPrSrr>)rr+r<s rD__iter__zTarFile.__iter__P s <<|| # #     'iikG QJEMs4<<((,,u-\\))+#'DL QJEM $sB(B&BB(c\ ||jkrt|tjyy)Nr)rMrrstderr)rlevelmsgs rDrz TarFile._dbgo s& DJJ  #CJJ ' rFc&|j|Sr)rrs rD __enter__zTarFile.__enter__u s  rFc||jy|js|jjd|_yr)rrrr)rrxr tracebacks rD__exit__zTarFile.__exit__y s2 < JJL## ""$DKrF) NrNNNNNNrNNNN)rN)rNr_)rNN)NNNTrr).N)rT)TFr!)?rrrrMrKrLrNrrbr rBrCrr<r6rrrr<ryrrXrorsrwrYrr}rrrrrrrrrrrrrrrrrrrrrrrrrrrr{rrrr5rr<r?rrFrDrrs EKLJFH FGJAEHL>B)-b^#tZ]/]/~22@6: I%* ? aF$D$L1"1"f%23GjC/%C/J)GG($>&*+(, C@>B&+10@D(,10p N B?A$J0BdDB? L<B&&PC&>( rFrc t|dr.|j}t|}|j|n t|}|j y#t $rYywxYw)Nrt)rTF)rrrrrr)rrrs rDrr s]  4 ))+CT"A IIcNT A   sAA A%$A%c ddl}d}|j|}|jddddd |jd d td |j d}|jdddd|jddddd|jddddd|jdd dd!|j }|j r|j|jd"d#|j|j}t|rut|d$5}|jt|jtj%ddd|j r=td&j#|y|jd"d'j#|yy|j$u|j$}t|rzFilter for extraction)metavarchoicesrHT)requiredz-lz--list zShow listing of a tarfile)rIrHz-ez --extract+)rLz zExtract tarfile into target dir)nargsrIrHz-cz--create)zzzCreate tarfile from sourcesz-tz--testzTest if a tarfile is validr-z&--filter is only valid for extraction rr7z{!r} is a tar archive.z{!r} is not a tar archive. rV)rr.)r/rrAz{!r} file is extracted.z+{!r} file is extracted into {!r} directory.rrr)rz.tgzz.xzz.txzz.bz2z.tbzz.tbz2z.tb2zw:rz{!r} file created.)argparseArgumentParser add_argumentradd_mutually_exclusive_group parse_argsrrexittestrrrrrr8rrbrrr>rcurdir format_helprcreaterar/splitextr)rOrDparserrargsrvrtfrVr:tar_namerext compressionstar_mode tar_files file_names rDmainrc sGK  $ $ $ =F k,-/  N .46  / / / >E tX{79 t[<=? tZs39; tX{8:    D {{t||+ A@A yyii c?c33 cnn&SZZ8 ||.55c:; KK9@@E F  ii c?c5)R -*) KK9@@E F  ! t||  !,,q/CYYF  ! #,,KC KK6--/ 0 c?c5)R 6$++ >*||S=3::3?C2396#v3Fc KK9@@E F  ;;??1%!!(+3  03l/B4,s++KK \\(H -& y!'. << &--h7 8 / !M *)*)>. -s0:P-P:Q"Q-P7:QQQ__main__r@)oversion __author__ __credits__builtinsrrIrrr'rqrrrirrerrrrAttributeErrorNotImplementedErrorrr__all__rrr?r ryrrrrrrrr,r*rrrr2CONTTYPErrrrrrrrrrrr$rrrrrWrrr getfilesystemencodingrErLr\rdrnrrrr(rr rr r r rrrrYrrrobjectrrBufferedReaderr6rrrrrrrUrrnrrrrrcompilerrrrrcrrrFrDrrs:6 H ' $%8'B *-    ^                    HgGXWg#%5! #(>+ /   . 9       77d?H(s((*H 0& (N < *"&$ 2 y  8    x  (  (  {  ;  [    K 0rrj6