
    z%is                     $   	 d dl Z d dlZd dlmZmZ dZej                  dv rdxZZnd dlZ ej                         Z
e
dk(  Ze
dk(  ZdZdZerd	Zd
Zg d\  ZZZZeZeZ ee       G d d             Z G d d      Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"	 d dl#Z# e$e#dd      Z% e$e#dd      Z&e#jN                  Z(d Z*d Z+d  Z,d! Z-ereegZ.n4ej                  d"k(  reee gZ.nej                  d#k(  rg Z.nere gZ.neeee egZ.e j^                  d$k(  re+ge.z   Z0ne j^                  d%k(  re,ge.z   Z0ne.Z0da1d& Z2da3d1d'Z4d( Z5d) Z6d* Z7d+ Z8 ed,      Z9 ed-      Z: ed.      Z; ed/      Z<e=d0k(  r e8        yy# e)$ r dZ#dZ%dZ&dZ(Y w xY w)2    N)Enum_simple_enumzKa-Ping Yee <ping@zesty.ca>)win32darwin
emscriptenwasiFAIXLinux   :   .T)zreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc                       e Zd ZdZdZdZy)SafeUUIDr   N)__name__
__module____qualname__safeunsafeunknown     8/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/uuid.pyr   r   N   s    DFGr   r   c                   p   e Zd Z	 dZ	 	 d ej
                  ddZd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Z ed        Z!ed        Z"y)!UUID)intis_safe__weakref__N)r   c                >   	 |||||gj                  d       dk7  rt        d      |h|j                  dd      j                  dd      }|j                  d      j                  dd      }t	        |      dk7  rt        d	      t        |d
      }|9t	        |      d
