
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    xe_8                     @   s  d Z ddlZddlZddlZddlZddlZddlZddddddd	d
dddddddddgZejd dkZ	e
 Ze	reZeZeZeZeZdd	 Zdd
 Zn eZeZeZeZdd	 Zdd
 Ze	reZneZeedfddZe	reZeZeZeZeZeZnddlZefddZee dd Zee dd Zee dd Zee d d Zee d!d Zee d"d Ze! d#krze"ej#d$W n2 ek
r   Y n e"k
r   e$d%Y nX zdd&lm%Z% W n e&k
rl   zdd'l'm(Z( W n" e&k
r   dd'l)m(Z( Y nX e*d(d)d*d+d,gZ+G d-d. d.e,Z-e
 fe.eee/e0dfe1e2e0e3fd/d0Z4d9d3dZ%Y nX zdd4l5m6Z6 W n, e&k
r   ej7ej8B dfd5dZ6Y nX zdd6l5m9Z9 W n  e&k
r   d:d8dZ9Y nX dS );zModule which provides compatibility with older Python versions.
This is more future-compatible rather than the opposite (prefer latest
Python 3 way of doing things).
    NPY3longrangesuperunicode
basestringub	lru_cachewhichget_terminal_sizeFileNotFoundErrorPermissionErrorProcessLookupErrorInterruptedErrorChildProcessErrorFileExistsError   c                 C   s   | S N sr   r   A/opt/alt/python38/lib64/python3.8/site-packages/psutil/_compat.pyr   +   s    c                 C   s
   |  dS )Nzlatin-1)encoder   r   r   r   r	   .   s    c                 C   s
   t | dS )NZunicode_escape)r   r   r   r   r   r   6   s    c                 C   s   | S r   r   r   r   r   r   r	   9   s       c                 C   sb  | t krFt|}z|j|jjd  }W n  ttfk
rJ   tdY nX z
|j	}W nB t
tfk
r   z|jj	}W n t
k
r   tdY nX Y nX |D ]} | j D ]}zPt|tjst|tr|j}qz
|j}W q t
k
r   ||| }Y qX qW n t
tfk
r   Y qY nX |j|jkr q6qq qFqtd|t k	rZt| |S t| S )zuLike Python 3 builtin super(). If called without any arguments
        it attempts to infer them at runtime.
        r   z'super() used in a function with no argsz$super() used in a non-newstyle classzsuper() called outside a method)	_SENTINELsys	_getframef_localsf_codeco_varnames
IndexErrorKeyErrorRuntimeError__mro__AttributeError	__class____dict__values
isinstancetypesFunctionTypepropertyfget__func____get__	TypeError	func_code_builtin_super)type_Ztype_or_objZ
framedepthfmromethr   r   r   r   H   sB    







c                    s    fdd}|S )Nc                    s*   G  fddd j  _ j _ S )Nc                       s2   e Zd Z fddZG fdddeZ  ZS )zE_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClassc                    sd   t |dkrNt|d  rN|d }t|D ] }|ds*t| |t|| q*nt | j|| d S )Nr   r   __)lenr)   dir
startswithsetattrgetattrr   __init__)selfargskwargsZ	unwrap_meattr)TemporaryClassr&   r   r   r=      s    
zN_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__init__c                       s    e Zd Z fddZdd ZdS )zS_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__metaclass__c                    s    |S r   r   )clsinstinstance_checkerr   r   __instancecheck__   s    ze_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__metaclass__.__instancecheck__c                 S   s   t  d }t|| S Nr   )r   exc_infor)   )rC   Z	classinfovaluer   r   r   __subclasscheck__   s    ze_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__metaclass__.__subclasscheck__N)__name__
__module____qualname__rG   rK   r   rE   r   r   __metaclass__   s   rO   )rL   rM   rN   r=   typerO   __classcell__r   rB   rF   )r&   r   rB      s   	rB   )rL   __doc__rE   base_exceptionrR   r   wrapped   s    z-_instance_checking_exception.<locals>.wrappedr   )rU   rV   r   rT   r   _instance_checking_exception   s    rW   c                 C   s   t | dttjkS Nerrno)r<   r   rY   ENOENTrD   r   r   r   r      s    c                 C   s   t | dttjkS rX   )r<   r   rY   ZESRCHr[   r   r   r   r      s    c                 C   s   t | dttjtjfkS rX   )r<   r   rY   EACCESEPERMr[   r   r   r   r      s    
 c                 C   s   t | dttjkS rX   )r<   r   rY   ZEINTRr[   r   r   r   r      s    c                 C   s   t | dttjkS rX   )r<   r   rY   ZECHILDr[   r   r   r   r      s    c                 C   s   t | dttjkS rX   )r<   r   rY   EEXISTr[   r   r   r   r      s    CPythonpermzbbroken or incompatible Python implementation, see: https://github.com/giampaolo/psutil/issues/1659)r
   )RLock	CacheInfohitsmissesmaxsizecurrsizec                   @   s$   e Zd ZdZefddZdd ZdS )
