intellecton/venv/lib/python3.12/site-packages/markdown/__pycache__/htmlparser.cpython-312.pyc

102 lines
20 KiB
Text
Raw Normal View History

<EFBFBD>
K<>j<>C<00><01><00>dZddlmZddlZddlZddlZddlmZm Z erddl
m Z ejd<06>Z ejjd<07>Zejj#e<10>Zej&j)e<12>eej*d<ejd <09>e_ejd
<EFBFBD>e_ejd <0B>e_ejd <0C>e_ej2e_ejd ej6<00>e_ejdej6<00>e_ejd<0F>ZGd<10>dej><00>Z e e_Gd<12>dej><00>Z!y)a 
This module imports a copy of [`html.parser.HTMLParser`][] and modifies it heavily through monkey-patches.
A copy is imported rather than the module being directly imported as this ensures that the user can import
and use the unmodified library for their own needs.
<EFBFBD>)<01> annotationsN)<02> TYPE_CHECKING<4E>Sequence)<01>Markdownz--!?>z html.parser<65>
htmlparserz <[a-zA-Z]|</>z </[a-zA-Z]?z\?>z&([a-zA-Z][-.a-zA-Z0-9]*);a<>
<[a-zA-Z][^`\t\n\r\f />\x00]* # tag name <= added backtick here
(?:[\s/]* # optional whitespace before attribute name
(?:(?<=['"\s/])[^`\s/>][^\s/=>]* # attribute name <= added backtick here
(?:\s*=+\s* # value indicator
(?:'[^']*' # LITA-enclosed value
|"[^"]*" # LIT-enclosed value
|(?!['"])[^`>\s]* # bare value <= added backtick here
)
(?:\s*,)* # possibly followed by a comma
)?(?:\s|/(?!>))*
)*
)?
\s* # trailing whitespace
a
[a-zA-Z][^`\t\n\r\f />]* # tag name
[\t\n\r\f /]* # optional whitespace before attribute name
(?:(?<=['"\t\n\r\f /])[^`\t\n\r\f />][^\t\n\r\f /=>]* # attribute name
(?:= # value indicator
(?:'[^']*' # LITA-enclosed value
|"[^"]*" # LIT-enclosed value
|(?!['"])[^>\t\n\r\f ]* # bare value
)
)?
[\t\n\r\f /]* # possibly followed by a space
)*
>?
z ^([ ]*\n){2}c<01>.<00><00>eZdZdZ<03>fd<02>Zd<04>fd<03> Z<05>xZS)<05> _HTMLParserz"Handle special start and end tags.c<01><><00><01>|j||dz}t|d<00>}t|<02>dksd|cxkrdks5nd|cxkrdks(n|j|j||dz<00>|dzSt<00>|<00>|<01>S)N<><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<00>Z<00>a<00>z<00>)<06>rawdata<74>ord<72>len<65> handle_data<74>super<65> parse_endtag)<05>self<6C>i<>start<72>c<> __class__s <20><>V/home/antigravity/intellecton/venv/lib/python3.12/site-packages/markdown/htmlparser.pyrz_HTMLParser.parse_endtagcsy<00><><00><14> <0C> <0C>Q<EFBFBD>q<EFBFBD><11>s<EFBFBD>#<23><05> <0F><05>b<EFBFBD> <09>N<EFBFBD><01> <0E>u<EFBFBD>:<3A><01>><3E>"<22><01>-<2D>R<EFBFBD>-<2D>2<EFBFBD><11>><3E>c<EFBFBD>><3E> <10> <1C> <1C>T<EFBFBD>\<5C>\<5C>!<21>A<EFBFBD><01>E<EFBFBD>2<> 3<><14>q<EFBFBD>5<EFBFBD>L<EFBFBD><14>w<EFBFBD>#<23>A<EFBFBD>&<26>&<26>c<01><><00><01>|j||dzdk(r&|j|j||dz<00>|dzSt<00>|<00> |<01>S)Nr <00></>)rrr<00>parse_starttag<61>rrrs <20>rr!z_HTMLParser.parse_starttagksP<00><><00> <0F><<3C><<3C><01>!<21>a<EFBFBD>%<25> <20>E<EFBFBD> )<29> <10> <1C> <1C>T<EFBFBD>\<5C>\<5C>!<21>A<EFBFBD><01>E<EFBFBD>2<> 3<><14>q<EFBFBD>5<EFBFBD>L<EFBFBD><14>w<EFBFBD>%<25>a<EFBFBD>(<28>(r<00>r<00>int<6E>returnr$)<07>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rr!<00> __classcell__<5F>rs@rr r `s<00><><00>,<2C>'<27>)<29>)rr c<01><00><00>eZdZUdZd<1C>fd<02> Z<04>fd<03>Z<05>fd<04>Zedd<05><04>Zdd<06>Z dd<07>Z
d d<08>Z d!d <09>Z d"d
<EFBFBD>Z d#d <0B>Zd!d <0C>Zd$d <0A>Zd$d<0E>Zd"d<0F>Zd"d<10>Zd"d<11>Zd"d<12>Zd%<25>fd<13> Zd&d<14>Zd%<25>fd<15> Zd'd(<28>fd<16> ZdZded<d)d<1A>Zd%d<1B>Z<1D>xZS)*<2A> HTMLExtractorz<72>
Extract raw HTML from text.
The raw HTML is stored in the [`htmlStash`][markdown.util.HtmlStash] of the
[`Markdown`][markdown.Markdown] instance passed to `md` and the remaining text
is stored in `cleandoc` as a list of strings.
c<01>v<00><01>d|vrd|d<tdg<01>|_dg|_t<00>|<00>|i|<03><01>||_y)N<>convert_charrefsF<73>hrr)<06>set<65>
empty_tags<EFBFBD>lineno_start_cacher<00>__init__<5F>md)rr5<00>args<67>kwargsrs <20>rr4zHTMLExtractor.__init__<5F>sJ<00><><00> <1D>V<EFBFBD> +<2B>).<2E>F<EFBFBD>%<25> &<26><1E>t<EFBFBD>f<EFBFBD>+<2B><04><0F>#$<24>#<23><04><1F> <0E><07><18>$<24>)<29>&<26>)<29><14><04>rc<01>x<00><01>d|_d|_g|_g|_g|_dg|_t <00>|<00><00>y)z1Reset this instance. Loses all unprocessed data.FrN)<08>inraw<61>intail<69>stack<63>_cache<68>cleandocr3r<00>reset<65>rrs <20>rr>zHTMLExtractor.reset<65>s9<00><><00><1A><04>
<EFBFBD><1B><04> <0B> "<22><04>
<EFBFBD>!#<23><04> <0B>#%<25><04> <0A>#$<24>#<23><04><1F> <0A><07> <0A>rc<01><><00><01>t<00>|<00><00>t|j<00>rb|jr;|j
s/|j tj|j<00><00>n|j |j<00>t|j<00>r_|jj|jjjdj|j<00><00><00>g|_ yy)zHandle any buffered data.<2E>N)r<00>closerrr/<00>
cdata_elemrr<00>unescaper<r=<00>appendr5<00> htmlStash<73>store<72>joinr?s <20>rrBzHTMLExtractor.close<73>s<><00><><00> <0A><07> <0A><0F> <0E>t<EFBFBD>|<7C>|<7C> <1C><14>$<24>$<24>T<EFBFBD>_<EFBFBD>_<EFBFBD><14> <20> <20><1A>!4<>!4<>T<EFBFBD>\<5C>\<5C>!B<>C<><14> <20> <20><14><1C><1C>.<2E> <0E>t<EFBFBD>{<7B>{<7B> <1B> <10>M<EFBFBD>M<EFBFBD> <20> <20><14><17><17>!2<>!2<>!8<>!8<><12><17><17><14><1B><1B>9M<39>!N<> O<><1C>D<EFBFBD>K<EFBFBD> rc<01>h<00>tt|j<00>dz
|jdz
<00>D]e}|j|}|jj d|<02>}|dk(rt|j<00>}|jj |dz<00><00>g|j|jdz
S)zHReturns char index in `self.rawdata` for the start of the current line. <20><00>
r )<07>rangerr3<00>linenor<00>findrE)r<00>ii<69>last_line_start_pos<6F>lf_poss r<00> line_offsetzHTMLExtractor.line_offset<65>s<><00><00><18><03>D<EFBFBD>3<>3<>4<>Q<EFBFBD>6<><04> <0B> <0B>A<EFBFBD> <0A>F<> 5<>B<EFBFBD>"&<26>"9<>"9<>"<22>"=<3D> <1F><19>\<5C>\<5C>&<26>&<26>t<EFBFBD>-@<40>A<>F<EFBFBD><15><12>|<7C><1C>T<EFBFBD>\<5C>\<5C>*<2A><06> <10> #<23> #<23> *<2A> *<2A>6<EFBFBD>!<21>8<EFBFBD> 4<>  5<><14>&<26>&<26>t<EFBFBD>{<7B>{<7B>1<EFBFBD>}<7D>5<>5rc<01><><00>|jdk(ry|jdkDry|j|j|j|jzj<00>dk(S)z<>
Returns True if current position is at start of line.
Allows for up to three blank spaces at start of line.
rTr FrA)<04>offsetrrR<00>strip<69>rs r<00> at_line_startzHTMLExtractor.at_line_start<72>sV<00><00> <10>;<3B>;<3B>!<21> <1B><17> <0F>;<3B>;<3B><11>?<3F><18><13>|<7C>|<7C>D<EFBFBD>,<2C>,<2C>T<EFBFBD>-=<3D>-=<3D><04> <0B> <0B>-K<>L<>R<>R<>T<>XZ<58>Z<>Zrc<01><><00>|j|jz}tjj |j
|<02>}|r|j
||j <00>Sdj|<01>S)z<>
Returns the text of the end tag.
If it fails to extract the actual text from the raw data, it builds a closing tag with `tag`.
z</{}>)rRrTr<00> endendtag<61>searchr<00>end<6E>format)r<00>tagr<00>ms r<00>get_endtag_textzHTMLExtractor.get_endtag_text<78>s_<00><00><15> <20> <20>4<EFBFBD>;<3B>;<3B>.<2E><05> <16> <20> <20> '<27> '<27><04> <0C> <0C>e<EFBFBD> <<3C><01> <0C><17><<3C><<3C><05>a<EFBFBD>e<EFBFBD>e<EFBFBD>g<EFBFBD>.<2E> .<2E><1B>><3E>><3E>#<23>&<26> &rc<01>*<00>||jvr|j||<02>y|jj|<01>rJ|js|j <00>r.|j s"d|_|jjd<02>|j<00>}|j r7|jj|<01>|jj|<03>y|jj|<03>||jvr|j<00>yy)NTrK)r2<00>handle_startendtagr5<00>is_block_levelr:rWr9r=rE<00>get_starttag_textr;r<<00>CDATA_CONTENT_ELEMENTS<54>clear_cdata_mode)rr]<00>attrs<72>texts r<00>handle_starttagzHTMLExtractor.handle_starttag<61>s<><00><00> <0E>$<24>/<2F>/<2F> !<21> <10> #<23> #<23>C<EFBFBD><15> /<2F> <12> <0F>7<EFBFBD>7<EFBFBD> !<21> !<21>#<23> &<26>D<EFBFBD>K<EFBFBD>K<EFBFBD>D<EFBFBD><N<><N<><P<>Y]<5D>Yc<59>Yc<59><1D>D<EFBFBD>J<EFBFBD> <10>M<EFBFBD>M<EFBFBD> <20> <20><14> &<26><13>%<25>%<25>'<27><04> <0F>:<3A>:<3A> <10>J<EFBFBD>J<EFBFBD> <1D> <1D>c<EFBFBD> "<22> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>t<EFBFBD> $<24> <10>M<EFBFBD>M<EFBFBD> <20> <20><14> &<26><12>d<EFBFBD>1<>1<>1<><14>%<25>%<25>'<27>2rc<01>:<00>|j|<01>}|j<00>rb|jj|<02>||jvr7|jr+|jj <00>|k(rn |jr<01>+t |j<00>dk(r<>tj|j|j|jzt |<02>zd<00>r|jjd<02>nd|_ d|_|jj|jjj!dj#|j<00><00><00>|jjd<06>g|_yy|jj|<02>y)NrrKTFrA<00>
)r_r9r<rEr;<00>popr<00> blank_line_re<72>matchrrRrTr:r=r5rFrGrH)rr]rgs r<00> handle_endtagzHTMLExtractor.handle_endtag<61>s,<00><00><13>#<23>#<23>C<EFBFBD>(<28><04> <0F>:<3A>:<3A> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>t<EFBFBD> $<24><12>d<EFBFBD>j<EFBFBD>j<EFBFBD> <20><1A>j<EFBFBD>j<EFBFBD><1B>z<EFBFBD>z<EFBFBD>~<7E>~<7E>'<27>3<EFBFBD>.<2E><1D><1B>j<EFBFBD>j<EFBFBD><13>4<EFBFBD>:<3A>:<3A><EFBFBD>!<21>#<23> <20>&<26>&<26>t<EFBFBD>|<7C>|<7C>D<EFBFBD>4D<34>4D<34>t<EFBFBD>{<7B>{<7B>4R<34>UX<55>Y]<5D>U^<5E>4^<5E>4_<34>'`<60>a<><18>K<EFBFBD>K<EFBFBD>&<26>&<26>t<EFBFBD>,<2C>#'<27>D<EFBFBD>K<EFBFBD>"<22><04>
<EFBFBD><14> <0A> <0A>$<24>$<24>T<EFBFBD>W<EFBFBD>W<EFBFBD>%6<>%6<>%<<3C>%<<3C>R<EFBFBD>W<EFBFBD>W<EFBFBD>T<EFBFBD>[<5B>[<5B>=Q<>%R<>S<><14> <0A> <0A>$<24>$<24>V<EFBFBD>,<2C> <20><04> <0B>$<24> <11>M<EFBFBD>M<EFBFBD> <20> <20><14> &rc<01><><00>|jr d|vrd|_|jr|jj|<01>y|jj|<01>y)NrKF)r:r9r<rEr=<00>r<00>datas rrzHTMLExtractor.handle_datasA<00><00> <0F>;<3B>;<3B>4<EFBFBD>4<EFBFBD><<3C><1F>D<EFBFBD>K<EFBFBD> <0F>:<3A>:<3A> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>t<EFBFBD> $<24> <10>M<EFBFBD>M<EFBFBD> <20> <20><14> &rc<01><><00>|js |jr|jj|<01>y|j <00><00>r |<02>rt
j |j|j|jzt|<01>zd<00>r|dz }nd|_|jr|jdnd}|jd<06>s,|jd<02>r|jjd<02>|jj|jjj|<01><00>|jjd<06>y|jj|<01>y)z Handle empty tags (`<data>`). NrKTr rArj)r9r:r<rErWrlrmrrRrTrr=<00>endswithr5rFrG)rrq<00>is_block<63>items r<00>handle_empty_tagzHTMLExtractor.handle_empty_tag s<00><00> <0F>:<3A>:<3A><14><1B><1B> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>t<EFBFBD> $<24> <11> <1F> <1F> !<21>h<EFBFBD><1C>"<22>"<22>4<EFBFBD><<3C><<3C><04>0@<40>0@<40>4<EFBFBD>;<3B>;<3B>0N<30>QT<51>UY<55>QZ<51>0Z<30>0[<5B>#\<5C>]<5D><14><04> <0C><04>#<23><04> <0B>(,<2C> <0A> <0A>4<EFBFBD>=<3D>=<3D><12>$<24>2<EFBFBD>D<EFBFBD><17>=<3D>=<3D><16>(<28>T<EFBFBD>]<5D>]<5D>4<EFBFBD>-@<40><14> <0A> <0A>$<24>$<24>T<EFBFBD>*<2A> <10>M<EFBFBD>M<EFBFBD> <20> <20><14><17><17>!2<>!2<>!8<>!8<><14>!><3E> ?<3F> <10>M<EFBFBD>M<EFBFBD> <20> <20><16> (<28> <10>M<EFBFBD>M<EFBFBD> <20> <20><14> &rc<01>x<00>|j|j<00>|jj|<01><00><01>y)N<>rt)rvrcr5rb)rr]rfs rraz HTMLExtractor.handle_startendtag s.<00><00> <0C><1D><1D>d<EFBFBD>4<>4<>6<><14><17><17>AW<41>AW<41>X[<5B>A\<5C><1D>]rc<01>H<00>|jdj|<01>d<02><03>y)Nz&#{};Frx<00>rvr\<00>r<00>names r<00>handle_charrefzHTMLExtractor.handle_charref#s<00><00> <0C><1D><1D>g<EFBFBD>n<EFBFBD>n<EFBFBD>T<EFBFBD>2<>U<EFBFBD><1D>Crc<01>H<00>|jdj|<01>d<02><03>y)Nz&{};Frxrzr{s r<00>handle_entityrefzHTMLExtractor.handle_entityref&s<00><00> <0C><1D><1D>f<EFBFBD>m<EFBFBD>m<EFBFBD>D<EFBFBD>1<>E<EFBFBD><1D>Brc<01>H<00>|jdj|<01>d<02><03>y)Nz <!--{}-->Trxrzrps r<00>handle_commentzHTMLExtractor.handle_comment)s <00><00> <0C><1D><1D>k<EFBFBD>0<>0<><14>6<><14><1D>Frc<01>H<00>|jdj|<01>d<02><03>y)Nz<!{}>Trxrzrps r<00> handle_declzHTMLExtractor.handle_decl-s<00><00> <0C><1D><1D>g<EFBFBD>n<EFBFBD>n<EFBFBD>T<EFBFBD>2<>T<EFBFBD><1D>Brc<01>H<00>|jdj|<01>d<02><03>y)Nz<?{}?>Trxrzrps r<00> handle_pizHTMLExtractor.handle_pi0s<00><00> <0C><1D><1D>h<EFBFBD>o<EFBFBD>o<EFBFBD>d<EFBFBD>3<>d<EFBFBD><1D>Crc<01>t<00>|jd<01>rdnd}|jdj||<02>d<05><06>y)NzCDATA[z]]>z]>z<![{}{}Trx)<03>
startswithrvr\)rrqr[s r<00> unknown_declzHTMLExtractor.unknown_decl3s4<00><00><1B><EFBFBD><EFBFBD>x<EFBFBD>0<>e<EFBFBD>d<EFBFBD><03> <0C><1D><1D>i<EFBFBD>.<2E>.<2E>t<EFBFBD>S<EFBFBD>9<>D<EFBFBD><1D>Irc<01><><00><01>|j<00>s |jrt<00>|<00> |<01>S|j d<01>|dzS)Nz<?r)rWr:r<00>parse_pirr"s <20>rr<>zHTMLExtractor.parse_pi7s><00><><00> <0F> <1D> <1D> <1F>4<EFBFBD>;<3B>;<3B><18>7<EFBFBD>#<23>A<EFBFBD>&<26> &<26> <0A><18><18><14><1E><10>1<EFBFBD>u<EFBFBD> rc<01> <00>|j}|jd|<01>sJd<02><00>tj||dz<00>}|s|j d<04>|dzS|r'|j <00>}|j ||dz|<00>|j<00>S)Nz<!--z"unexpected call to parse_comment()<29><00><rJ)rr<><00> commentcloserZrrr<>r[)rr<00>reportrrm<00>js r<00> parse_commentzHTMLExtractor.parse_commentAs<><00><00><16>,<2C>,<2C><07><16>!<21>!<21>&<26>!<21>,<2C>R<>.R<>R<>,<2C><1C>#<23>#<23>G<EFBFBD>Q<EFBFBD>q<EFBFBD>S<EFBFBD>1<><05><14> <10> <1C> <1C>S<EFBFBD> !<21><14>q<EFBFBD>5<EFBFBD>L<EFBFBD> <11><15> <0B> <0B> <0A>A<EFBFBD> <10> <1F> <1F><07><01>!<21><03>Q<EFBFBD><0F> 0<><14>y<EFBFBD>y<EFBFBD>{<7B>rc<01>V<00><01>|j<00>s |jrw|j||dzdk(rS|j||dzdk(s>|j|<01>}|dk(r&|j |j||dz<00>|dzS|St
<00>|<00>|<01>S|j d<07>|dzS) Nr z<![<5B> z <![CDATA[r rJz<!r)rWr:r<00>parse_bogus_commentrr<00>parse_html_declaration)rr<00>resultrs <20>rr<>z$HTMLExtractor.parse_html_declarationMs<><00><><00> <0F> <1D> <1D> <1F>4<EFBFBD>;<3B>;<3B><13>|<7C>|<7C>A<EFBFBD>a<EFBFBD><01>c<EFBFBD>"<22>e<EFBFBD>+<2B>D<EFBFBD>L<EFBFBD>L<EFBFBD><11>1<EFBFBD>Q<EFBFBD>3<EFBFBD>4G<34>;<3B>4V<34><1E>1<>1<>!<21>4<><06><19>R<EFBFBD><<3C><18>$<24>$<24>T<EFBFBD>\<5C>\<5C>!<21>A<EFBFBD><01>E<EFBFBD>%:<3A>;<3B><1C>q<EFBFBD>5<EFBFBD>L<EFBFBD><1D> <0A><18>7<EFBFBD>1<>!<21>4<> 4<> <0A><18><18><14><1E><10>1<EFBFBD>u<EFBFBD> rc<01>t<00><01>t<00>|<00>||<02>}|dk(ry|j|j||d<02><03>|S)Nr Frx)rr<>rvr)rrr<><00>posrs <20>rr<>z!HTMLExtractor.parse_bogus_comment]sC<00><><00><14>g<EFBFBD>)<29>!<21>V<EFBFBD>4<><03> <0E>"<22>9<EFBFBD><15> <0C><1D><1D>d<EFBFBD>l<EFBFBD>l<EFBFBD>1<EFBFBD>S<EFBFBD>1<>E<EFBFBD><1D>B<><12>
rNz
str | None<6E>_HTMLExtractor__starttag_textc<01><00>|jS)z)Return full source of start tag: `<...>`.)r<>rVs rrczHTMLExtractor.get_starttag_textls<00><00><13>#<23>#<23>#rc<01><><00>|j||dzdk(r&|j|j||dz<00>|dzSd|_|j|<01>}|dkr&|j|j||dz<00>|dzS|j}||||_g}tj
j ||dz<00>}|sJd<05><00>|j<00>}|jd<04>j<00>x|_
}||kr<>tjj ||<06>}|sn<>|jddd<01>\} }
} |
sd} n,| dddcxk(r| ddk(sn| ddd cxk(r| ddk(rnn| dd} | rtj| <0B>} |j| j<00>| f<02>|j<00>}||kr<01><>|||j<00>} | d
vr<>|j<00>\} }d |jvrP| |jj!d <0B>z} t#|j<00>|jj%d <0B>z
}n|t#|j<00>z}|j|||<00>|S| j'd <0C>r|j)||<04>|S||j*vr|j-|<07>|j/||<04>|S) Nr r rrJz#unexpected call to parse_starttag()r<00>'r <00>")<02>><3E>/>rKr<>)rrr<><00>check_for_whole_start_tagr<00>tagfind_tolerantrmr[<00>group<75>lower<65>lasttag<61>attrfind_tolerantrDrErU<00>getpos<6F>countr<00>rfindrsrard<00>set_cdata_moderh)rr<00>endposrrfrm<00>kr]r^<00>attrname<6D>rest<73> attrvaluer[rMrTs rr!zHTMLExtractor.parse_starttagps<><00><00> <0F><<3C><<3C><01>!<21>a<EFBFBD>%<25> <20>E<EFBFBD> )<29> <10> <1C> <1C>T<EFBFBD>\<5C>\<5C>!<21>A<EFBFBD><01>E<EFBFBD>2<> 3<><14>q<EFBFBD>5<EFBFBD>L<EFBFBD>#<23><04><1C><15>/<2F>/<2F><01>2<><06> <11>A<EFBFBD>:<3A> <10> <1C> <1C>T<EFBFBD>\<5C>\<5C>!<21>A<EFBFBD><01>E<EFBFBD>2<> 3<><14>q<EFBFBD>5<EFBFBD>L<EFBFBD><16>,<2C>,<2C><07>&<26>q<EFBFBD><16>0<><04><1C><13><05><1A>+<2B>+<2B>1<>1<>'<27>1<EFBFBD>Q<EFBFBD>3<EFBFBD>?<3F><05><14>;<3B>;<3B>;<3B>u<EFBFBD> <11>I<EFBFBD>I<EFBFBD>K<EFBFBD><01>"<22>[<5B>[<5B><11>^<5E>1<>1<>3<>3<><04> <0C>s<EFBFBD><0F>&<26>j<EFBFBD><1A>,<2C>,<2C>2<>2<>7<EFBFBD>A<EFBFBD>><3E>A<EFBFBD><14><15>()<29><07><07><01>1<EFBFBD>a<EFBFBD>(8<> %<25>H<EFBFBD>d<EFBFBD>I<EFBFBD><17> <20> <09><1A>2<EFBFBD>A<EFBFBD><1D>$<24>8<>)<29>B<EFBFBD>C<EFBFBD>.<2E>8<><1A>2<EFBFBD>A<EFBFBD><1D>#<23>7<><19>2<EFBFBD>3<EFBFBD><1E>7<>%<25>a<EFBFBD><02>O<EFBFBD> <09><18>&<26>/<2F>/<2F> <09>:<3A> <09> <11>L<EFBFBD>L<EFBFBD>(<28>.<2E>.<2E>*<2A>I<EFBFBD>6<> 7<><11><05><05><07>A<EFBFBD><10>&<26>j<EFBFBD><16>a<EFBFBD><06><1F>%<25>%<25>'<27><03> <0E>k<EFBFBD> !<21>!<21>[<5B>[<5B>]<5D>N<EFBFBD>F<EFBFBD>F<EFBFBD><13>t<EFBFBD>+<2B>+<2B>+<2B><1F>$<24>"6<>"6<>"<<3C>"<<3C>T<EFBFBD>"B<>B<><06><1C>T<EFBFBD>1<>1<>2<><1F>/<2F>/<2F>5<>5<>d<EFBFBD>;<3B><<3C><06> <20>#<23>d<EFBFBD>&:<3A>&:<3A>";<3B>;<3B><06> <10> <1C> <1C>W<EFBFBD>Q<EFBFBD>v<EFBFBD>.<2E> /<2F><19>M<EFBFBD> <0E><<3C><<3C><04> <1D> <10> #<23> #<23>C<EFBFBD><15> /<2F> <16> <0A><13>d<EFBFBD>1<>1<>1<><14>#<23>#<23>C<EFBFBD>(<28> <10> <20> <20><13>e<EFBFBD> ,<2C><15> r)r5r)r%r$)r%<00>bool)r]<00>strr%r<>)r]r<>rfzSequence[tuple[str, str]])r]r<>)rqr<>)rqr<>rtr<>)r|r<>r#)T)r)rr$r<>r$r%r$)r%r<>)r&r'r(r)r4r>rB<00>propertyrRrWr_rhrnrrvrar}rr<>r<>r<>r<>r<>r<>r<>r<>r<><00>__annotations__rcr!r*r+s@rr-r-xs<><00><><00><08> <15> <18> <1D><0E>
6<><0E>
6<> [<01> '<27>(<28>*'<27>6'<27>'<27>.^<01>D<01>C<01>G<01>C<01>D<01>J<01><15>
<1B><15> <13>#'<27>O<EFBFBD>Z<EFBFBD>&<26>$<24>6rr-)"r)<00>
__future__r<00>re<72>importlib.util<69> importlib<69>sys<79>typingrr<00>markdownr<00>compiler<65><00>util<69> find_spec<65>spec<65>module_from_specr<00>loader<65> exec_module<6C>modules<65> starttagopen<65>
endtagopen<EFBFBD>piclose<73> entityref<65>
incomplete<EFBFBD>VERBOSE<53>locatestarttagend_tolerant<6E> locatetagendrl<00>
HTMLParserr r-<00>rr<00><module>r<>sd<00><01>(<04> #<23> <09><15>
<EFBFBD>*<2A><10>!<21><1A>r<EFBFBD>z<EFBFBD>z<EFBFBD>(<28>#<23> <0C><11>~<7E>~<7E><1F><1F> <0A>.<2E><04> <16>^<5E>^<5E> ,<2C> ,<2C>T<EFBFBD> 2<>
<EFBFBD><04> <0B> <0B><17><17>
<EFBFBD>#<23>&<26><03> <0B> <0B>L<EFBFBD><19>%<25>"<22>*<2A>*<2A>_<EFBFBD>5<>
<EFBFBD><17>"<22><02>
<EFBFBD>
<EFBFBD>=<3D>1<>
<EFBFBD><15> <20>R<EFBFBD>Z<EFBFBD>Z<EFBFBD><06>'<27>
<EFBFBD><12>!<21>r<EFBFBD>z<EFBFBD>z<EFBFBD>"?<3F>@<40>
<EFBFBD><14>#<23>,<2C>,<2C>
<EFBFBD><15>(2<><02>
<EFBFBD>
<EFBFBD>4<04><08>Z<EFBFBD>Z<EFBFBD>)<11>
<EFBFBD>%<25>%<25>"<22>*<2A>*<2A> &<04><08>Z<EFBFBD>Z<EFBFBD> <11>
<EFBFBD><17>"<1B><02>
<EFBFBD>
<EFBFBD>?<3F>+<2B> <0A>)<29>*<2A>'<27>'<27>)<29>*$<24>
<EFBFBD><15>n<16>J<EFBFBD>)<29>)<29>nr