k7  rt        d      |dd d   |ddd   z   |ddd   z   |dd  z   }|.t	        |      d
k7  rt        d      t        j                  |      }|t	        |      dk7  rt        d      |\  }}	}
}}}d|cxk  rdk  st        d       t        d      d|	cxk  rdk  st        d       t        d      d|
cxk  rdk  st        d       t        d      d|cxk  rdk  st        d       t        d      d|cxk  rdk  st        d       t        d      d|cxk  rdk  st        d       t        d      |dz  |z  }|dz  |	d z  z  |
d!z  z  |d"z  z  |z  }|%d|cxk  rd#d$z  k  st        d%       t        d%      |9d#|cxk  rdk  st        d&       t        d&      |d'z  }|d(z  }|d)z  }||d*z  z  }t        j                  | d+|       t        j                  | d,|       y )-N   zGone of the hex, bytes, bytes_le, fields, or int arguments must be givenzurn: zuuid:z{}-    z$badly formed hexadecimal UUID string   z bytes_le is not a 16-char string   r            zbytes is not a 16-char string   zfields is not a 6-tupler   l        z*field 1 out of range (need a 32-bit value)i   z*field 2 out of range (need a 16-bit value)z*field 3 out of range (need a 16-bit value)   z*field 4 out of range (need an 8-bit value)z*field 5 out of range (need an 8-bit value)          z*field 6 out of range (need a 48-bit value)`   P   @   0         z*int is out of range (need a 128-bit value)zillegal version numberl                    l          L   r   r   )
count	TypeErrorreplacestriplen
ValueErrorint_
from_bytesobject__setattr__)selfhexbytesbytes_lefieldsr   versionr   time_lowtime_midtime_hi_versionclock_seq_hi_variantclock_seq_lownode	clock_seqs                  r   __init__zUUID.__init__   sH   	: &#.44T:a? = > >?++fb)11'2>C))D/))#r2C3x2~ !GHHsB-C8}" !CDDcg2g&#c"*)==c#bj)*,4QRL9E5zR !@AA//%(C6{a !:;;:@8Xx!=$(5( !MNN ) !MNN(5( !MNN ) !MNN/%/ !MNN 0 !MNN,3t3 !MNN 4 !MNN,, !MNN - !MNN$u$ !MNN % !MNN-2mCINx2~6#r)+.72o?AEFC?$af$ !MNN % !MNN$1$ !9:: % !9::?"C<C?"C7b= C4,4G4r   c                     d| j                   i}| j                  t        j                  k7  r| j                  j                  |d<   |S Nr   r   )r   r   r   r   value)r=   ds     r   __getstate__zUUID.__getstate__   s<    DHH<<8+++  <<--AiLr   c                     t         j                  | d|d          t         j                  | dd|v rt        |d                y t        j                         y rL   )r;   r<   r   r   )r=   states     r   __setstate__zUUID.__setstate__   sQ    4e54'50 $E)$45	H6>6F6F	Hr   c                 `    t        |t              r| j                  |j                  k(  S t        S N
isinstancer   r   NotImplementedr=   others     r   __eq__zUUID.__eq__   %    eT"88uyy((r   c                 `    t        |t              r| j                  |j                  k  S t        S rT   rU   rX   s     r   __lt__zUUID.__lt__   %    eT"88eii''r   c                 `    t        |t              r| j                  |j                  kD  S t        S rT   rU   rX   s     r   __gt__zUUID.__gt__   r^   r   c                 `    t        |t              r| j                  |j                  k  S t        S rT   rU   rX   s     r   __le__zUUID.__le__  r[   r   c                 `    t        |t              r| j                  |j                  k\  S t        S rT   rU   rX   s     r   __ge__zUUID.__ge__  r[   r   c                 ,    t        | j                        S rT   )hashr   r=   s    r   __hash__zUUID.__hash__  s    DHH~r   c                     | j                   S rT   r   rg   s    r   __int__zUUID.__int__  s    xxr   c                 L    | j                   j                  dt        |       dS )N())	__class__r   strrg   s    r   __repr__zUUID.__repr__  s    >>22CI>>r   c                     t        d      )NzUUID objects are immutable)r4   )r=   namerM   s      r   r<   zUUID.__setattr__  s    455r   c                 ^    d| j                   z  }|d d d|dd d|dd d|dd d|dd  	S )N%032xr'   r!      r#      rj   )r=   r>   s     r   __str__zUUID.__str__  sE     GS2YBr
C2JBCB 	Br   c                 8    | j                   j                  d      S )Nr#   )r   to_bytesrg   s    r   r?   z
UUID.bytes  s    xx  $$r   c                 Z    | j                   }|dd d   |ddd   z   |ddd   z   |dd  z   S )Nr$   r   r%   r&   r'   r?   )r=   r?   s     r   r@   zUUID.bytes_le!  sK    

cg2gs3rz!22U3s2:5FFab	 	r   c                     | j                   | j                  | j                  | j                  | j                  | j
                  fS rT   )rC   rD   rE   rF   rG   rH   rg   s    r   rA   zUUID.fields'  s:    t}}d.B.B))4+=+=tyyJ 	Jr   c                      | j                   dz	  S )Nr+   rj   rg   s    r   rC   zUUID.time_low,  s    xx2~r   c                 &    | j                   dz	  dz  S )Nr,     rj   rg   s    r   rD   zUUID.time_mid0      B&((r   c                 &    | j                   dz	  dz  S )Nr-   r   rj   rg   s    r   rE   zUUID.time_hi_version4  r   r   c                 &    | j                   dz	  dz  S )N8      rj   rg   s    r   rF   zUUID.clock_seq_hi_variant8      B$&&r   c                 &    | j                   dz	  dz  S )Nr.   r   rj   rg   s    r   rG   zUUID.clock_seq_low<  r   r   c                 `    | j                   dz  dz  | j                  dz  z  | j                  z  S )N  r.   r"   )rE   rD   rC   rg   s    r   timez	UUID.time@  s7    &&/B6"$&(,6 	7r   c                 @    | j                   dz  dz  | j                  z  S )N?   r'   )rF   rG   rg   s    r   rI   zUUID.clock_seqE  s(    ++d2q8""# 	$r   c                      | j                   dz  S )Nl    rj   rg   s    r   rH   z	UUID.nodeJ  s    xx.((r   c                      d| j                   z  S )Nru   rj   rg   s    r   r>   zUUID.hexN  s    !!r   c                     dt        |       z   S )Nz	urn:uuid:)rp   rg   s    r   urnzUUID.urnR  s    SY&&r   c                     | j                   dz  st        S | j                   dz  st        S | j                   dz  st        S t        S )Nr1   l            l            )r   RESERVED_NCSRFC_4122RESERVED_MICROSOFTRESERVED_FUTURErg   s    r   variantzUUID.variantV  s=    xx<(\*O\*%%""r   c                 `    | j                   t        k(  rt        | j                  dz	  dz        S y )Nr2      )r   r   r   rg   s    r   rB   zUUID.versiona  s-     <<8#B#-.. $r   )NNNNNN)#r   r   r   	__slots__r   r   rJ   rO   rR   rZ   r]   r`   rb   rd   rh   rk   rq   r<   rx   propertyr?   r@   rA   rC   rD   rE   rF   rG   r   rI   rH   r>   r   r   rB   r   r   r   r   r   U   s   1f 2ICG)-T5"*"2"2T5lH



