ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ Rc@sdZddlZddlZddlZddlZddlZddlZddlmZddlm Z m Z m Z ddl Tddl mZmZmZmZddd d d d gZyejZWn'ek rdZejd enXyejZWn'ek r1dZejdenXyejdZWn'ek rodZejdenXdZeejej egZ!ddlm"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(e)dZ*dZ+ejZe,ddj-dddddgZ.dZ/dZ0dZ1dZ2e,d d!Z3d"Z4d#Z5d$Z6ej7Z7ej8Z8ej9Z:ej;Z<d%Z=d&e>fd'YZ?dS((s Windows platform implementation.iN(tERROR_ACCESS_DENIED(t AccessDeniedt NoSuchProcesstTimeoutExpired(t*(tPY3txrangetlongtwrapstABOVE_NORMAL_PRIORITY_CLASStBELOW_NORMAL_PRIORITY_CLASStHIGH_PRIORITY_CLASStIDLE_PRIORITY_CLASStNORMAL_PRIORITY_CLASStREALTIME_PRIORITY_CLASSs&couldn't determine platform's NUM_CPUSs'couldn't determine platform's BOOT_TIMEis*couldn't determine platform's TOTAL_PHYMEMi(R R R R R RtINFINITEcCs tj|S(N(t_psutil_mswindowstwin32_QueryDosDevice(ts((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt_win32_QueryDosDevice=scCsmtr(t|t r(|jd}ndj|jdd }t|}tjj||t |S(Ntutf8s\i( Rt isinstancetstrtdecodetjointsplitRtostpathtlen(Rtrawdrivet driveletter((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt_convert_raw_pathAs  tvmemt ttotalt availabletpercenttusedtfreec Csotj}|\}}}}}}|}|}|} ||} t|||dd} t||| | | S(s&System virtual memory as a namedtuple.t_roundi(Rtget_virtual_memt usage_percenttnt_virtmem_info( tmemttotphyst availphysttotpageft availpagefttotvirttfreevirtR"tavailR&R%R$((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytvirtual_memoryTs  cCsXtj}|d}|d}||}t||dd}t||||ddS(s=Swap system memory as a (total, used, free, sin, sout) tuple.iiR'ii(RR(R)tnt_swapmeminfo(R+R"R&R%R$((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt swap_memory`s     cCsytj|\}}WnOtk rjtjd}tjj|sdtt j d|nnX||}t ||dd}t ||||S(s'Return disk usage associated with path.isNo such file or directory: '%s'R'( Rtget_disk_usaget WindowsErrortsystexc_infoRRtexiststOSErrorterrnotENOENTR)t nt_diskinfo(RR"R&terrR%R$((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyR6is  cCs,tj|}g|D]}t|^qS(sReturn disk partitions.(Rtget_disk_partitionst nt_partition(talltrawlisttx((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytdisk_partitionsvstcputimessuser system idlecCs`d\}}}x>tjD]0}||d7}||d7}||d7}qWt|||S(s)Return system CPU times as a named tuple.iii(iii(Rtget_system_cpu_timest_cputimes_ntuple(tusertsystemtidletcpu_time((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRG~s cCsOg}xBtjD]4}|\}}}t|||}|j|qW|S(s6Return system per-CPU times as a list of named tuples.(RRGRHtappend(trettcpu_tRIRJRKtitem((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_system_per_cpu_timess cCsXg}tj}x?|D]7}|\}}}t|d||}|j|qW|S(s:Return currently connected users as a list of namedtuples.N(Rtget_system_userstnt_usertNoneRM(tretlistRCRPRIthostnamettstamptnt((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRRs  cstfd}|S(sqDecorator which translates bare OSError and WindowsError exceptions into NoSuchProcess and AccessDenied. csy|||SWnutk rtjd}|jtkr[t|j|jn|jtjkrt |j|jnnXdS(Ni( R;R8R9R<tACCESS_DENIED_SETRtpidt _process_nametESRCHR(tselftargstkwargsR?(tfun(sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytwrappers (R(R`Ra((R`sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytwrap_exceptionss tProcessc BsEeZdZddgZdZedZedZedZedZ dZ ed Z e d d j d d ddddddddg ZedZe ddZe ddZdZedZed3dZedZedZedZed Zed!Zed"Zed#Zed$Zed%Zed&d'Zed(Z ed)Z!e"e#d*red+Z$ed,Z%ned-Z&ed.Z'ed/Z(ed0Z)ed1Z*ed2Z+RS(4s1Wrapper class around underlying C implementation.RZR[cCs||_d|_dS(N(RZRTR[(R]RZ((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt__init__s cCstj|jS(s4Return process name as a string of limited len (15).(Rtget_process_nameRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRescCsttj|jS(N(RRtget_process_exeRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRfscCstj|jS(s.Return process cmdline as a list of arguments.(Rtget_process_cmdlineRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRgscCstj|jS(sReturn process parent pid.(Rtget_process_ppidRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRhscCs^ytj|jSWnCtk rYtjd}|jtkrStj|jSnXdS(Ni( Rtget_process_memory_infoRZR;R8R9R<RYtget_process_memory_info_2(R]R?((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt_get_raw_meminfos cCs!|j}t|d|dS(s1Returns a tuple or RSS/VMS memory usage in bytes.ii(Rkt nt_meminfo(R]tt((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_memory_infos tmeminfoR!tnum_page_faultst peak_wsettwsettpeak_paged_poolt paged_pooltpeak_nonpaged_poolt nonpaged_pooltpagefilet peak_pagefiletprivatecCs|j|jS(N(t _nt_ext_memRk(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_ext_memory_infostmmapspath rsssaddr perms path rssccsytj|j}Wntk rtjd}|jtjtjt fkrlt |j|j n|jtj krt |j|j nnGXxC|D];\}}}}t|}t|}||||fVqWdS(Ni(Rtget_process_memory_mapsRZR;R8R9R<tEPERMtEACCESRRR[R\RRthex(R]trawR?taddrtpermRtrss((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_memory_mapss   cCstj|jS(s*Terminates the process with the given PID.(Rt kill_processRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyR scCsb|dkrt}nt|d}tj|j|}|tkr^t|j|jn|S(Ni( RTRtintRt process_waitRZt WAIT_TIMEOUTRR[(R]ttimeoutRN((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRs   cCs#|jdkrdStj|jS(s1Return the name of the user that owns the processiisNT AUTHORITY\SYSTEM(ii(RZRtget_process_username(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRscCsq|jdkrtSytj|jSWnCtk rltjd}|jtkrftj |jSnXdS(Niii(ii( RZt BOOT_TIMERtget_process_create_timeR;R8R9R<RYtget_process_create_time_2(R]R?((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyR"s cCstj|jS(N(Rtget_process_num_threadsRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyR/scCsUtj|j}g}x6|D].\}}}t|||}|j|qW|S(N(Rtget_process_threadsRZt nt_threadRM(R]RCRUt thread_idtutimetstimetntuple((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyR3s cCskytj|j}WnHtk r`tjd}|jtkrZtj|j}qanXt |S(Ni( Rtget_process_cpu_timesRZR;R8R9R<RYtget_process_cpu_times_2t nt_cputimes(R]RNR?((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt get_cpu_times<s cCstj|jS(N(Rtsuspend_processRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRHscCstj|jS(N(Rtresume_processRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRLscCsI|jdkr't|j|jntj|j}tjj|S(Nii(ii(RZRR[Rtget_process_cwdRRtnormpath(R]R((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRPscCs|jdkrgSg}tj|j}xQ|D]I}t|}t|r2||kr2t|d}|j|q2q2W|S(Niii(ii(RZRtget_process_open_filesRt isfile_strictt nt_openfileRM(R]RUtraw_file_namestfileR((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_open_filesYs  tinetcCs|tkrGtd|djgtD]}t|^q"fnt|\}}tj|j||}g|D]}t|^qvS(Ns+invalid %r kind argument; choose between %ss, (t conn_tmapt ValueErrorRtreprRtget_process_connectionsRZt nt_connection(R]tkindRDtfamiliesttypesRNtconn((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_connectionsjs  5cCstj|jS(N(Rtget_process_priorityRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_process_nicesscCstj|j|S(N(Rtset_process_priorityRZ(R]tvalue((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytset_process_nicewstget_process_io_prioritycCstj|jS(N(RRRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_process_ionice}scCsG|rtdn|dkr4td|ntj|j|S(Ns?set_process_ionice() on Windows takes only 1 argument (2 given)iiis9value must be 2 (normal), 1 (low) or 0 (very low); got %r(iii(t TypeErrorRRtset_process_io_priorityRZ(R]Rt_((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytset_process_ionices   cCskytj|j}WnHtk r`tjd}|jtkrZtj|j}qanXt |S(Ni( Rtget_process_io_countersRZR;R8R9R<RYtget_process_io_counters_2tnt_io(R]RNR?((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRs cCs$tj|j}|rtStSdS(N(Rtis_process_suspendedRZtSTATUS_STOPPEDtSTATUS_RUNNING(R]t suspended((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_process_statusscCs%d}tj|j}||S(NcSs+gtdD]}d|>|@r |^q S(Ni@i(R(RDti((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytt(Rtget_process_cpu_affinityRZ(R]t from_bitmasktbitmask((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRs cCswd}tttt}x-|D]%}||kr+td|q+q+W||}tj|j|dS(NcSsB|std|nd}x|D]}|d|O}q&W|S(Nsinvalid argument %rii(R(tltouttb((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyt to_bitmasks  sinvalid CPU %r(tlisttrangeRRQRRtset_process_cpu_affinityRZ(R]RRtallcpustcpuR((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRs    cCs^ytj|jSWnCtk rYtjd}|jtkrStj|jSnXdS(Ni( Rtget_process_num_handlesRZR;R8R9R<RYtget_process_num_handles_2(R]R?((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_num_handless cCsttj|jS(N(tnt_ctxswRtget_process_num_ctx_switchesRZ(R]((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytget_num_ctx_switchessN(,t__name__t __module__t__doc__t __slots__RdRbReRfRgRhRkRnt namedtupleRRzR{tnt_mmap_groupedt nt_mmap_extRRRTRRRRRRRRRRRRRthasattrRRRRRRRRR(((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pyRcsb              (@RR<RR8tplatformtwarningsRRt psutil._errorRRRtpsutil._commontpsutil._compatRRRRt__extra__all__t get_num_cpustNUM_CPUSt ExceptionRTtwarntRuntimeWarningtget_system_boot_timeRR(t TOTAL_PHYMEMRt frozensetR~RRYR R R R R RRtmemoizeRRRRR*R3R5R6RERHRGRQRRt get_pid_listt pid_existstget_network_io_counterstnetwork_io_counterstget_disk_io_counterstdisk_io_countersRbtobjectRc(((sF/opt/alt/python27/lib64/python2.7/site-packages/psutil/_psmswindows.pytsd       "    4