
    e                     0   S SK JrJrJrJr  S SKJr  \R                  r\R                  r	\R                  r
\R                  r\R                  rSR                  \\\	/5      rSR                  \\	/5      rSrS\-   S-   \-   S-   \-   S-   rSrS\-   S	-   rS
rSrSrS\-   S-   \-   S-   S-   rS\-   S-   S-   \-   S-   S-   S-   \-   S-   \-   S-   \-   S-   S-   rS\-   S-   \-   S-   S-   rS\-   S-   S-   \-   S-   S-   rS\-   S-   rS\-   S-   rS rS rS rg)    )CcCfPZ)Any|u   [><｜]z(?:(?!)zU(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)z	(?:(?:(?!z|[@/\[\]()]).)+@)?zK(?::(?:6(?:[0-4]\d{3}|5(?:[0-4]\d{2}|5(?:[0-2]\d|3[0-5])))|[1-5]?\d{1,4}))?z3[\-:&=\+\$,\.a-zA-Z0-9_][\-:&=\+\$,\"\.a-zA-Z0-9_]*zxn--[a-z0-9\-]{1,59}z(?:z{1,63}z(?:-|z){0,61}z(?:(?:(?:(?:z)\.)*z	(?:(?:(?:z)\.)+(?:%TLDS%))z.localhost|www\.|\.\d{1,3}\.|(?:\.(?:%TLDS%)(?:z|>|$))c                     S[         -   S-   [        -   S-   S-   U R                  S5      (       a  SOS-   S-   [        -   S	-   nU$ )
Nz(?=$|r   r	   z(?!---z-(?!--)|z-|z_|:\d|\.-|\.(?!$|)))TEXT_SEPARATORSSRC_ZPCCget)optssrc_host_terminators     1/usr/lib/python3/dist-packages/linkify_it/ucre.py_re_host_terminatorr   d   sv    
	
	 	 		
 	 %:d	4 !	! 	 		      c                    S[         -   S-   [        -   S-   S-   [         -   S-   S-   [         -   S-   S-   [         -   S	-   S
-   [         -   S-   S-   [         -   S-   S-   [        -   S-   S-   S-   [         -   S-   U R                  S5      (       a  SOS-   S-   [         -   S-   S-   [         -   S-   S-   [         -   S-   S-   [         -   S-   S-   S-   S-   nU$ ) Nz(?:[/?#](?:(?!r   z|[()[\]{}.,"'?!\-;]).|z\[(?:(?!z
|\]).)*\]|z\((?:(?!z|[)]).)*\)|z\{(?:(?!z|[}]).)*\}|z\"(?:(?!z|["]).)+\"|z\'(?:(?!z|[']).)+\'|z\'(?=z|[-])|z\.{2,}[a-zA-Z0-9%/&]|z\.(?!z|[.]|$)|r   z\-(?!--(?:[^-]|$))(?:-*)|z\-+|z,(?!z|$)|z;(?!z\!+(?!z|[!]|$)|z\?(?!z|[?]|$)z)+z|\/z)?)SRC_ZCCr   SRC_PSEUDO_LETTERr   )r   src_paths     r   _re_src_pathr   t   s   	 		
 	 	 &	& 	 		 
	 	 	 	 	 	  !	" #	$ %	& '	( )	* +	, -	. /	0 1	2 3	4 #5	#F G#	H I$	J K%	L ,088E??'M&	IN O'	P Q(	R S)	T U*	V W+	X Y,	Z [-	\ ].	^ _/	` a0	b c1	d e2	f g3	h i4	j k5	 r Or   c                    [         [        U 5      -   n[        [        U 5      -   n[         [        -   [        U 5      -   n[        [        -   [        U 5      -   n[        [        -   [        U 5      -   nS[
        -   S-   [        -   S-   S-   [        -   S-   U-   S-   n0 S[        _S[        _S[        _S	[        _S
[        _S[        _S[        _S[        _S[        _S[         _S[        _S[        U 5      _S[#        U 5      _S[        _S[$        _S[&        _S[(        _[         [        [        UUUUU[*        US[        -   S-   S-   U-   [#        U 5      -   S-   S[        -   S-   S-   U-   [#        U 5      -   S-   S.EnU$ )zTBuild regex

Args:
    opts (dict): options

Return:
    dict: dict of regex string
z(^|z|"|\(|r	   (@src_Anysrc_Ccsrc_Cfsrc_Zsrc_Psrc_ZPCcsrc_ZCcsrc_pseudo_lettersrc_ip4src_authsrc_portr   r   src_email_namesrc_xnsrc_domain_root
src_domainu!   (^|(?![.:/\-_@])(?:[$+<=>^`|｜]|r   u   ((?![$+<=>^`|｜]))src_hosttpl_host_fuzzytpl_host_no_ip_fuzzysrc_host_stricttpl_host_fuzzy_strictsrc_host_port_stricttpl_host_port_fuzzy_strict tpl_host_port_no_ip_fuzzy_stricttpl_host_fuzzy_testtpl_email_fuzzytpl_link_fuzzytpl_link_no_ip_fuzzy)SRC_HOSTr   TPL_HOST_FUZZYSRC_PORTTPL_HOST_NO_IP_FUZZYr   r   SRC_EMAIL_NAMESRC_ANYSRC_CCSRC_CFSRC_ZSRC_Pr   r   SRC_IP4SRC_AUTHr   SRC_XNSRC_DOMAIN_ROOT
SRC_DOMAINTPL_HOST_FUZZY_TEST)r   SRC_HOST_STRICTTPL_HOST_FUZZY_STRICTSRC_HOST_PORT_STRICTTPL_HOST_PORT_FUZZY_STRICT TPL_HOST_PORT_NO_IP_FUZZY_STRICTTPL_EMAIL_FUZZYregexs           r   build_rerO      sY    !4T!::O*-@-FF#h.1DT1JJ!/(!:=PQU=V!V 	x'*=d*CC %
 	
	
	 	 		
 	 	 	  	  		 373&3 	&3 		3
 	3 	H3 	73 	.3 	73 	H3 	H3 	2483 	L&3 	.3 	&3  	?!3" 	j#3$ ( 4*!6 4&@,F2* 4 && )	)
 4 !  4 && /	/
 4 ! W3Ej Lr   N) uc_micro.categoriesr   r   r   r   uc_micro.propertiesr   REGEXr=   r>   r?   rA   r@   joinr   r   r   r   rB   rC   r:   r<   rD   rE   rF   r8   r9   r;   rG   r   r   rO    r   r   <module>rU      s   , , #
))				 88UE6*+ ((E6?
# 
 .4x?#EORUU &   #99 V 	 P	  &.3&)::XEK 
	
  	
 

 

   	 
   

 

 &    
	
 


 	 
GOcK'*47JJSP  #Z/2EE  :HDxO 
 :zWr   