?6B
 % %  
 J J   ) ) ) ) ' ' ' ' 7 7 $ $ ) ) " " ' ' # # / /r   r   c                 N   dd l }dd l}dd l}dd l}	 |j                  j                  d|j                        j                  |j                        }|j                  ddg       |j                  | |j                  j                  |            }|y t        |j                        }d|d<   |dk7  r|g|} n|f} |j                  | |j                  |j                  |	      }	|	sy |	j!                         \  }
}|j#                  |
      S # t$        |j&                  f$ r Y y w xY w)
Nr   PATHz/sbinz	/usr/sbin)pathCLC_ALL)r    )stdoutstderrenv)ioosshutil
subprocessenvirongetdefpathsplitpathsepextendwhichjoindictPopenPIPEDEVNULLcommunicateBytesIOOSErrorSubprocessError)commandargsr   r   r   r   	path_dirs
executabler   procr   r   s               r   _get_command_stdoutr   h  s   %%JJNN62::6<<RZZH	';/0\\'

	0J\K
 2::H5=!)D)G!mG'1'1'9'9$'   ) ))+zz&!!Z//0 s   B D AD (#D D$#D$c                     | dz   S )Nl        r   macs    r   _is_universalr     s    w  r   c                    	 t        | |      }|y d }|D ]  }|j                         j                         j                         }t	        t        |            D ]M  }||   |v s	 | ||         }	t        |	j                  t        d      d      }
t        |
      r|
c c S |xs |
}O  |xs d S # t        t        f$ r Y iw xY w)Nr   r#   )r   lowerrstripr   ranger7   r   r5   
_MAC_DELIMr   r8   
IndexError)r   r   keywordsget_word_indexr   first_local_maclinewordsiwordr   s              r   _find_mac_near_keywordr     s     !$/F~O =

##%++-s5z" 	=AQx8#= !23Ddll:s;R@C %S)"
&5&<O	==$ "d" #J/  s   $+B00CCc                 .   | j                  t              }t        |      dk7  ry t        r,t	        d |D              sy dj                  d |D              }n$t	        d |D              sy dj                  |      }	 t        |d      S # t        $ r Y y w xY w)Nr(   c              3   N   K   | ]  }d t        |      cxk  xr dk  nc   yw)r/      Nr7   .0parts     r   	<genexpr>z_parse_mac.<locals>.<genexpr>  s!     941D	&Q&&9s   #%r   c              3   @   K   | ]  }|j                  d d        yw)r      0N)rjustr   s     r   r   z_parse_mac.<locals>.<genexpr>  s     @$$**Q-@s   c              3   8   K   | ]  }t        |      d k(    yw)r   Nr   r   s     r   r   z_parse_mac.<locals>.<genexpr>  s     4d3t9>4s   r#   )r   r   r7   _MAC_OMITS_LEADING_ZEROESallr   r   r8   )r   partshexstrs      r   
_parse_macr     s     JJz"E
5zQ 
 9599@%@@4e44%62 s   <B 	BBc                 |   	 t        | |      }|y |j                         j                         j                         }	 |j	                  |      }d }|D ]H  }|j                         j                         }	 ||   }	t        |	      }
|
5t        |
      r|
