L i, ddlZddlZddlidddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0 ZGd1d2ej eZy)3N)*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Ÿ) ceZdZejdZejdZhdZdfd ZfdZ dZ dZ e jjje _dZ e jj$je_d Zfd Zed Zd Zd ZdZdZdZdZdZdZejdj<ZdZ edZ!edZ"dZ#dZ$xZ%S#e$r(e jjj e _YwxYw#e$r(e jj$j e_YwxYw)_BaseHTMLProcessorz[<>'"]z&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)>brhrcolimgwbrareabaselinkmetaembedframeinputparamtrackkeygensourcecommandisindexbasefontcX|r||_||_g|_tt|yN)encoding_typepiecessuperr!__init__)selfr7r8 __class__s U/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/feedparser/html.pyr;z_BaseHTMLProcessor.__init__Ys) $DM    $02c8g|_tt|yr6)r9r:r!reset)r<r=s r>rAz_BaseHTMLProcessor.reset`s   $-/r?cl|jd}||jvrd|zdzSd|zdz|zdzS)z= :type match: Match[str] :rtype: str r< />z>)groupelements_no_end_tag)r<matchtags r>_shorttag_replacez$_BaseHTMLProcessor._shorttag_replacedsG kk!n $** *9u$ $9u$s*S0 0r?ctr6NotImplementedErrorr<is r>goaheadz_BaseHTMLProcessor.goaheadu!!r?ctr6rLrNs r>__parse_starttagz#_BaseHTMLProcessor.__parse_starttagrQr?c|j|}|jdk(r5|dkDr0|j|dz |dk(r|j|j|S)Napplication/xhtml+xmlz/>)"_BaseHTMLProcessor__parse_starttagr8rawdataunknown_endtaglasttag)r<rOjs r>parse_starttagz!_BaseHTMLProcessor.parse_starttagsS  ! !! $ ::0 01uac!,4##DLL1r?c(tjdd|tj}tjd|j|}|j dd}|j dd}t t ||t t |#y ) z6 :type data: str :rtype: None z\s]+?)\s*/>z''z""N) resub IGNORECASErJreplacer:r!feedclose)r<datar=s r>rez_BaseHTMLProcessor.feedsu vv. D Vvv*D,B,BDI||GS)||GS)  $,T2  $-/r?c|s|S|Dcic]\}}|j|}}}|jDcgc]!\}}||dvxr|jxs|f#}}}|j|Scc}}wcc}}w)zZ :type attrs: List[Tuple[str, str]] :rtype: List[Tuple[str, str]] )reltype)loweritemssort)attrskvattrs_ds r>normalize_attrsz"_BaseHTMLProcessor.normalize_attrssL-22DAq1779a<22  1_$27a 8     3 s A6&A<cg}d}|r|D]j\}}|jdd}|jdd}|jdd}|jjd|}|j||fldj d |D}||j vr"|j jd||d y |j jd||dy ) z` :type tag: str :type attrs: List[Tuple[str, str]] :rtype: None rEz>rC<r`z"z&c34K|]\}}d|d|dyw) z="r`N).0keyvalues r> z6_BaseHTMLProcessor.unknown_starttag..s!C"5)srDN)rdbare_ampersandrbappendjoinrGr9)r<rIrnuattrsstrattrsrzr{s r>unknown_starttagz#_BaseHTMLProcessor.unknown_starttags # , U c62 c62 c84++//? sEl+  , ww"(H $** * KK  S(; < KK  39 :r?c^||jvr|jjd|zyy)z5 :type tag: str :rtype: None zN)rGr9r~)r<rIs r>rYz!_BaseHTMLProcessor.unknown_endtags- d.. . KK  w} - /r?c >|j}|jdrt|ddd}n t|}|tvr;|jj dt tt|ddzy|jj d|zy)5 :type ref: str :rtype: None xrN&#%s;)rk startswithint_cp1252r9r~hexord)r<refr{s r>handle_charrefz!_BaseHTMLProcessor.handle_charrefsiik >># AB$EHE G  KK  wS-@)A!")EE F KK  w} -r?c|tjjvs|dk(r|jj d|zy|jj d|zy)rapos&%s;z&%sN)htmlentitiesname2codepointr9r~)r<rs r>handle_entityrefz#_BaseHTMLProcessor.handle_entityrefsH $--.. .#- KK  v| , KK  y3 /r?c:|jj|y)6 :type text: str :rtype: None Nr9r~r<texts r> handle_dataz_BaseHTMLProcessor.handle_datas 4 r?c@|jjd|zy)rz Nrrs r>handle_commentz!_BaseHTMLProcessor.handle_comments ;-.r?c@|jjd|zy)rzNrrs r> handle_piz_BaseHTMLProcessor.handle_pis 7T>*r?c@|jjd|zy)rzNrrs r> handle_declz_BaseHTMLProcessor.handle_decls 7T>*r?z-zA-Z][-_.a-zA-Z0-9:]*\s*c,|j}t|}||k(ry|j||}|rR|j}|j }|t|z|k(ry|j |j fS|j|y)zh :type i: int :type declstartpos: int :rtype: Tuple[Optional[str], int] )N)rXlen_new_declname_matchrFstriprkendr)r<rO declstartposrXnmsnames r> _scan_namez_BaseHTMLProcessor._scan_name's,, L 6  $ $Wa 0  A779DCF q ::<( (   W %r?c d|zS)5 :type name: str :rtype: str rrxrs r>convert_charrefz"_BaseHTMLProcessor.convert_charref>s~r?c d|zS)rrrxrs r>convert_entityrefz$_BaseHTMLProcessor.convert_entityrefGs}r?c8dj|jS)zGReturn processed HTML as a single string. :rtype: str rt)rr9)r<s r>outputz_BaseHTMLProcessor.outputPs wwt{{##r?c tjj||S#ttjf$r|j d|dzcYSwxYw)z2 :type i: int :rtype: int rur)sgmllib SGMLParserparse_declarationAssertionErrorSGMLParseErrorrrNs r>rz$_BaseHTMLProcessor.parse_declarationXsQ  %%77a@ @ 6 67    V $Q3J s"/AA)NrU)&__name__ __module__ __qualname__racompilespecialr}rGr;rArJrPrr__code__AttributeError func_coderWr\re staticmethodrrrrYrrrrrrrHrrrrrr __classcell__)r=s@r>r!r!@s|bjj&GRZZ BCN,30 1""A"--55>> "Q$+$6$6$E$E$N$N!  0&;8 ..& 0 !/+ +%"**%CDJJ.$ { A$..66@@A Q&-%7%7%F%F%P%P"Qs$%C/)%D/*DD*E  E r!) html.entitiesrrasgmlrrrobjectr!rxr?r>rs8                       ! "# $          7 >c++Vcr?