
    i,                         S SK rS SKrSSK7  0 SS_SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_S&S'S(S)S*S+S,S-S.S/S0.
Er " S1 S2\R                  \5      rg)3    N   )*   u   €   u   ‚   u   ƒ   u   „   u   …   u   †   u   ‡   u   ˆ   u   ‰   u   Š   u   ‹   u   Œ   u   Ž   u   ‘   u   ’   u   “   u   ”u   •u   –u   —u   ˜u   ™u   šu   ›u   œu   žu   Ÿ)
                              c                     ^  \ rS rSr\R
                  " S5      r\R
                  " S5      r1 SkrSU 4S jjr	U 4S jr
S rS r \R                  R                  R                  \l        S	 r \R                  R&                  R                  \l        S
 rU 4S jr\S 5       rS rS rS rS rS rS rS rS r\R
                  " S5      R>                  r S r!\S 5       r"\S 5       r#S r$S r%Sr&U =r'$ ! \ a(    \R                  R                  R"                  \l         Nf = f! \ a(    \R                  R&                  R"                  \l         Nf = f)_BaseHTMLProcessor@   z[<>'"]z&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)>   brhrcolimgwbrareabaselinkmetaembedframeinputparamtrackkeygensourcecommandisindexbasefontc                 ^   > U(       a  Xl         X l        / U l        [        [        U ]  5         g N)encoding_typepiecessuperr!   __init__)selfr8   r9   	__class__s      </app/mltbenv/lib/python3.13/site-packages/feedparser/html.pyr<   _BaseHTMLProcessor.__init__Y   s%    $M
 $02    c                 8   > / U l         [        [        U ]  5         g r7   )r:   r;   r!   reset)r=   r>   s    r?   rC   _BaseHTMLProcessor.reset`   s     $-/rA   c                 n    UR                  S5      nX R                  ;   a  SU-   S-   $ SU-   S-   U-   S-   $ )z%
:type match: Match[str]
:rtype: str
r   < />z></>)groupelements_no_end_tag)r=   matchtags      r?   _shorttag_replace$_BaseHTMLProcessor._shorttag_replaced   sE     kk!n***9u$$9u$s*S00rA   c                     [         er7   NotImplementedErrorr=   is     r?   goahead_BaseHTMLProcessor.goaheadu       !!rA   c                     [         er7   rP   rR   s     r?   __parse_starttag#_BaseHTMLProcessor.__parse_starttag   rV   rA   c                     U R                  U5      nU R                  S:X  a7  US:  a1  U R                  US-
  U S:X  a  U R                  U R                  5        U$ )Napplication/xhtml+xml   z/>)"_BaseHTMLProcessor__parse_starttagr9   rawdataunknown_endtaglasttag)r=   rS   js      r?   parse_starttag!_BaseHTMLProcessor.parse_starttag   sS    !!!$::001uac!,4##DLL1rA   c                 &  > [         R                  " SSU[         R                  S9n[         R                  " SU R                  U5      nUR	                  SS5      nUR	                  SS5      n[
        [        U ]  U5        [
        [        U ]#  5         g	)
z
:type data: str
:rtype: None
z<!((?!DOCTYPE|--|\[))z&lt;!\1)flagsz<([^<>\s]+?)\s*/>z&#39;'z&#34;"N)	resub
IGNORECASErM   replacer;   r!   feedclose)r=   datar>   s     r?   rl   _BaseHTMLProcessor.feed   su     vv.
DVvv*D,B,BDI||GS)||GS) $,T2 $-/rA   c                 *   U (       d  U $ U  VVs0 s H  u  pUR                  5       U_M     nnnUR                  5        VVs/ s H+  u  pXS;   =(       a    UR                  5       =(       d    U4PM-     n nnU R                  5         U $ s  snnf s  snnf )zB
:type attrs: List[Tuple[str, str]]
:rtype: List[Tuple[str, str]]
)reltype)loweritemssort)attrskvattrs_ds       r?   normalize_attrs"_BaseHTMLProcessor.normalize_attrs   s     L -22EDA1779a<E2  
' _$27a8' 	 
 	

 3
s   B	2Bc                    / nSnU(       a  U Hi  u  pVUR                  SS5      nUR                  SS5      nUR                  SS5      nU R                  R                  SU5      nUR                  XV45        Mk     SR	                  S	 U 5       5      nXR
                  ;   a$  U R                  R                  SU< U< S
35        gU R                  R                  SU< U< S35        g)z@
:type tag: str
:type attrs: List[Tuple[str, str]]
:rtype: None
 rH   z&gt;rF   &lt;rg   z&quot;z&amp;c              3   <   #    U  H  u  pS U< SU< S3v   M     g7f) z="rg   N ).0keyvalues      r?   	<genexpr>6_BaseHTMLProcessor.unknown_starttag.<locals>.<genexpr>   s       "(JC "5)"(s   rG   N)rk   bare_ampersandri   appendjoinrJ   r:   )r=   rL   rv   uattrsstrattrsr   r   s          r?   unknown_starttag#_BaseHTMLProcessor.unknown_starttag   s     #
c62c62c84++//?sl+ $ ww "( H ***KKS(;<KK39:rA   c                 `    XR                   ;  a  U R                  R                  SU-  5        gg)z
:type tag: str
:rtype: None
z</%s>N)rJ   r:   r   )r=   rL   s     r?   r_   !_BaseHTMLProcessor.unknown_endtag   s+     ...KKw}- /rA   c           	      L   UR                  5       nUR                  S5      (       a  [        USS S5      nO[        U5      nU[        ;   a;  U R                  R                  S[        [        [        U   5      5      SS -  5        gU R                  R                  SU-  5        g)
:type ref: str
:rtype: None
xr   N   &#%s;)rs   
startswithint_cp1252r:   r   hexord)r=   refr   s      r?   handle_charref!_BaseHTMLProcessor.handle_charref   s     iik>>#AB$EHEGKKwS-@)A!")EEFKKw}-rA   c                     U[         R                  R                  ;   d  US:X  a  U R                  R	                  SU-  5        gU R                  R	                  SU-  5        g)r   apos&%s;z&amp;%sN)htmlentitiesname2codepointr:   r   )r=   r   s     r?   handle_entityref#_BaseHTMLProcessor.handle_entityref   sH     $--...#-KKv|,KKy3/rA   c                 :    U R                   R                  U5        g)
:type text: str
:rtype: None
Nr:   r   r=   texts     r?   handle_data_BaseHTMLProcessor.handle_data   s     	4 rA   c                 @    U R                   R                  SU-  5        g)r   z	<!--%s-->Nr   r   s     r?   handle_comment!_BaseHTMLProcessor.handle_comment  s     	;-.rA   c                 @    U R                   R                  SU-  5        g)r   z<?%s>Nr   r   s     r?   	handle_pi_BaseHTMLProcessor.handle_pi  s     	7T>*rA   c                 @    U R                   R                  SU-  5        g)r   z<!%s>Nr   r   s     r?   handle_decl_BaseHTMLProcessor.handle_decl  s     	7T>*rA   z[a-zA-Z][-_.a-zA-Z0-9:]*\s*c                 6   U R                   n[        U5      nX:X  a  gU R                  X15      nU(       aS  UR                  5       nUR	                  5       nU[        U5      -   U:X  a  gUR                  5       UR                  5       4$ U R                  U5        g)zH
:type i: int
:type declstartpos: int
:rtype: Tuple[Optional[str], int]
)N)r^   len_new_declname_matchrI   striprs   endr   )r=   rS   declstartposr^   nmsnames           r?   
_scan_name_BaseHTMLProcessor._scan_name'  s     ,,L6$$W0	A779DCF
q ::<((W%rA   c                     SU -  $ )
:type name: str
:rtype: str
r   r   r   s    r?   convert_charref"_BaseHTMLProcessor.convert_charref>  s     ~rA   c                     SU -  $ )r   r   r   r   s    r?   convert_entityref$_BaseHTMLProcessor.convert_entityrefG  s     }rA   c                 8    SR                  U R                  5      $ )z7Return processed HTML as a single string.

:rtype: str
r}   )r   r:   )r=   s    r?   output_BaseHTMLProcessor.outputP  s     wwt{{##rA   c                      [         R                  R                  X5      $ ! [        [         R                  4 a    U R                  S5        US-   s $ f = f)z
:type i: int
:rtype: int
r~   r   )sgmllib
SGMLParserparse_declarationAssertionErrorSGMLParseErrorr   rR   s     r?   r   $_BaseHTMLProcessor.parse_declarationX  sO    	%%77@@ 6 67 	V$Q3J	s   ! 0AA)r9   r8   r:   )Nr[   )(__name__
__module____qualname____firstlineno__rh   compilespecialr   rJ   r<   rC   rM   rT   r   r   __code__AttributeError	func_coder]   rb   rl   staticmethodrz   r   r_   r   r   r   r   r   r   rK   r   r   r   r   r   r   __static_attributes____classcell__)r>   s   @r?   r!   r!   @   s{   jj&GZZ BCN,30
1""A"--55>>"Q$+$6$6$E$E$N$N!0  &;8	..&0	!/+
+ **%CDJJ.    $ {  A $..66@@A  Q &-%7%7%F%F%P%P"Qs$   %C7 .%D( 7+D%$D%(+EEr!   )	html.entitiesr   rh   sgmlr   r   r   objectr!   r   rA   r?   <module>r      s  8  	   	
             !" #$ 
									7>c++V crA   