c S |G|
}J |S # t
        $ r Y y w xY w# t        $ r Y gw xY wrT   )	r   readliner   r   indexr8   r   r   r   )r   r   headingr   r   column_indexr   r   r   r   r   s              r   _find_mac_under_headingr     s     !$/F~ '')//1H~~g. O "##%	&D ;J"!O" '    		s#   B  5B/ 	B,+B,/	B;:B;c                  B    	 d} dD ]  }t        d|| d       }|s|c S  y )N)s   hwaddrs   ethers   address:s   lladdr)r    z-az-avifconfigc                     | dz   S Nr/   r   r   s    r   <lambda>z#_ifconfig_getnode.<locals>.<lambda>  s
    1Q3 r   r   )r   r   r   s      r   _ifconfig_getnoder     s6    ?<H! $ZxOJ r   c                  .    	 t        dddgd       } | r| S y )Niplinks
   link/etherc                     | dz   S r   r   r   s    r   r   z_ip_getnode.<locals>.<lambda>  s
    !A# r   r   r   s    r   _ip_getnoder   	  s"    9
 v
NC

r   c                  l   	 dd l } dd l}t        |d      sy 	 |j                  |j	                               }t        dd | j                  |      gd       }|r|S t        dd | j                  |      gd       }|r|S t        dd | j                  d|z        gd       }|r|S y # t
        $ r Y y w xY w)	Nr   gethostbynamearpz-anc                      y)Nr   r   r   s    r   r   z_arp_getnode.<locals>.<lambda>      r   c                     | dz   S r   r   r   s    r   r   z_arp_getnode.<locals>.<lambda>!  s    QRSTQT r   z(%s)c                     | dz   S )Nr   r   r   s    r   r   z_arp_getnode.<locals>.<lambda>'  s
    ac r   )r   sockethasattrr   gethostnamer   r   fsencode)r   r   ip_addrr   s       r   _arp_getnoder     s    :6?+&&v'9'9';<
 !G0D/E|
TC

 !G0D/E}
UC

 !FW<L0M/N!#C 
'  s   B' '	B32B3c                  $    	 t        dddgd       S )Nlanscanz-ais   lan0c                      y)Nr   r   r   s    r   r   z"_lanscan_getnode.<locals>.<lambda>0  r   r   r   r   r   r   _lanscan_getnoder  -  s    >!)UWI{KKr   c                      	 t        ddd      S )Nnetstatz-ians   Address)r   r   r   r   _netstat_getnoder  2  s    >"9fjAAr   c                      	 t               S rT   _windll_getnoder   r   r   _ipconfig_getnoder
  7      ;r   c                      	 t               S rT   r  r   r   r   _netbios_getnoder  <  r  r   generate_time_safe
UuidCreatec                       y rT   r   r   r   r   _load_system_functionsr  O  s    Hr   c                  X    	 t         r#t               \  } }t        |       j                  S y )Nr|   )_generate_time_safer   rH   )	uuid_time_s     r   _unix_getnoder  S  s*    L*,	1)$))) r   c                  R    	 t         r t               } t        |       j                  S y )N)r@   )_UuidCreater   rH   )
uuid_bytess    r   r	  r	  Y  s%    O ]
Z(--- r   c                  4    	 dd l } | j                  d      dz  S )Nr   r.   l        )randomgetrandbits)r  s    r   _random_getnoder  _  s      b!W--r   r   r   posixntc                      	 t         t         S t        t        gz   D ]*  } 	  |        a t         dt         cxk  rdk  s"t         c S  , y #  Y 2xY w)Nr   r*   )_node_GETTERSr  )getters    r   getnoder$    s_     o.. 	HE A$:'$:L %;	s   A

