Ë
    >²Xj1  ã                   ó  — d dl Z d dlZd dlZ	 	 d dlZd„ Z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y# e$ r d dlZY Œcw xY w# e$ r dZdZY Œow xY w)é    Nc                 ó:   — t        j                  | «      d   xs dS )NÚencodingÚ )ÚchardetÚdetect)Údatas    úZ/var/www/html/content_generation/venv/lib/python3.12/site-packages/feedparser/encodings.pyÚlazy_chardet_encodingr
   *   s   € Ü�~‰~˜dÓ# JÑ/Ò5°2Ð5ó    é   )ÚCharacterEncodingOverrideÚCharacterEncodingUnknownÚNonXMLContentTypes   Lo§”s    < ?s   < ? s      <s   <   z  z^<\?xml[^>]*?>s#   ^<\?.*encoding=[\'"](.*?)[\'"].*\?>ÚlineÚreturnc                 ó  — | j                  d«      }|sy|d   j                  «       }d}|dd D ]X  }|j                  d«      \  }}}|j                  «       j                  «       dk(  sŒ:|j                  «       j                  d	«      }ŒZ ||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Š   € ð �Z‰Z˜‹_€FÙØà�q‘	—‘Ó!€IØ€MØ˜˜“ˆØŸ™¨Ó,‰ˆˆQ�Ø�9‰9‹;×ÑÓ )Ó+Ø!ŸK™K›M×/Ñ/°Ó6‰Mð ð
 �mÐ#Ð#r   c                 ó   — 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        k7  rd}|dd }n’|dd t         j
                  k(  r|dd t        k7  rd}|dd }nh|dd	 t         j                  k(  rd
}|d	d }nJ|dd t        k(  rd}n;|dd t        k(  rd}n,|dd t        k(  rd}n|dd t        k(  rd}n|dd t        k(  rd}|}	 |r |j                  |«      j                  d
«      }t        j                  |«      }|r8|j%                  «       d   j                  d
«      j'                  «       }|r|dv r|}| j)                  d«      xs d}t+        |«      \  }}d}	d}
d}||
v s"|j-                  d«      r|j/                  d«      rd}	|xs |xs d
}nZ||v s"|j-                  d«      r|j/                  d«      r	d}	|xs d}n+|j-                  d«      r|xs d}n| rd| vr|xs d}n|xs d
}|j'                  «       dk(  rd}|j'                  «       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Œ|j7                  |«       	 |j                  |«      }d}d}t8        j;                  |«      rt8        j=                  ||«      }n|dz   |z   }|j                  d
«      } n |st?        d|›d |›d!�z   «      }d}n|k7  rtA        d"|›d#|›�«      }|}||d$<   |r
d%|d&<   ||d'<   |S # t         t"        f$ r d}Y �Œ0w xY w# t         t"        f$ r Y Œúw xY w)(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   _   sp  € ð^ €LØ€Lð ˆBˆQ€x”6×&Ñ&Ò&Ø!ˆØ�A�Bˆx‰Ø	ˆbˆqˆ”V×(Ñ(Ò	(Ø!ˆØ�A�Bˆx‰Ø	ˆbˆqˆ”V×(Ñ(Ò	(¨T°!°A¨Y¼*Ò-DØ!ˆØ�A�Bˆx‰Ø	ˆbˆqˆ”V×(Ñ(Ò	(¨T°!°A¨Y¼*Ò-DØ!ˆØ�A�Bˆx‰Ø	ˆbˆqˆ”V—_‘_Ò	$ØˆØ�A�Bˆx‰à	ˆbˆqˆ”]Ò	"Ø‰Ø	ˆbˆqˆ”^Ò	#Ø!‰Ø	ˆbˆqˆ”^Ò	#Ø!‰Ø	ˆbˆqˆ”^Ò	#Ø!‰Ø	ˆbˆqˆ”^Ò	#Ø!ˆà€Hð	@ÙØ—{‘{ <Ó0×7Ñ7¸Ó@ˆHô 0×5Ñ5°hÓ?ÐáØ)×0Ñ0Ó2°1Ñ5×<Ñ<¸WÓE×KÑKÓMˆá˜\ð .
ñ 
ð (ˆLð %×(Ñ(¨Ó8Ò>¸BÐÜ'9Ð:KÓ'LÑ$Ð�}àÐð!KÐàHÐàÐ!:Ñ:à%×0Ñ0°Ô@Ø)×2Ñ2°6Ô:ð #$ÐØ(ÒC¨LÒC¸GÑàÐ!3Ñ3à%×0Ñ0°Ô9Ø)×2Ñ2°6Ô:ð #$ÐØ(Ò6¨JÑØ	×	%Ñ	% gÔ	.Ø(Ò6¨JÑÙ	˜.°Ñ<Ø'Ò7¨<Ñà'Ò2¨7Ðð ×ÑÓ 8Ò+Ø$ÐØ×ÑÓ˜xÒ'Ø ˆð €EáÑ4Ø˜\Ñ)Ø/°,¸~Ñ2NÑN‰Cà-ˆCÜ! #Ó&ˆð €NØ€Oà.°¸lÜ3°W¸nÈló\ÐäÐ%Ô&Ù 1°$Ó 7ÐÙ ØØ Ñ/ØØ×ÑÐ0Ô1ð	Ø—;‘;Ð0Ó1ˆDð ˆNàJˆOÜ!×(Ñ(¨Ô.Ü)×-Ñ-¨o¸tÓD‘à&¨Ñ-°Ñ4�Ø—;‘;˜wÓ'ˆDÙð-\ñ0 Ü(Ø1âš|ð-ñ-ó.ˆð ÑØ	Ð.Ò	.Ý)âÑ0ð2ó3ˆð -Ðà)€Fˆ:ÑÙØˆˆv‰Ø#(ˆÐÑ Ø€Køôq ¤Ð,ò "ð "Óð	"ûôv #¤KÐ0ò 	Ùð	ús$   Ä "M Ê2M+ÍM(Í'M(Í+M=Í<M=)r4   ÚreÚtypingÚtÚcchardetr   ÚImportErrorr
   Ú
exceptionsr   r   r   r;   r<   r=   r>   r?   r8   ÚcompilerL   rB   ÚstrÚTupler!   ra   © r   r	   Ú<module>rl      sÈ   ðó: Û 	Û ð
6ðÛ"ò6÷ñ ð $€Ø$€Ø$€Ø$€Ø$€à€
ð  �R—Z‘ZÐ 1Ó2Ð ð  �R—Z‘ZÐ GÓHÐ ð$˜Sð $ Q§W¡W¨S°#¨XÑ%6ó $ó0Pøðw ò Ýðûàò !Ø€GØ Òð!ús)   �A+ Á+	A7Á4A: Á6A7Á7A: Á:	BÂB