+
     hLG  c                   s   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RI	H
t
 ^RI	Ht ^RI	Ht ^RI	Ht ^RI
Ht ^RI
Ht ^R	I
Ht ^R
I
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht R.t]! ]R4      t]! ]R4      t]! ]R4      t]P>                  ! 4       t ]PB                  t!]PD                  ]
PF                  ]PH                  ]
PJ                  ]PL                  ]
PN                  ]PP                  ]
PN                  ]PR                  ]
PT                  /t+]PX                  ]
PZ                  ]P\                  ]
P^                  ]P`                  ]
Pb                  ]Pd                  ]
Pf                  ]Ph                  ]
Pj                  ]Pl                  ]
Pn                  ]Pp                  ]
Pr                  ]Pt                  ]
Pv                  ]Px                  ]
Pz                  ]P|                  ]
P~                  ]P                  ]
P                  ]P                  ]
P                  /tD]E! ^ ^^^^^^^R7      tF]! RRR.4      tG]GtH]! R. R,O4      tI]! R. R-O4      tJR tKR tLR tMR tNR tOR  tPR! tQ]P                  tR]P                  tSR.R" ltT]P                  tU]'       d   ]P                  tVR/R# ltWR$ tXR% tYR& tZR' t[R( t\R) t] ! R* R+4      t^R# )0zAIX platform implementation.N)
namedtuple)_common)_psposix)_psutil_aix)_psutil_posix)NIC_DUPLEX_FULL)NIC_DUPLEX_HALF)NIC_DUPLEX_UNKNOWN)AccessDenied)NoSuchProcess)ZombieProcess)conn_to_ntuple)get_procfs_path)memoize_when_activated)usage_percentZPROCFS_PATHproc_threadsnet_io_countersproc_io_counters)ppidrssvmscreate_timeZnicenum_threadsstatusttynrpmemr   r   	scputimessvmemc                  sv    \         P                  ! 4       w  rr#p\        W,
          V ^R7      p\        WWTV4      # )   Zround_)cextZvirtual_memr   r   )totalZavailfreeZ_pinnedZinusepercent         4/usr/lib64/python3.14/site-packages/psutil/_psaix.pyvirtual_memoryr$   g   s6    )-)9)9);&E$U]U1=Gwt44    c                 s    \         P                  ! 4       w  rr#W,
          p\        W@^R7      p\        P                  ! WWW#4      # )z=Swap system memory as a (total, used, free, sin, sout) tuple.r   )r   Zswap_memr   r   Zsswap)r   r    ZsinZsoutusedr!   r"   r#   swap_memoryr'   m   s8    !]]_E<DD2G==dS??r%   c                 s    \         P                  ! 4       p \        \        V !   Uu. uF  p\	        V4      NK  	  up!  # u upi )z.Return system-wide CPU times as a named tuple.)r   per_cpu_timesr   ZzipZsumretx     r#   	cpu_timesr-   z   s5    



CsCy1y!s1vy1221s   ?c                 sh    \         P                  ! 4       p V  Uu. uF  p\        V!  NK  	  up# u upi )z6Return system per-CPU times as a list of named tuples.)r   r(   r   r)   r,   r#   r(   r(      s,    



C#&'3aIqM3'''s   /c                 sT     \         P                  ! R4      #   \         d     R# i ; i)z0Return the number of logical CPUs in the system.ZSC_NPROCESSORS_ONLNN)osZsysconfZ
ValueError r%   r#   cpu_count_logicalr0      s)    zz/00 s    ''c                  s^   . ROp \         P                  ! V \         P                  \         P                  R7      pVP                  4       w  r#R W#3 4       w  r#VP                  ^ 8w  d   V : RV 2p\        V4      hVP                  4       P                  4       p\        V4      ;'       g    R# )lsdevstdoutstderrc              3   r   "   T F-  qP                  \        P                  P                  4      x  K/  	  R # 5iNZdecodesysr3   ZencodingZ.0r+      & r#   	<genexpr>Z"cpu_count_cores.<locals>.<genexpr>   s&     N=Mhhszz2233=M   57z command error
N)r1   z-CcZ	processor)	
subprocessPopenPIPEcommunicate
returncodeZRuntimeErrorstripZ
splitlineslen)Zcmdpr3   r4   ZmsgZ
processorsr"   r#   cpu_count_coresrE      s    
'CZ__Z__MA]]_NFNf=MNNF||q'x03**,Jz?""d"r%   c                 s`    \         P                  ! 4       w  rr#\        P                  ! WW#4      # )z*Return various CPU stats as a named tuple.)r   	cpu_statsr   Z	scpustats)Zctx_switchesZ
interruptsZsoft_interruptsZsyscallss       r#   rF   rF      s+    :>..:J7Lo/ r%   c                s    . p\         P                  ! 4       pV F^  pVw  rErgVR8X  d   RpV '       g   \        V4      P                  '       g   K6  \        P
                  ! WEWg4      pVP                  V4       K`  	  V# )zReturn system disk partitions.Znone )r   disk_partitions
disk_usager   r   Z	sdiskpartappend)	ZallretlistZ
partitionsZ	partitionZdeviceZ
mountpointZfstypeZoptsntuples	   &        r#   rH   rH      sv     G%%'J	+4(FVF j)///""6vDv   Nr%   c                s
   \         P                  V ,          w  r#\        P                  ! V4      p. pV FK  pVw  rxrrpW9  d   K  W9  d   K  \	        TTT	T
TT\
        VR8X  d   TMRR7      pVP                  V4       KM  	  V# )zReturn socket connections.  If pid == -1 return system-wide
connections (as opposed to connections opened by one process only).
Npid)r   Z	conn_tmapr   net_connectionsr   TCP_STATUSESrJ   )kind_pidZfamiliesZtypesrawlistr*   itemfdZfamZtype_ZladdrZraddrr   rN   nts   &&             r#   rP   rP      s     ''-OH""4(G
C481ucrzt	
 	

2! " Jr%   c                 s   R\         R\        /p \        4        Uu0 uF  q^ ,          kK  	  pp/ pV EF'  p\        P                  ! V4      p\        P
                  ! V4      pRp^ p\        P                  ! RRV.\        P                  \        P                  R7      p	V	P                  4       w  rR W3 4       w  rV	P                  ^ 8X  dG   \        P                  ! RV
4      pVe,   \        VP                  ^4      4      pVP                  ^4      pR	P                  V4      pR
V9   pV P!                  V\"        4      p\$        P&                  ! WWV4      W4&   EK*  	  V# u upi )z)Get NIC stats (isup, duplex, speed, mtu).ZFullZHalfrG   z/usr/bin/entstatz-dr2   c              3   r5   r6   r7   r9   r:   r#   r;   Znet_if_stats.<locals>.<genexpr>   (      
3CaHHSZZ(())3Cr<   z"Running: (\d+) Mbps.*?(\w+) DuplexZ,Zrunning)r   r   net_if_addrs
cext_posixZ
net_if_mtuZnet_if_flagsr=   r>   r?   r@   rA   reZsearchintZgroupjoingetr   r   Z	snicstats)Z
duplex_mapr+   Znamesr*   nameZmtuZflagsZduplexZspeedrD   r3   r4   Z	re_resultZoutput_flagsZisups                  r#   net_if_statsr`      sE   /6?CJ'>*>aqTT>E*
C##D)''-
 t,????

 
