+
    0j                         R t ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^RIHt ]P                  ! R4      tR R	 ltR
 R ltR R ltR R ltR R ltR# )z
Utilities.N)suppress)datetimetimezone)unescape)unquote)DDGSExceptionz<.*?>c                <    V ^8  d   QhR\         R\        R\        /# )   
html_bytesqueryreturn)bytesstr)formats   "_/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/ddgs/utils.py__annotate__r      s!      U 3 3     c                    R Fc  w  r#p\        \        4      ;_uu_ 4        V P                  V4      V,           pV P                  WE4      pWV P                  4       uuRRR4       u # 	  RV: R2p\	        V4      h  + '       g   i     K  ; i)zExtract vqd from html bytes.Nz_extract_vqd() query=z Could not extract vqd.))s   vqd="      ")s   vqd=      &)s   vqd='r      ')r   
ValueErrorindexdecoder   )r
   r   c1c1_lenc2startendmsgs   &&      r   _extract_vqdr"      s    B
 j!!$$R(61E""2-CC(//1 "! #E8#:
;C

 "!!s   ;A<<Bc                0    V ^8  d   QhR\         R\         /# )r	   urlr   r   )r   s   "r   r   r      s     9 9 9 9r   c                L    V '       d   \        V 4      P                  RR4      # R# )z(Unquote URL and replace spaces with '+'. + )r   replace)r$   s   &r   _normalize_urlr+      s     -073<S)8b8r   c                0    V ^8  d   QhR\         R\         /# )r	   rawr   r%   )r   s   "r   r   r   $   s     " " " "r   c                   V '       g   R# \         P                  RV 4      p\        V4      p\        P                  ! RV4      p\        V4       Uu/ uF3  p\        P                  ! V4      ^ ,          R8X  g   K'  \        V4      RbK5  	  ppV'       d   VP                  V4      pRP                  VP                  4       4      # u upi )zNormalize text.

Strip HTML tags, unescape HTML entities, normalize Unicode,
remove "c" category characters, and collapse whitespace.
r)   NFCCNr'   )_REGEX_STRIP_TAGSsubr   unicodedata	normalizesetcategoryord	translatejoinsplit)r-   textch	c_to_nones   &   r   _normalize_textr>   $   s        S)D D>D   -D *-TY2k6J6J26Nq6QUX6XR$IY~~i( 88DJJL!! Zs   $C9Cc                F    V ^8  d   QhR\         \        ,          R\        /# )r	   dater   )intr   )r   s   "r   r   r   ?   s"     e e#) e er   c                    \        V \        4      '       d4   \        P                  ! V \        P
                  4      P                  4       # T # )z8Normalize date from integer to ISO format if applicable.)
isinstancerA   r   fromtimestampr   utc	isoformat)r@   s   &r   _normalize_daterG   ?   s6    EOPTVYEZEZ8!!$5??Ad`ddr   c                L    V ^8  d   QhR\         R,          R\         R,          /# )r	   proxyNr   r%   )r   s   "r   r   r   D   s&     B B#* Bt Br   c                    V R8X  d   R# T # )z.Expand "tb" to a full proxy URL if applicable.tbzsocks5h://127.0.0.1:9150 )rI   s   &r   _expand_proxy_tb_aliasrM   D   s    ).$%AEAr   )__doc__rer3   
contextlibr   r   r   htmlr   urllib.parser   
exceptionsr   compiler1   r"   r+   r>   rG   rM   rL   r   r   <module>rU      sG     	   '    %JJw'  9
"6e
Br   