
    !}g1                        d dl Z d dlZd dlZ	 	 d dlZn# e$ r d dlZY nw xY wd Zn# e$ r dZdZY nw xY wddlm	Z	m
Z
mZ dZdZdZdZd	Zd
Z ej        d          Z ej        d          Zdedej        eef         fdZd ZdS )    Nc                 :    t          j        |           d         pdS )Nencoding )chardetdetect)datas    T/var/www/py-google-trends/myenv/lib/python3.11/site-packages/feedparser/encodings.pylazy_chardet_encodingr
   *   s    ~d##J/525       )CharacterEncodingOverrideCharacterEncodingUnknownNonXMLContentTypes   Los    < ?s   < ? s      <s   <   z  z^<\?xml[^>]*?>s#   ^<\?.*encoding=[\'"](.*?)[\'"].*\?>linereturnc                 b   |                      d          }|sdS |d                                         }d}|dd         D ]l}|                    d          \  }}}|                                                                dk    r'|                                                    d	          }m||fS )
a  Parse an HTTP Content-Type header.

    The return value will be a tuple of strings:
    the MIME type, and the value of the "charset" (if any).

    This is a custom replacement for Python's cgi.parse_header().
    The cgi module will be removed in Python 3.13.
    ;)r   r   r   r   r   N=charsetz"')splitstrip	partitionlower)r   chunks	mime_typecharset_valuechunkkey_values           r	   parse_content_typer!   G   s     ZZ__F vq	!!IM 7 7,,Q99;;)++!KKMM//66Mm##r   c                 t   d}d}|dd         t           j        k    rd}|dd         }n(|dd         t           j        k    rd}|dd         }n|dd         t           j        k    r |dd         t          k    rd}|dd         }n|dd         t           j        k    r |dd         t          k    rd}|dd         }n|dd	         t           j        k    rd
}|d	d         }nm|dd         t          k    rd}nW|dd         t          k    rd}nA|dd         t          k    rd}n+|dd         t          k    rd}n|dd         t          k    rd}|}	 |r(|                    |                              d
          }t                              |          }n# t           t"          f$ r d}Y nw xY w|rG|                                d                             d
                                          }|r|dv r|}|                     d          pd}t+          |          \  }}d}	d}
d}||
v s*|                    d          r|                    d          r	d}	|p|pd
}n^||v s*|                    d          r|                    d          rd}	|pd}n)|                    d          r|pd}n| r	d| vr|pd}n|pd
}|                                dk    rd}|                                dk    rd}d}| r#|	s!d| v rd| d         z  }nd}t1          |          }d}g }|||t2          d
ddfD ]}t5          |          r ||          }|s||v r$|                    |           	 |                    |          }d}d}t8                              |          rt8                              ||          }n|dz   |z   }|                    d
          } n# t           t"          f$ r Y w xY w|st?          d|d |d!z             }d}n||k    rtA          d"|d#|          }|}||d$<   |r
d%|d&<   ||d'<   |S )(z|Detect and convert the character encoding to UTF-8.

    http_headers is a dictionary
    data is a raw string (not Unicode)r   N   zutf-32bezutf-32le   zutf-16bezutf-16le   zutf-8cp037r   )u16zutf-16utf16utf_16u32zutf-32utf32utf_32ziso-10646-ucs-2ziso-10646-ucs-4csucs4	csunicodezucs-2zucs-4zcontent-type)zapplication/xmlzapplication/xml-dtdz&application/xml-external-parsed-entity)ztext/xmlztext/xml-external-parsed-entityzapplication/z+xmlr   ztext/zus-asciiz
iso-8859-1gb2312gb18030z%s is not an XML media typezno Content-type specifiedzwindows-1252z
iso-8859-2z&<?xml version='1.0' encoding='utf-8'?>
z#document encoding unknown, I tried z, z8, utf-8, windows-1252, and iso-8859-2 but nothing workedzdocument declared as z, but parsed as r   Tbozobozo_exception)!codecsBOM_UTF32_BEBOM_UTF32_LEBOM_UTF16_BE
ZERO_BYTESBOM_UTF16_LEBOM_UTF8EBCDIC_MARKERUTF16BE_MARKERUTF16LE_MARKERUTF32BE_MARKERUTF32LE_MARKERdecodeencodeRE_XML_PI_ENCODINGmatchUnicodeDecodeErrorLookupErrorgroupsr   getr!   
startswithendswithr   r
   callableappendRE_XML_DECLARATIONsearchsubr   r   )http_headersr   resultbom_encodingxml_encodingtempdataxml_encoding_matchhttp_content_typehttp_encodingacceptable_content_typeapplication_content_typestext_content_typesrfc3023_encodingerrormsgknown_encodingtried_encodingsproposed_encodingnew_declarations                      r	   convert_to_utf8ra   _   s   ^ LL BQBx6&&&!ABBx	bqbV(	(	(!ABBx	bqbV(	(	(T!A#Y*-D-D!ABBx	bqbV(	(	(T!A#Y*-D-D!ABBx	bqbV_	$	$ABBx	bqb]	"	"	bqb^	#	#!	bqb^	#	#!	bqb^	#	#!	bqb^	#	#!H	@ 	A{{<0077@@H 055h?? , " " " "	"  	()002215<<WEEKKMM 	(\ .
 
 
 (L %((88>B'9:K'L'L$}!KH!:::%00@@ ; *226:: ; #$(CLCG!333%0099 4 *226:: 4 #$(6J		%	%g	.	. 3(6J	 3.<<'7<'27 8++$x''  E '4 '\))/,~2NNCC-C!#&& NO.l3Wnl\  %&& 	8 1 1$ 7 7  	//0111	;;011D NJO!((.. 5)--otDD&-4;;w''DE #K0 	 	 	D	  
-(1|||--. . 	.	.	.))0023 3 -)F: )v#( Ks$   *F F10F1(OO*)O*)r4   retypingtcchardetr   ImportErrorr
   
exceptionsr   r   r   r;   r<   r=   r>   r?   r8   compilerL   rB   strTupler!   ra    r   r	   <module>rl      so  :  				    
6"""""   6 6 6 6	  ! ! !G !          $$$$$
  RZ 122   RZ GHH $S $QWS#X%6 $ $ $ $0P P P P Ps     ' 	 '  ' 	33