__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

7�g�Q��(�SrSSKrSSKrSSKrSSKrSSKrSSKJr SSK	J
r
JrJrJ
r
JrJrJrJrJrJr SSKJr SSKJrJrJr SSKJr SSKrSrS	r /S
Qr!Sr"/SQr#S
r$Sr%Sr&Sr'"SS\(5r)"SS\RT5r+"SS\5r,"SS5r-"SS\-5r."SS\-5r/"SS\5r0\1S:XaE\0"\RdS S!9r3\3RhRk5r5\6"\5RoS
55 gg!\a N�f=f)"zWRepresentation of Debian binary package (.deb) files


Debfile Classes
===============
�N)�Path)
�Any�BinaryIO�Dict�IO�Iterator�List�Optional�Text�Union�overload)�Literal)�ArFile�ArError�ArMember)�	Changelogzdata.tarzcontrol.tar)�gz�bz2�xz�lzma�zstz
debian-binary)�preinst�postinst�prerm�postrm�config�controlzusr/share/doc/%s/changelog.gzz$usr/share/doc/%s/changelog.Debian.gz�md5sumsc�*�\rSrSrSrS\S\4SjrSrg)�_NormedFilePath�Fa^File path class for squashing ./ at the start of files for TarFile

This class only replaces the __eq__ method of the file path comparison
so that "./" is always added to the start of the file path
meaning that "is this the right file to extract" will be true when
the code asks for "./control" but the control.tar member contains
the file "control"
�value�returnc���[U5n[U5nUS:XaSnOURS5(dSU-nUS:XaSnX#:H$URS5(dSU-nX#:H$)N�.�./)�str�
startswith)�selfr"�s1�s2s    �0/usr/lib/python3/dist-packages/debian/debfile.py�__eq__�_NormedFilePath.__eq__Psn��
��Y��
��Z��
��9��B����t�$�$����B�
��9��B��x�����t�$�$����B��x���N)	�__name__�
__module__�__qualname__�__firstlineno__�__doc__r�boolr-�__static_attributes__r0r/r,r r Fs����C��D�r/r c�f�\rSrSr%SrSr\\\S'S\\4Sjr	S\SS4Sjr
\"\	\
5rS	r
g)
�_NormedTarInfo�^aTarInfo replacement that uses file path comparison that squashes ./

This class uses the above _NormedFilePath class for file paths when
iterating or inspecting the members of a TarFile. The _NormedFilePath
normalises the file path when inspecting or extracting from a .deb file.

The class replaces the 'name' member that is normally a str with
a property that addresses a _NormedFilePath.

The control tarball members of the .deb may contain an optional entry
for "." and prefix all entries in the tarball with "./".  Archives
generated by dpkg have this prefix but third party tools might not. The
published spec for the .deb file format, deb(5) from dpkg-dev, explicitly
permits this difference and thus it should be supported here.

See https://bugs.debian.org/1031674 for more detail.
N�_namer#c��UR$�N�r;�r)s r,�	_get_name�_NormedTarInfo._get_namess���z�z�r/�namec�$�[U5Ulgr=)r r;)r)rBs  r,�	_set_name�_NormedTarInfo._set_namevs��$�T�*��
r/r>)r1r2r3r4r5r;r
r'�__annotations__r@rD�propertyrBr7r0r/r,r9r9^sH���$ �E�8�C�=���8�C�=��+�c�+�d�+��I�y�)�Dr/r9c��\rSrSrSrg)�DebError�|r0N�r1r2r3r4r7r0r/r,rIrI|s��r/rIc���\rSrSrSrSrSr\S5rS\	S\
\	4SjrSS	jr\
SSj5r\
SSj5rSS
jr\
SSj5r\
SSj5rSSjrSrSrSrSSjrSrg
)�DebPart�al'Part' of a .deb binary package.

A .deb package is considered as made of 2 parts: a 'data' part
(corresponding to the possibly compressed 'data.tar' archive embedded
in a .deb) and a 'control' part (the 'control.tar.gz' archive). Each of
them is represented by an instance of this class. Each archive should
be a compressed tar archive although an uncompressed data.tar is permitted;
supported compression formats are: .tar.gz, .tar.bz2, .tar.xz .