_HashedSeq	hashvaluec                 C   s   || d d < ||| _ d S r   rh   )r>   tuphashr   r   r   r=      s    z_HashedSeq.__init__c                 C   s   | j S r   ri   )r>   r   r   r   __hash__   s    z_HashedSeq.__hash__N)rL   rM   rN   	__slots__rk   r=   rl   r   r   r   r   rg      s   rg   c	                    s   | }	|r.||  }
|	|7 }	|
D ]}|	|7 }	q |rl|	| fdd| D 7 }	|r|	| fdd|
D 7 }	n$||	dkr |	d |kr|	d S t|	S )Nc                 3   s   | ]} |V  qd S r   r   ).0vrP   r   r   	<genexpr>   s     z_make_key.<locals>.<genexpr>c                 3   s   | ]\}} |V  qd S r   r   )rn   kro   rp   r   r   rq      s     r   r   )itemsrg   )r?   kwdstypedkwd_mark	fasttypessortedtuplerP   r8   keyZsorted_itemsitemr   rp   r   	_make_key   s    
r|   d   Fc                    s    fdd}|S )z~Least-recently-used cache decorator, see:
        http://docs.python.org/3/library/functools.html#functools.lru_cache
        c                    s  t  ddgd\ t
jtt 	g d d gd d < gd\dkrnfdd}nPd kr 
f	dd}n* 	
fdd} 	fdd	}	fd
d}|_||_||_t	|S )Nr   )r   r   )r   r      r   c                     s   | |}   d7  < |S rH   r   )r?   rt   result)MISSESstatsuser_functionr   r   wrapper	  s    
z7lru_cache.<locals>.decorating_function.<locals>.wrapperc                     sX   | |}|}|k	r2   d7  < |S | |}||<   d7  < |S rH   r   )r?   rt   rz   r   )	HITSr   cache	cache_getmake_keyrootr   ru   r   r   r   r     s    

c                     sp  |sr
| |}n| }	   zv|}|d k	r\}|\}}}}||< ||< | }| |< |< ||< ||<    d7  < |W S W 5 	  X | |}	   z\}|krnkr"|}	||	< ||	< |	  }d< | }
d  |< |< |
= |	|< n,| }||||g}| |<  |< |<   d7  < W 5 	  X |S )Nr   r   )acquirerelease)r?   rt   rz   linkr   Z	link_prevZ	link_nextr   lastZoldrootZoldkey)r   KEYr   NEXTPREVRESULT_lenr   r   lockr   re   nonlocal_rootr   ru   r   r   r   r     sN    



c                      s6      zt   tW S   X dS )zReport cache statisticsN)r   r   
_CacheInfor8   r   )r   r   r   r   re   r   r   r   
cache_infoF  s    z:lru_cache.<locals>.decorating_function.<locals>.cache_infoc                     sP      z8   d } | | ddg| dd< ddgdd< W 5   X dS )z$Clear the cache and cache statisticsr   N)r   r   clear)r   )r   r   r   r   r   r   cache_clearO  s    z;lru_cache.<locals>.decorating_function.<locals>.cache_clear)
dictr|   getr8   ra   __wrapped__r   r   	functoolsupdate_wrapper)r   r   r   r   re   ru   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   decorating_function   s,    *-	z&lru_cache.<locals>.decorating_functionr   )re   ru   r   r   r   r   r
      s    c)r   c                    s"  dd }t j r&| |r" S dS |dkr>t jdt j}|sFdS |t j}tj	dkrt j
|krt|dt j
 t jddt j}t fd	d
|D r g}q fdd|D }n g}t }|D ]P}t j|}||kr|| |D ](}	t j||	}
||
|r|
    S qqdS )aJ  Given a command, mode, and a PATH string, return the path which
        conforms to the given mode on the PATH, or None if there is no such
        file.

        `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
        of os.environ.get("PATH"), or can be overridden with a custom search
        path.
        c                 S   s&   t j| o$t | |o$t j|  S r   )ospathexistsaccessisdir)fnmoder   r   r   _access_checko  s    zwhich.<locals>._access_checkNPATHwin32r   PATHEXT c                 3   s    | ]}   |  V  qd S r   )lowerendswithrn   extcmdr   r   rq     s     zwhich.<locals>.<genexpr>c                    s   g | ]} | qS r   r   r   r   r   r   
<listcomp>  s     zwhich.<locals>.<listcomp>)r   r   dirnameenvironr   defpathsplitpathsepr   platformcurdirinsertanysetnormcaseaddjoin)r   r   r   r   pathextfilesseenr9   normdirthefilenamer   r   r   r   f  s8    	




)r   P      c                 C   s~   zdd l }dd l}dd l}W n tk
r4   |  Y S X z*|d|d|jd}|d |d fW S  tk
rx   |  Y S X d S )Nr   Zhhr   Z1234)fcntltermiosstructImportErrorunpackZioctlZ
TIOCGWINSZ	Exception)fallbackr   r   r   resr   r   r   r     s    
 )r}   F)r   ):rS   collectionsrY   r   r   r   r*   __all__version_infor   objectr   intr   r   xrangestrr   r   r   r	   r   r2   r   r   r   r   r   r   r   r   rW   EnvironmentErrorpython_implementationOSErrorr^   r#   r
   r   	threadingra   Zdummy_threading
namedtupler   listrg   r   	frozensetrP   rx   ry   r8   r|   shutilr   F_OKX_OKr   r   r   r   r   <module>   s             

8






 
   
k1