4:3C
 <<1		5vI $IOOA./"+xxE!(:;%%dEM	; < JA +s   E c                 s,    \         P                  ! 4       # )z:The system boot time expressed in seconds since the epoch.)r   	boot_timer/   r%   r#   ra   ra     s    >>r%   c                 s    . p \         P                  ! 4       pRpV FD  pVw  rErgrV'       g   K  Wb9   d   Rp\        P                  ! WEWgV	4      p
V P	                  V
4       KF  	  V # )z:Return currently connected users as a list of namedtuples.	localhost)z:0.0z:0)r   usersr   ZsuserrJ   )rK   rT   rb   rU   userZttyZhostnameZtstampZuser_processrN   rW   s              r#   rc   rc     se    GjjlGI9=68\  "H]]4h<r  Nr%   c                 s    \         P                  ! \        4       4       U u. uF%  q P                  4       '       g   K  \	        V 4      NK'  	  up # u up i )z7Returns a list of PIDs currently running on the system.)r.   listdirr   Zisdigitr\   )r+   s    r#   pidsrf   /  s4    JJ'89I9qYY[FCF9IIIs
   AAc                s    \         P                  P                  \         P                  P                  \	        4       \        V 4      R4      4      # )z&Check for the existence of a unix pid.Zpsinfo)r.   pathZexistsr]   r   strrM      &r#   