Ac                    	 t         0| |cxu r)n n&t               \  }}	 t        |      }t	        ||      S dd l}|j                         }|dz  dz   }t        |t        k  r	t        dz   }|a|dd l}|j                  d      }|dz  }	|dz	  d	z  }
|d
z	  dz  }|dz  }|dz	  dz  }| 
t               } t	        |	|
|||| fd      S # t        $ r t        j                  }Y w xY w)N)r?   r   r   d   l    @'Hwr/      l    r"   r   r.   r   r   r'   r   )rA   rB   )r  r   r8   r   r   r   time_ns_last_timestampr  r  r$  )rH   rI   r  safely_generatedr   r   nanoseconds	timestampr  rC   rD   rE   rG   rF   s                 r   uuid1r-    s&   < &49+D&9&;#	#	'/0G )W55 ,,.K s"%77I"yO'C#a'	O&&r*	:%HR6)H B&0O$M%Nd2|y(O,mTCLMO O/  	'&&G	's   C C"!C"c                     	 t        |t              rt        |d      }ddlm}  || j                  |z   d      j                         }t        |d d d      S )	Nutf-8r   )md5F)usedforsecurityr#   r$   r?   rB   )rV   rp   r?   hashlibr0  digestr   )	namespacers   r0  r4  s       r   uuid3r6    sX    K$T7#$ fh  fSbk1--r   c                  D    	 t        t        j                  d      d      S )Nr#   r   r2  )r   r   urandomr   r   r   uuid4r9    s    !bjjna00r   c                     	 t        |t              rt        |d      }ddlm}  || j                  |z         j                         }t        |d d d      S )Nr/  r   )sha1r#   r%   r2  )rV   rp   r?   r3  r;  r4  r   )r5  rs   r;  rf   s       r   uuid5r<    sM    M$T7#	$&'..0Dd3Bi++r   c                  h   	 t         t        t        t        d} d}t        t
        t        t        d}dd l}|j                  d      }|j                  dd| j                         d	d
       |j                  ddd       |j                  ddd       |j                         }| |j                     }|j                  }|j                  }|j                  |v rJ|r|s|j!                  d|j                   d       ||v r||   n
t#        |      }t%         |||             y t%         |              y )N)r-  r6  r9  r<  )r6  r<  )z@dnsz@urlz@oidz@x500r   z2Generates a uuid using the selected uuid function.)descriptionz-uz--uuidr9  zLThe function to use to generate the uuid. By default uuid4 function is used.)choicesdefaulthelpz-nz--namespacezThe namespace is a UUID, or '@ns' where 'ns' is a well-known predefined UUID addressed by namespace name. Such as @dns, @url, @oid, and @x500. Only required for uuid3/uuid5 functions.)rA  z-Nz--namezVThe name used as part of generating the uuid. Only required for uuid3/uuid5 functions.zIncorrect number of arguments. zO requires a namespace and a name. Run 'python -m uuid -h' for more information.)r-  r6  r9  r<  NAMESPACE_DNSNAMESPACE_URLNAMESPACE_OIDNAMESPACE_X500argparseArgumentParseradd_argumentkeys
parse_argsuuidr5  rs   errorr   print)	
uuid_funcsuuid_namespace_funcs
namespacesrF  parserr   	uuid_funcr5  rs   s	            r   mainrS    sP   .	J .	J $$H % JF
h
0A7=  > mC  D
 hC  D D499%II99Dyy((LL199+ @@
 .7*-DJy)$y/	i	4()ikr   z$6ba7b810-9dad-11d1-80b4-00c04fd430c8z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z$6ba7b812-9dad-11d1-80b4-00c04fd430c8z$6ba7b814-9dad-11d1-80b4-00c04fd430c8__main__)NN)>r   sysenumr   r   
__author__platform_AIX_LINUXsystem_platform_systemr   r   r   r   r   r   r   r9   r?   bytes_r   r   r   r   r   r   r   r   r   r   r  r  r
  r  _uuidgetattrr  r  has_uuid_generate_time_safe_has_uuid_generate_time_safeImportErrorr  r  r	  r  _OS_GETTERSrs   r"  r!  r$  r)  r-  r6  r9  r<  rS  rB  rC  rD  rE  r   r   r   r   <module>rd     sj  ,\ 
 
 # +
 <<<<D6&x(5(D7*F
! J $?N ;h*O 	 d  P/ P/f\! #F8!L8L
B

	(!%)=tD%t4K#(#D#D I*.., 
 12K\\X$l4DEK\\WK	#$K$k<#%57K77g,HWW_ ;.HHO, $OL	.1,.f ;<;<;<<=zF a  (EK#' 	(s   !$E? ?FF