grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]ÝZã@sµddlZdZddddg\ZZZZeZeZ Gdd„de ƒZ d d „Z d d „Z d d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdZZy<ddlZddlZddlZdgZejjdƒsejdƒx^eD]VZyejej j!eƒƒZ"Wne#k rZwYnXe$e"dƒre"j%ZPqW[ejdkrÄddlZeej&ƒj'j(d ƒdƒd!krÄdZyej)j*Z"WndZ"YnXe+e"d"e+e"d#dƒƒZWnYnXd$d%„Z,d&d'„Z-d(d)„Z.da/d*d+„Z0da1ddd,d-„Z2d.d/„Z3d0d1„Z4d2d3„Z5e d4ƒZ6e d5ƒZ7e d6ƒZ8e d7ƒZ9dS)8éNzKa-Ping Yee zreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc@s´eZdZdddddddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z edd„ƒZedd„ƒZedd„ƒZedd„ƒZed d!„ƒZed"d#„ƒZed$d%„ƒZed&d'„ƒZed(d)„ƒZed*d+„ƒZed,d-„ƒZed.d/„ƒZed0d1„ƒZed2d3„ƒZed4d5„ƒZdS)6ÚUUIDNcCsY|||||gjdƒdkr0tdƒ‚|dk r¢|jddƒjddƒ}|jdƒjddƒ}t|ƒdkr“td ƒ‚t|d ƒ}|dk rt|ƒd krÌtd ƒ‚|d'dd(…|d)d*d+…|d,d-d.…|dd…}|dk rNt|ƒd kr9tdƒ‚tj|ddƒ}|dk r´t|ƒd krxtdƒ‚|\}}} } } } d|ko§d/kns¸tdƒ‚d|koÏd0knsàtdƒ‚d| ko÷d1knstdƒ‚d| kod2kns0tdƒ‚d| koGd3knsXtdƒ‚d| kood4kns€tdƒ‚| d>| B} |d>|d>B| d>B| d>B| B}|dk rèd|ko×d5knsètdƒ‚|dk rHd |ko d knstd!ƒ‚|d7M}|d8O}|d:M}||d%>O}||jd&|jd>B|jBS)Niÿr r)r*r)r()r"r/r/r0Útime sz UUID.timecCs|jd@d>|jBS)Né?r )r+r,)r"r/r/r0r.szUUID.clock_seqcCs |jd@S)Nlÿÿÿ)r)r"r/r/r0r-sz UUID.nodecCs d|jS)Nz%032x)r)r"r/r/r0r#szUUID.hexcCsdt|ƒS)Nz urn:uuid:)r?)r"r/r/r0ÚurnszUUID.urncCs;|jd@stS|jd@s"tS|jd@s3tStSdS)Ni€r i@i lll)rÚ RESERVED_NCSÚRFC_4122ÚRESERVED_MICROSOFTÚRESERVED_FUTURE)r"r/r/r0Úvariant s   z UUID.variantcCs(|jtkr$t|jd?d@ƒSdS)Nré)rQrNr)r"r/r/r0r'+sz UUID.version)r>Ú __module__Ú __qualname__r1r5r6r7r8r9r;r<r@rCrFÚpropertyr$r%r&r(r)r*r+r,rJr.r-r#rLrQr'r/r/r/r0r:s6 0 O           rc GsÁddl}ddl}ddl}|j|ƒ}|dkrv|jjd ƒ}|j|d|ƒ}|dkrvdSt|jƒ}d|d<|j|f|d|j d|j d |ƒ}|S) Nrú/sbinú /usr/sbinÚpathÚCÚLC_ALLÚstdoutÚstderrÚenv)rVrW) ÚosÚshutilÚ subprocessÚwhichÚpathsepÚjoinÚdictÚenvironÚPopenÚPIPEÚDEVNULL) ÚcommandÚargsr^r_r`Ú executablerXr]Úprocr/r/r0Ú_popen1s$      rmc Cs÷yÞt||jƒŒ}|s"dS|�²xª|jD]Ÿ}|jƒjƒjƒ}x~tt|ƒƒD]j}|||krdy9|||ƒ}t|jddƒdƒ} | r²| SWqdt t fk rÍYqdXqdWq3WWdQRXWnt k ròYnXdS)Nó:ór) rmÚsplitr[ÚlowerÚrstripÚrangerrrrÚ IndexErrorÚOSError) rirjZhw_identifiersZ get_indexrlÚlineÚwordsÚiÚwordÚmacr/r/r0Ú _find_macDs$ r{cCs@x9d D]1}td|ddgdd„ƒ}|r|SqWdS) Nrú-aú-avZifconfigshwaddrsethercSs|dS)Nrr/)rxr/r/r0Úasz#_ifconfig_getnode..)rr|r})r{)rjrzr/r/r0Ú_ifconfig_getnode]s !rcCs,tdddgdd„ƒ}|r(|SdS)NZipz link lists link/ethercSs|dS)Nrr/)rxr/r/r0r~hsz_ip_getnode..)r{)rzr/r/r0Ú _ip_getnodeesr€cCsoddl}ddl}y|j|jƒƒ}Wntk rIdSYnXtdd|j|ƒgdd„ƒS)NrZarpz-ancSsdS)Nrrr/)rxr/r/r0r~usz_arp_getnode..)r^ÚsocketÚ gethostbynameÚ gethostnamerur{Úfsencode)r^r�Zip_addrr/r/r0Ú _arp_getnodels   r…cCstdddgdd„ƒS)NZlanscanz-aislan0cSsdS)Nrr/)rxr/r/r0r~zsz"_lanscan_getnode..)r{r/r/r/r0Ú_lanscan_getnodewsr†c"Cs&y tddƒ}|sdS|�ç|jjƒjƒjƒ}y|jdƒ}Wntk ridSYnXx˜|jD]�}yl|jƒjƒ}||}t|ƒdkrå|jdƒdkråt |j ddƒdƒ}|rå|SWqttt fk rYqtXqtWWdQRXWnt k r!YnXdS) NZnetstatz-iasAddressérnrror) rmr[ÚreadlinerrrpÚindexrrrrrrtru)rlrwrxrvryrzr/r/r0Ú_netstat_getnode|s,   ' rŠc Cs?ddl}ddl}dddg}yQddl}|jdƒ}|jjj|dƒ|jd|jj dƒƒWnYnXxµ|D]­}y&|j |j j |dƒdƒ}Wnt k rÍwŠYnX|�`xX|D]P}|jd ƒdjƒjƒ}|jd |ƒrÜt|jd dƒd ƒSqÜWWdQRXqŠWdS)Nrrzc:\windows\system32zc:\winnt\system32i,ÚmbcsZipconfigz /allú:rz&([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]rrr)r^ÚreÚctypesÚcreate_string_bufferÚwindllZkernel32ZGetSystemDirectoryAÚinsertrBÚdecodeÚpopenrXrcrurprrqÚmatchrr) r^r�ÚdirsrŽÚbufferÚdirÚpipervrBr/r/r0Ú_ipconfig_getnode–s&   &  r™cCszddl}ddl}|jƒ}|j|_|jƒ|_}|jƒ|j|ƒdkrfdS|j ƒxt |j ƒD]ò}|j ƒ|j |_t|j|ƒ|_|j|ƒdkrÊq€|j ƒ|j|_t|j|ƒ|_djdƒ|_|jƒ|_}|j|ƒdkr3q€|j ƒ|jdd…}t|ƒdkreq€tj|dƒSWdS)NrÚ*rr r )Ú win32wnetÚnetbiosZNCBZNCBENUMZCommandZ LANA_ENUMZBufferZ_packZNetbiosZ_unpackrsÚlengthZResetZNCBRESETÚordZlanaZLana_numZNCBASTATÚljustZCallnameZADAPTER_STATUSZadapter_addressrrr )r›rœZncbZadaptersrxÚstatusr$r/r/r0Ú_netbios_getnode¬s4         r¡ZuuidÚwinÚcÚuuid_generate_timeÚdarwinÚ.é ZUuidCreateSequentialZ UuidCreatecCs2tjdƒ}t|ƒtdt|jƒƒjS)Nrr$)rŽr�Ú_uuid_generate_timerÚbytes_Úrawr-)Ú_bufferr/r/r0Ú_unixdll_getnodeÿs r¬cCs>tjdƒ}t|ƒdkr:tdt|jƒƒjSdS)Nrrr$)rŽr�Ú _UuidCreaterr©rªr-)r«r/r/r0Ú_windll_getnodesr®cCsddl}|jdƒdBS)Nrr l)ÚrandomÚ getrandbits)r¯r/r/r0Ú_random_getnode s r±c Csœtdk rtSddl}|jdkr=tttg}ntttt t t g}x@|t gD]1}y |ƒaWn wcYnXtdk rctSqcWdS)NrÚwin32) Ú_nodeÚsysÚplatformr®r¡r™r¬rr€r…r†rŠr±)r´ZgettersÚgetterr/r/r0Úgetnodes     r·c CsNtrQ||kodknrQtjdƒ}t|ƒtdt|jƒƒSddl}t|jƒdƒ}t|dƒd}tdk r©|tkr©td}|a|dkrÖddl }|j dƒ}|d @}|d ?d @}|d ?d @} |d@} |d?d@} |dkr)t ƒ}td||| | | |fddƒS)Nrr$rgeÍÍAédl@'Hw� rélÿÿriÿÿr iÿrIr rKr&r') r¨rŽr�rr©rªrJrÚ_last_timestampr¯r°r·) r-r.r«rJZ nanosecondsZ timestampr¯r(r)r*r,r+r/r/r0Úuuid10s,"         r»cCsOddlm}||jt|dƒƒjƒ}td|dd…ddƒS)Nr)Úmd5zutf-8r$rr'r)Úhashlibr¼r$Údigestr)Ú namespacerAr¼r:r/r/r0Úuuid3Ss"rÀcCstdtjdƒddƒS)Nr$rr'r)rr^Úurandomr/r/r/r0Úuuid4YsrÂcCsOddlm}||jt|dƒƒjƒ}td|dd…ddƒS)Nr)Úsha1zutf-8r$rr'r)r½rÃr$r¾r)r¿rArÃr:r/r/r0Úuuid5]s"rÄz$6ba7b810-9dad-11d1-80b4-00c04fd430c8z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z$6ba7b812-9dad-11d1-80b4-00c04fd430c8z$6ba7b814-9dad-11d1-80b4-00c04fd430c8):r^Ú __author__rMrNrOrPrrr$r©Úobjectrrmr{rr€r…r†rŠr™r¡r¨r­rŽZ ctypes.utilr´Z _libnamesrµÚ startswithÚappendZlibnameZCDLLÚutilZ find_libraryÚlibÚ ExceptionÚhasattrr¤ÚunameÚreleaserpr�Zrpcrt4Úgetattrr¬r®r±r³r·rºr»rÀrÂrÄZ NAMESPACE_DNSZ NAMESPACE_URLZ NAMESPACE_OIDZNAMESPACE_X500r/r/r/r0Ú/sr ÷        "         (       #