pid_existsrj   4  s-    77>>"'',,'8#c(HMNNr%   c                sF   a  \         P                  ! S 4      V 3R l4       pV# )z{Call callable into a try/except clause and translate ENOENT,
EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
c                 s  < V P                   V P                  V P                  rTp S! V .VO5/ VB #   \        \        3 d0   p\        T4      '       g   \        Y54      Th\        Y5T4      ThR p?i\         d   p\        Y54      ThR p?ii ; ir6   )
rN   _ppid_nameFileNotFoundErrorZProcessLookupErrorrj   r	   r
   ZPermissionErrorr   )selfZargsZkwargsrN   r   r_   errfuns   &*,    r#   wrapperZ wrap_exceptions.<locals>.wrapper>  s    ((DJJ

4
	3t-d-f--!#56 	: c??#C.C740c9 	3s)s2	3s'   2 B*A--B:B;BB)	functoolsZwraps)rp   rq   s   f r#   wrap_exceptionsrs   9  s'    
 __S3 3 Nr%   c                   s  a  ] tR tRt o Rt. R!OtR tR tR t]	]
R 4       4       t]	]
R 4       4       t]	R 4       t]	R	 4       t]	R
 4       t]	R 4       t]	R 4       t]	R 4       t]'       d	   ]	R 4       t]	R"R l4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]t]	R 4       t R t!]	R 4       t"]	R 4       t#]	R#R l4       t$]%'       d   ]	R 4       t&R t'V t(R# R t'V t(R# )$ProcessiP  z1Wrapper class around underlying C implementation.c                sL    Wn         R V n        R V n        \        4       V n        R # r6   )rN   rl   rk   r   _procfs_path)rn   rN      &&r#   __init__ZProcess.__init__U  s     

+-r%   c                r    V P                   P                  V 4       V P                  P                  V 4       R # r6   )_proc_basic_infoZcache_activate
_proc_credrn   ri   r#   oneshot_enterZProcess.oneshot_enter[  s(    ,,T2&&t,r%   c                rx   r6   )ry   Zcache_deactivaterz   r{   ri   r#   oneshot_exitZProcess.oneshot_exit_  s(    ..t4((.r%   c                X    \         P                  ! V P                  V P                  4      # r6   )r   Zproc_basic_inforN   ru   r{   ri   r#   ry   ZProcess._proc_basic_infoc  s!     ##DHHd.?.?@@r%   c                r~   r6   )r   Z	proc_credrN   ru   r{   ri   r#   rz   ZProcess._proc_credh  s     ~~dhh(9(9::r%   c                s    V P                   ^ 8X  d   R# \        P                  ! V P                   V P                  4      P	                  R4      # )    ZswapperZ )rN   r   Z	proc_nameru   rstripr{   ri   r#   r_   ZProcess.namem  s6    88q=~~dhh(9(9:AA&IIr%   c                s   V P                  4       pV'       g   R # V^ ,          p\        P                  P                  V9   Ed   \        P                  P	                  V4      '       gL   \        P                  P                  \        P                  P                  V P                  4       V4      4      p\        P                  P	                  V4      '       dS   \        P                  P                  V4      '       d.   \        P                  ! V\        P                  4      '       d   V# \        P                  P                  V4      p\        P                  R,          P                  R4       F  p\        P                  P                  \        P                  P                  W24      4      p\        P                  P                  V4      '       g   Kf  \        P                  ! V\        P                  4      '       g   K  Vu # 	  R # )rG   ZPATHZ:)cmdliner.   rg   ZsepZisabsZabspathr]   cwdZisfileZaccessZX_OKZbasenameenvironZsplit)rn   r   exerg   Zpossible_exe   &    r#   r   ZProcess.exet  s2    ,,.aj77;;#77==%%ggoobggll488:s&CDc""GGNN3''IIc277++
''""3'CJJv&,,S1D77??277<<+BCLww~~l++		bgg1 1 $# 2 r%   c                B    \         P                  ! V P                  4      # r6   )r   Z	proc_argsrN   r{   ri   r#   r   ZProcess.cmdline  s    ~~dhh''r%   c                r   r6   )r   Zproc_environrN   r{   ri   r#   r   ZProcess.environ  s      **r%   c                F    V P                  4       \        R ,          ,          # )r   ry   proc_info_mapr{   ri   r#   r   ZProcess.create_time      $$&}]'CDDr%   c                r   )r   r   r{   ri   r#   r   ZProcess.num_threads  r   r%   c                s    \         P                  ! V P                  4      p. pV F.  w  r4p\        P                  ! W4V4      pVP                  V4       K0  	  V'       g0   \        P                  ! V P                   R V P                   24       V# )/)	r   r   rN   r   ZpthreadrJ   r.   statru   )rn   rT   rK   Z	thread_idZutimeZstimerL   s   &      r#   threadsZProcess.threads  sr    ''1GG+2'	% 5Av& ,3 4,,-Qtxxj9:Nr%   c                s    \        WP                  R 7      pV'       g0   \        P                  ! V P                   RV P                   24       V# ))rS   r   )rP   rN   r.   r   ru   )rn   rR   r*   s   && r#   rP   ZProcess.net_connections  s<    d2 GGt(()488*56
r%   c                r   r6   )rZ   ZgetpriorityrN   r{   ri   r#   nice_getZProcess.nice_get  s    %%dhh//r%   c                sD    \         P                  ! V P                  V4      # r6   )rZ   ZsetpriorityrN   )rn   Zvaluerv   r#   nice_setZProcess.nice_set  s    %%dhh66r%   c                sh    V P                  4       \        R ,          ,          V n        V P                  # )r   )ry   r   rk   r{   ri   r#   r   ZProcess.ppid  s&    **,]6-BC
zzr%   c                s\    V P                  4       w  rp  p\        P                  ! WV4      # r6   rz   r   Zpuids)rn   real	effectivesaved_r   r#   uidsZProcess.uids  s*    *.//*;'1a}}Te44r%   c                sZ    V P                  4       w    rr4\        P                  ! W#V4      # r6   r   )rn   r   r   r   r   r   r#   gidsZProcess.gids  s(    *.//*;'1ay}}Te44r%   c                s    \         P                  ! V P                  V P                  4      p\        P
                  ! V!  # r6   )r   Zproc_cpu_timesrN   ru   r   Z	pcputimes)rn   Ztr:   r#   r-   ZProcess.cpu_times  s/    $*;*;<  !$$r%   c                s   V P                  4       \        R ,          ,          pVR,          ^,	          VR,          ,          p\        P                  ! R4       F,  p\        P                  ! V4      P
                  V8X  g   K*  Vu # 	  R# )r   l        i  z	/dev/**/*N)ry   r   globr.   r   Zst_rdev)rn   ZttydevZdev   &  r#   terminalZProcess.terminal  sf    &&(w)?@..25&6/J99[)Cwws|##v-
 * r%   c                s    V P                   p \        P                  ! V R V P                   R24      pVP	                  R 4      #   \
         d*    \        P                  ! T R T P                   24        R# i ; i)r   z/cwdrG   )ru   r.   ZreadlinkrN   r   rm   r   )rn   Zprocfs_pathZresultr   r#   r   ZProcess.cwd  sm    ''	[[K=$((4!@AF==%%  	GG{m1TXXJ/0	s   6A 0A98A9c                s    V P                  4       pV\        R ,          ,          R,          pV\        R,          ,          R,          p\        W#4      # )r   i   r   )ry   r   r   )rn   r*   r   r   s   &   r#   memory_infoZProcess.memory_info  sB    ##%-&'$.-&'$.C~r%   c                sr    V P                  4       \        R ,          ,          p\        P                  VR4      # )r   Z?)ry   r   PROC_STATUSESr^   )rn   Zcoder:   r#   r   ZProcess.status  s-    $$&}X'>?  s++r%   c           	     sv   \         P                  ! R R\        V P                  4      .\         P                  \         P                  R7      pVP                  4       w  r#R W#3 4       w  r#RVP                  4       9   d!   \        V P                  V P                  4      h\        P                  ! RV4      p. pV F{  w  rgVP                  4       pVP                  R4      '       d
   VR,          pVP                  4       R8X  d   KL  VP                  \        P                  ! V\!        V4      4      4       K}  	  V# )	z/usr/bin/procfilesz-nr2   c              3   r5   r6   r7   r9   r:   r#   r;   Z%Process.open_files.<locals>.<genexpr>  rX   r<   zno such processz(\d+): S_IFREG.*name:(.*)\nz//:r   NNzcannot be retrieved)r=   r>   rh   rN   r?   r@   Zlowerr	   rl   r[   ZfindallrB   Z