When referring to file members of the underlying .tar.gz archive, file
names can be specified in one of 3 formats "file", "./file", "/file". In
all cases the file is considered relative to the root of the archive. For
the control part the preferred mechanism is the first one (as in
deb.control.get_content('control') ); for the data part the preferred
mechanism is the third one (as in deb.data.get_file('/etc/vim/vimrc') ).
c��XlSUlgr=)�_DebPart__member�
_DebPart__tgz)r)�members  r,�__init__�DebPart.__init__�s���
���
r/c�^�U4SjnTRc�TRRn[RRU5SSSnU[;dU[:Xd
U[:XaIUS:XaU"SS/5nOTRn[R"US[S9TlTR$[S
U-5eTR$![R[R4an[S	U-5eSnAff=f)z�Return a TarFile object corresponding to this part of a .deb
package.

Despite the name, this method gives access to various kind of
compressed tar archives, not only gzipped ones.
c��>^�SSKnSSKmURUURURSU4SjS9nURTRR55SnURS:wa-[
S	SRU5<S
UR<S35e[R"U5$![[
4a(n[
SSRU5<SU<S35eSnAff=f)NrFc�P>�TRTRTR5$r=)�signal�SIGPIPE�SIG_DFL)rXs�r,�<lambda>�9DebPart.tgz.<locals>._custom_decompress.<locals>.<lambda>�s����M�M�&�.�.�&�.�.�Ar/)�stdin�stdout�universal_newlines�
preexec_fnzerror while running command '� z' as subprocess: '�'z	command 'z' has failed with code ')�
subprocessrX�Popen�PIPE�OSError�
ValueErrorrI�join�communicaterP�read�
returncode�io�BytesIO)�command_listrc�proc�e�datarXr)s     @�r,�_custom_decompress�'DebPart.tgz.<locals>._custom_decompress�s����
<�!��"�'�'� �$�/�/�*�/�/�',� B�	(����#�#�D�M�M�$6�$6�$8�9�!�<�D����!�#�� #���� 6���� I�J�J��:�:�d�#�#���Z�(�
<�� #���� 6�� ;�<�<��
<�s�3B6�6C.�#C)�)C.N�r�unzstdz--stdoutzr:*)�fileobj�mode�tarinfoz#tarfile has returned an error: '%s'z"part '%s' has unexpected extension)rQrPrB�os�path�splitext�	PART_EXTS�	DATA_PART�	CTRL_PART�tarfile�openr9�	ReadError�CompressionErrorrI)r)rrrB�	extension�bufferrps`     r,�tgz�DebPart.tgz�s����	$�4�:�:���=�=�%�%�D����(�(��.�q�1�!�"�5�I��I�%���):�d�i�>O���%�/��:�0F�G�F�!�]�]�F�N�!(���f�5�R`�!a�D�J�
�z�z���C�d�J�K�K��z�z���	 �)�)�7�+C�+C�D�N�"�#H�1�#L�M�M��N�s�C�$D�5D�Dc��[U5RSS5nURS5(aU$URS5(aSU-$US:XagSU-$)zntry (not so hard) to obtain a member file name in a form that is
stored in the .tar.gz, i.e. starting with ./ �\�/r&r%)r'�replacer()�fnames r,�__normalize_member�DebPart.__normalize_member�s_���E�
�"�"�4��-�����D�!�!��L����C� � ���;���C�<���e�|�r/rzr#c��/nURS5SSH�nURU5 [RR	SRU55n[RU5nUR5RU5nUR5(dM�URRS5(a)URRS5nURnM�URUS'M� [R[RR	W55$![a gf=f)z�walk the path following symlinks

returns:
    resolved_path, info

if the path is not found even after following symlinks within the
archive, then None is returned.
r�rtN���)�split�appendryrz�normpathrhrM�_DebPart__normalize_memberr��	getmember�issym�linknamer(�KeyError)r)rz�resolved_path_parts�pathpart�currpath�tinfos      r,�__resolve_symlinks�DebPart.__resolve_symlinks�s���	�"$�� �J�J�s�O�A�B�/��#�*�*�8�4��7�7�+�+�C�H�H�5H�,I�J��"�5�5�h�?�����
�,�,�X�6���;�;�=�=��~�~�0�0��5�5�.3�n�n�.B�.B�3�.G�+�#(�>�>��38�.�.�+�B�/�%0�0�)�)�"�'�'�*:�*:�8�*D�E�E��	�	��	�s�BD3�%AD3�3
E�?Ec��[RU5nUR5R5nX;agU(aUR	U5nUSL$X;$)z]Check if this part contains a given file name.

Symlinks within the archive can be followed.
TN)rMr�r��getnames�_DebPart__resolve_symlinks)r)r��follow_symlinks�names�
fname_reals     r,�has_file�DebPart.has_filesV���*�*�5�1�����
�#�#�%���>����0�0��7�J��T�)�)��~�r/Nc��gr=r0�r)r��encoding�errorsr�s     r,�get_file�DebPart.get_file���	
r/c��gr=r0r�s     r,r�r�r�r/c�>�[RU5nU(a!URU5nUc[S5eUnUR	5RU5nUc[S5eUb[R"XbUS9$U$![a [S5ef=f)z�Return a file object corresponding to a given file name.

If encoding is given, then the file object will return Unicode data;
otherwise, it will return binary data.

If follow_symlinks is True, then symlinks within the archive will be
followed.
zFile not found inside package�r�r�)	rMr�r�rIr��extractfiler�rl�
TextIOWrapper)r)r�r�r�r�r��fobjs       r,r�r�"s����*�*�5�1����0�0��7�J��!��>�?�?��E�	<��8�8�:�)�)�%�0�D��<��:�;�;����#�#�D�F�K�K�����	<��:�;�;�	<�s�B�Bc��gr=r0r�s     r,�get_content�DebPart.get_contentB���	
r/c��gr=r0r�s     r,r�r�Lr�r/c��UR[U5X#US9nSnU(a UR5nUR5 U$)aReturn the string content of a given file, or None (e.g. for
directories).

If encoding is given, then the content will be a Unicode object;
otherwise, it will contain binary data.

If follow_symlinks is True, then symlinks within the archive will be
followed.
)r�r�r�N)r�r'rj�close)r)r�r�r�r��f�contents       r,r�r�VsG�� 
�M�M���J��+�
�
��
����f�f�h�G�
�G�G�I��r/c�P�[UR5R55$r=)�iterr�r�r?s r,�__iter__�DebPart.__iter__ss���D�H�H�J�'�'�)�*�*r/c�$�URU5$r=)r��r)r�s  r,�__contains__�DebPart.__contains__ws���}�}�U�#�#r/c�$�URU5$r=)r�r�s  r,�__getitem__�DebPart.__getitem__{s������&�&r/c�8�URR5 gr=)rPr�r?s r,r��
DebPart.closes���
�
���r/)�__member�__tgz)F)NNF)NF�r#N)r1r2r3r4r5rSr��staticmethodr�r'r
r�r�r
r�r�r�r�r�r�r7r0r/r,rMrM�s����"�
4�l����&#F�s�#F�x��}�#F�J�$�
��
��
��
��@�"��$)�	
��
�� �$)�	
��
�"��$)�	�:+�$�'�r/rMc��\rSrSrSrg)�DebDatai�r0NrKr0r/r,r�r��s��r/r�c
��\rSrSrS\\\44SjrS\RR4Sjr\SSj5r
\S
S\S\\S\\\44S	jj5r
SS
jr
Srg)�
DebControli�r#c��0n[H5nURU5(dMURU5nUcM1X1U'M7 U$)zfReturn a dictionary of maintainer scripts (postinst, prerm, ...)
mapping script names to script text. )�
MAINT_SCRIPTSr�r�)r)�scriptsr�rqs    r,r��DebControl.scripts�sF��%'��"�E��}�}�U�#�#��'�'��.���#�%)�E�N�	#��r/c�f�[RRUR[55$)z�Return the debian/control as a deb822.DebControl (a Debian-specific dict-like
class) object.

