+
    '(jn,                       ^ RI Ht ^ RIHt ^ RIt^ RIHt ]P                  ! R]P                  R7      t	]P                  ! R4      t
]P                  ! R4      tRtR],           tR ],           tR!],           tR"t^t]P                  ! R	4      t]P                  ! R
4      t]! ]RRRR/4      t]! ]RRRRRRRRRRRRRRRRRRRR/
4      t ! R R4      tRR/R R lltR# )#    )annotations)defaultdictN)URLz^([a-z0-9.+-]+:))flagsz:[0-9]*$z^(//?(?!/)[^?\s]*)(\?[^\s]*)?$z^[+a-z0-9A-Z_-]{0,63}$z^([+a-z0-9A-Z_-]{0,63})(.*)$
javascriptTzjavascript:httphttpsftpgopherfilezhttp:zhttps:zftp:zgopher:zfile:c                  :    ] tR t^itR R ltR R ltR R ltRtR# )	
MutableURLc                   V ^8  d   QhRR/# )   returnNone )formats   "A/home/ubuntu/cf-venv/lib/python3.14/site-packages/mdurl/_parse.py__annotate__MutableURL.__annotate__j   s     ) )$ )    c                	v    R V n         RV n        R V n        R V n        R V n        R V n        R V n        R V n        R # )NF)protocolslashesauthporthostnamehashsearchpathname)selfs   &r   __init__MutableURL.__init__j   s:    $(" $	 $	$( $	"&$(r   c               $    V ^8  d   QhRRRRRR/# )r   urlstrslashes_denote_hostboolr   z'MutableURL'r   )r   s   "r   r   r   t   s&     h h h4 hL hr   c                	b   R pRpTpVP                  4       pV'       g   \        VP                  R4      4      ^8X  dc   \        P	                  V4      pV'       dF   VP                  ^4      V n        VP                  ^4      '       d   VP                  ^4      V n        V # R p\        P	                  V4      pV'       d5   VP                  4       pVP                  4       pWpn
        V\        V4      R pV'       g&   V'       g   \        P                  ! RV4      '       dE   VP                  R4      pV'       d,   V'       d   \        V,          '       g   VR,          pRV n        \        V,          '       Eg   V'       g   V'       Ed   \        V,          '       Egy   Rp	\!        \        \"        4      4       F9  p
VP%                  \"        V
,          4      pVR8w  g   K(  V	R8X  g	   W8  g   K7  Tp	K;  	  V	R8X  d   VP'                  R4      pMVP'                  R^ V	^,           4      pVR8w  d   VRV pW\^,           R pWn        Rp	\!        \        \*        4      4       F9  p
VP%                  \*        V
,          4      pVR8w  g   K(  V	R8X  g	   W8  g   K7  Tp	K;  	  V	R8X  d   \        V4      p	V	^ 8  d   WY^,
          ,          R	8X  d
   V	^,          p	VRV	 pWYR pV P-                  V4       V P.                  ;'       g    R V n        V P.                  P                  R
4      ;'       d    V P.                  P1                  R4      pV'       Eg   V P.                  P                  R4      p\        V4      p^ p
V
V8  EdX   VV
,          pV'       g   V
^,          p
K$  \2        P                  V4      '       Eg   R p\        V4      p^ pVV8  d=   \5        VV,          4      ^8  d   VR,          pMVVV,          ,          pV^,          pKC  \2        P                  V4      '       g   VRV
 pVV
^,           R p\6        P                  V4      pV'       dB   VP9                  VP                  ^4      4       VP;                  ^ VP                  ^4      4       V'       d   RP=                  V4      V,           pRP=                  V4      V n        MV
^,          p
EK_  \        V P.                  4      \>        8  d   R V n        V'       d   V P.                  ^R V n        VP%                  R4      pVR8w  d   VVR V n         VRV pVP%                  R4      pVR8w  d   VVR V n        VRV pV'       d   WPn        \        V,          '       d,   V P.                  '       d   V P                  '       g   R V n        V # ) F#Nz^//[^@/]+@[^@/]+z//:r   NNT@:[].x?)!striplensplitSIMPLE_PATH_PATTERNmatchgroupr!   r    PROTOCOL_PATTERNlowerr   re
startswithHOSTLESS_PROTOCOLr   SLASHED_PROTOCOLrangeHOST_ENDING_CHARSfindrfindr   NON_HOST_CHARS
parse_hostr   endswithHOSTNAME_PART_PATTERNordHOSTNAME_PART_STARTappendinsertjoinHOSTNAME_MAX_LENr   )r"   r&   r(   lower_protor   restsimple_pathprotoproto_matchhost_endihecat_signr   hostipv6_hostname	hostpartslpartnewpartkjvalid_partsnot_hostbitr   qms   &&&                        r   parseMutableURL.parset   s    zz|"s399S>':a'?-33D9K + 1 1! 4$$Q''"-"3"3A"6DK&,,T2%%'E++-K!ME
%D %2995H$+O+Oood+G*;E*B*BBx# ''&6u&=&=& H3012ii 1! 45"9(b.CN"H 3 2~**S/ **S!X\: "}HW~aKM* 	 H3~./iiq 12"9(b.CN"H 0
 2~t9!|\ 2c 9A	?D	?D OOD! !MM//RDM !MM44S9  dmm>T>T?M
 != MM//4		N!e$Q<DQ 077=="$I!e"47|c1 !(3 '47 2FA  5;;GDD*3BQ-K'0Q'9H"5"<"<T"BC" + 2 2399Q< @ (399Q< @''*xx'9D'@,/HH[,ADM!FA4==!$44 "  $a 3 yy~2:TUDI;DYYs^8rs)DK9D MK((T]]]4===DMr   c                    V ^8  d   QhRRRR/# )r   rX   r'   r   r   r   )r   s   "r   r   r     s     ! !s !t !r   c                	    \         P                  V4      pV'       d5   VP                  4       pVR 8w  d   VR,          V n        VR\	        V4      )  pV'       d	   Wn        R# R# )r.   :   NNN)PORT_PATTERNr    r:   r   r6   r   )r"   rX   
port_matchr   s   &&  r   rF   MutableURL.parse_host  sT    !((.
##%Ds{ H	3t9*%D M r   )r   r   r   r!   r   r   r    r   N)__name__
__module____qualname____firstlineno__r#   rd   rF   __static_attributes__r   r   r   r   r   i   s    )hT! !r   r   r(   Fc               $    V ^8  d   QhRRRRRR/# )r   r&   z	URL | strr(   r)   r   r   r   )r   s   "r   r   r   )  s!      9 d s r   c          
     ,   \        V \        4      '       d   V # \        4       pVP                  W4       \        VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  4      # )N)
isinstancer   r   rd   r   r   r   r   r   r   r    r!   )r&   r(   us   &$ r   	url_parseru   )  se    #s
AGGC%	

AIIqvvqvvqzz166188QZZ r   )<>"` 
	){}|\^ry   )')%/r3   ;r,   )r   r3   r,   )
__future__r   collectionsr   r=   
mdurl._urlr   compile
IGNORECASEr;   ri   r8   DELIMSUNWISEAUTO_ESCAPErE   rB   rN   rH   rJ   r)   r?   r@   r   ru   r   r   r   <module>r      s&  T # # 	  ::1G zz+& jj!BC  
5 
)6	1 vo
 +[8#  

#<= jj!@A   dt  t$$4 "}! }!@U  r   