startswithrJ   r   Z	popenfiler\   )rn   rD   r3   r4   Z	procfilesrK   rV   rg   s   &       r#   
open_filesZProcess.open_files  s     !4TXX7????

 
4:3C
 .$**55JJ=vF	!HB::<Dt$$Bxzz|44NN7,,T3r7;< " r%   c                s    V P                   ^ 8X  d   ^ # \        \        P                  ! V P                   RV P                    R24      4      # )r   r   z/fd)rN   rC   r.   re   ru   r{   ri   r#   num_fdsZProcess.num_fds  s<    88q=2::!2!2 31TXXJcBCDDr%   c                sf    \         P                  ! \        P                  ! V P                  4      !  # r6   )r   Zpctxswr   Zproc_num_ctx_switchesrN   r{   ri   r#   num_ctx_switchesZProcess.num_ctx_switches!  s     ~~t99$((CDDr%   Nc                sX    \         P                  ! V P                  WP                  4      # r6   )r   Zwait_pidrN   rl   )rn   Ztimeoutrv   r#   waitZProcess.wait%  s      7JJ??r%   c                s    \         P                  ! V P                  4      w  rr4\        P                  ! YY44      #   \         dC   p\	        T P                  4      '       g"   \        T P                  T P                  4      Thh R p?ii ; ir6   )	r   r   rN   ZOSErrorrj   r	   rl   r   Zpio)rn   ZrcZwcZrbZwbro   s   &     r#   io_countersZProcess.io_counters+  so    !%!6!6txx!@ ;;rr..   "$((++'$**=3Fs   #< B	=BB	)rl   rk   ru   rN   )Z_cacherl   rk   ru   rN   )Zinetr6   ))Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__Z	__slots__rw   r|   r}   rs   r   ry   rz   r_   r   r   r   r   r   HAS_THREADSr   rP   r   r   r   r   r   r-   r   r   r   Zmemory_full_infor   r   r   r   r   HAS_PROC_IO_COUNTERSr   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r#   rt   rt   P  s0    ;CI.-/ A  A ;  ; J J  : ( ( + + E E E E 		 
	  
 
 0 0 7 7   5 5 5 5 % %       #, ,