For a string representation of debian/control try
.get_content('control') )�debian�deb822r�r��CONTROL_FILEr?s r,�
debcontrol�DebControl.debcontrol�s$���}�}�'�'��(8�(8��(F�G�Gr/Nc��gr=r0�r)r�r�s   r,r�DebControl.md5sums�r�r/r�r�c��gr=r0r�s   r,rr�����r/c��UR[5(d[S[-5eUR[XS9n0nSnUcSnUR	5HSnURU5R
SS5upx[U[5(aUR5XH'MOXtU'MU UR5 U$)a�Return a dictionary mapping filenames (of the data part) to
md5sums. Fails if the control part does not contain a 'md5sum' file.

Keys of the returned dictionary are the left-hand side values of lines
in the md5sums member of control.tar.gz, usually file names relative to
the file system root (without heading '/' or './').

The returned keys are Unicode objects if an encoding is specified,
otherwise binary. The returned values are always Unicode.z('%s' file not found, can't list MD5 sumsr�z
Ns
rt)r��MD5_FILErIr��	readlines�rstripr��
isinstance�bytes�decoder�)	r)r�r��md5_file�sums�newline�line�md5r�s	         r,rr��s����}�}�X�&�&��:�X�E�G�
G��=�=��H�=�L��!��%+�����G��&�&�(�D����W�-�3�3�D�!�<�J�C��#�u�%�%�!�j�j�l���!�U��
)�	�����r/r0�NNr=)r1r2r3r4rr'r�r�r�r�r�r�r
rr
r7r0r/r,r�r��s~����c�5�j�)��H�F�M�M�4�4�H��
��
��
��
�X�c�]�
�d�3�PS�8�n�
��
�r/r�c
�8�\rSrSrSrSSjrSSjr\S\4Sj5r	\S5r
\S	5rS\RR4S
jrS\\\44Sjr\SSj5r\SS
\S\\S\\\44Sjj5rSSjrSrSSjrSSjrS\S\S\SS4SjrSrg)�DebFilei�a�Representation of a .deb file (a Debian binary package)

DebFile objects have the following (read-only) properties:
    - version       debian .deb file format version (not related with the
                    contained package version), 2.0 at the time of writing
                    for all .deb packages in the Debian archive
    - data          DebPart object corresponding to the data.tar.gz (or
                    other compressed or uncompressed tar) archive contained
                    in the .deb file
    - control       DebPart object corresponding to the control.tar.gz (or
                    other compressed tar) archive contained in the .deb
                    file
Nc�F^�[R"XX#5 [UR55mS[S[4U4Sjjn[
T;a[
S[
-5e0Ul[URU"[555UR['[URU"[555UR['SUl
UR[
5nUR5R5UlUR#5 g)N�basenamer#c�<>�[Vs/sHo<SU<3PM
 nnU[[4;aURU5 TR	[U55nU(d[
SU-5e[U5S:�a[
SU-5e[U5S$s snf)Nr%z9missing required part in given .deb (expected one of: %s)rtz>too many parts in given .deb (was looking for only one of: %s)r)	r|r}r~r��intersection�setrI�len�list)r��ext�
candidates�parts�actual_namess    �r,�compressed_part_name�.DebFile.__init__.<locals>.compressed_part_name�s����?H�I�y��X�s�3�y�J�I��I�y�1�1��!�!�(�+� �-�-�c�*�o�>�E���-�/9�:�;�;��5�z�A�~��9�;E�F�G�G���;�q�>�!��Js�Bz4missing required part in given .deb (expected: '%s'))rrSr�r�r'�	INFO_PARTrI�_DebFile__partsr�r�r~r�r}�_DebFile__pkgnamerj�strip�_DebFile__versionr�)r)�filenamerwrvr�r�r�s      @r,rS�DebFile.__init__�s���������6��4�=�=�?�+��	"�3�	"�3�	"�$�L�(��$�&/�0�1�
1����",�T�^�^� ��+�.-�#.����Y��")�$�.�.� ��+�+-�#.����Y������N�N�9�%��������)���	���	r/r#c�4�UR5SUlg)N�package)r�r�r?s r,�__updatePkgName�DebFile.__updatePkgNames�����*�9�5��r/c��UR$r=)rr?s r,�version�DebFile.versions���~�~�r/c�(�UR[$r=)r�r}r?s r,rq�DebFile.data	����|�|�I�&�&r/c�(�UR[$r=)r�r~r?s r,r�DebFile.controlrr/c�6�URR5$)zSee .control.debcontrol() )rr�r?s r,r��DebFile.debcontrols���|�|�&�&�(�(r/c�6�URR5$)zSee .control.scripts() )rr�r?s r,r��DebFile.scriptss���|�|�#�#�%�%r/c��gr=r0r�s   r,r�DebFile.md5sumsr�r/r�r�c��gr=r0r�s   r,rr"r�r/c�4�URRXS9$)zSee .control.md5sums() r�)rrr�s   r,rr&s���|�|�#�#�X�#�E�Er/c��URcUR5 [UR-[UR-4HVnURRUSS9n[R"US9nUR5nSSS5 [W5s $ g![a Mhf=f!,(df   N/=f)z}Return a Changelog object for the changelog.Debian.gz of the
present .deb package. Return None if no changelog can be found. NT)r�)rv)r��_DebFile__updatePkgName�CHANGELOG_DEBIAN�CHANGELOG_NATIVErqr�rI�gzip�GzipFilerjr)r)r��fhr�
raw_changelogs     r,�	changelog�DebFile.changelog+s���
�>�>�!�� � �"�&����7�&����7�9�E�
��Y�Y�'�'��t�'�D�����r�*�b� "���	�
�+��]�+�+�9����
��
��+�*�s�B�6B0�
B-�,B-�0
B>	c�l�URR5 URR5 gr=)rr�rqr?s r,r��
DebFile.close@s ���������	�	���r/c��U$r=r0r?s r,�	__enter__�DebFile.__enter__Ds���r/�exc_type�exc_val�exc_tbc�$�UR5 gr=)r�)r)r&r'r(s    r,�__exit__�DebFile.__exit__Gs���
�
�r/)�__parts�	__pkgname�	__version)N�rNr�r�r=)r#r�)r1r2r3r4r5rSrrGr�rrqrr�r�r�r�rr'r�r
rr
rr�r$rr*r7r0r/r,r�r��s����%�N6��������'��'��'��'�)�F�M�M�4�4�)�&��c�5�j�)�&��
��
��
��
�X�c�]�
�D��c��N�
��
�F�
�*�����s��C��D�r/r��__main__rt)r)8r5rrlr�sys�os.pathry�pathlibr�typingrrrrrr	r
rrr
�typing_extensionsr�ImportError�
debian.arfilerrr�debian.changelogr�
debian.deb822r�r}r~r|r�r�r�rrr�r'r �TarInfor9rIrMr�r�r�r1�argv�debrr��printr�r0r/r,�<module>r>s,���0�	��
������	��4�3�&��
�	��	�.�	��	�D�
���2��9����
�c��0*�W�_�_�*�<	�w�	�@�@�F	�g�	�
@��@�F}�f�}�@�z��
�3�8�8�A�;�
'�C�

�+�+�/�/�
�C�	�#�-�-�	�
"�#���w�	��	�s�D�D�D

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 1.02 KB 0644
_arch_table.cpython-313.pyc File 15.82 KB 0644
_util.cpython-313.pyc File 16.72 KB 0644
_version.cpython-313.pyc File 634 B 0644
arfile.cpython-313.pyc File 14.71 KB 0644
changelog.cpython-313.pyc File 38.9 KB 0644
copyright.cpython-313.pyc File 35.68 KB 0644
deb822.cpython-313.pyc File 93.51 KB 0644
debfile.cpython-313.pyc File 23.15 KB 0644
debian_support.cpython-313.pyc File 29.56 KB 0644
debtags.cpython-313.pyc File 18.78 KB 0644
substvars.cpython-313.pyc File 16.85 KB 0644
watch.cpython-313.pyc File 9.93 KB 0644
Filemanager