2 E E
 E E @ @ 			/ 
		/ r%   rt   )rd   ZsystemZidleZiowait)r   Z	availabler!   r&   r    )F)rO   )_r   rr   r   r.   r[   r=   r8   Zcollectionsr    rG   r   r   r   r   r   rZ   r   r   r   r   r	   r
   r   r   r   r   Z__extra__all__Zhasattrr   ZHAS_NET_IO_COUNTERSr   ZgetpagesizeZ	PAGE_SIZEZAF_LINKZSIDLZSTATUS_IDLEZSZOMBZSTATUS_ZOMBIEZSACTIVEZSTATUS_RUNNINGZSSWAPZSSTOPZSTATUS_STOPPEDr   ZTCPS_ESTABLISHEDZCONN_ESTABLISHEDZTCPS_SYN_SENTZCONN_SYN_SENTZTCPS_SYN_RCVDZCONN_SYN_RECVZTCPS_FIN_WAIT_1ZCONN_FIN_WAIT1ZTCPS_FIN_WAIT_2ZCONN_FIN_WAIT2ZTCPS_TIME_WAITZCONN_TIME_WAITZTCPS_CLOSEDZ
CONN_CLOSEZTCPS_CLOSE_WAITZCONN_CLOSE_WAITZTCPS_LAST_ACKZCONN_LAST_ACKZTCPS_LISTENZCONN_LISTENZTCPS_CLOSINGZCONN_CLOSINGZPSUTIL_CONN_NONEZ	CONN_NONErQ   Zdictr   r   Zpfullmemr   r   r$   r'   r-   r(   r0   rE   rF   Zdisk_io_countersrI   rH   rY   r   rP   r`   ra   rc   rf   rj   rs   rt   r/   r%   r#   <module>r      s   #   	 	  
 "   ! ) $ $ ' ! " " # $ + "   dN+d$56 t%78 ""$	


 	IIw""JJ%%LL'((JJ&&JJ&& 	733----'00'00//g(('11--g))w++7,, 	
			

	$ &5%.){$HI	7MN5@3(	# ((   
4 &&**O6#V
0J
O
.e/ e/r%   