
    $O                     \   S r SSKrSSKJrJrJrJrJrJr  SSK	J
r
JrJrJrJrJrJrJr  SSKJrJr  SSKJr  SSKJr  SSKJrJrJr  SS	KJr  / S
Qr " S S\5      r  " S S\5      r! " S S\5      r" " S S\"5      r# " S S\5      r$ " S S\5      r% " S S\5      r&\&r' " S S\5      r(g)z
pygments.lexers.html
~~~~~~~~~~~~~~~~~~~~

Lexers for HTML, XML and related markup.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)
RegexLexerExtendedRegexLexerincludebygroupsdefaultusing)TextCommentOperatorKeywordNameStringPunctuation
Whitespace)looks_like_xmlhtml_doctype_matches)JavascriptLexer)
ScalaLexer)CssLexer_indentation_starts_block)	RubyLexer)	HtmlLexerDtdLexerXmlLexer	XsltLexer	HamlLexer
ScamlLexerPugLexerUrlEncodedLexerc                      \ rS rSrSrSrSrS/r/ SQrSS/r	\
R                  \
R                  -  rS	\4S
\R                   4S\R$                  4S\R&                  4S\R$                  4S\R$                  4S\" \\\R,                  \5      S4S\" \\\R,                  \5      S4S\" \\\R,                  5      S4S\" \\\\\R,                  \\5      4/
S\4S\" \R.                  \\5      S4S\R.                  4S\" \\\5      S4/S\" \\\\\R,                  \\5      S4S\" \5      4S\" \5      S4S\" \5      S4/S \" \\\\\R,                  \\5      S4S!\" \5      4S\" \5      S4S\" \5      S4/S"\S4S#\S4S$\S4/S%.rS& rS'rg())r      zc
For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted
by the appropriate lexer.
HTMLzhttps://html.spec.whatwg.org/html)z*.htmlz*.htmz*.xhtml*.xsltz	text/htmlzapplication/xhtml+xmlz[^<&]+&\S*?;\<\!\[CDATA\[.*?\]\]\>
<!--.*?-->	<\?.*?\?><![^>]*>z(<)(\s*)(script)(\s*))script-contenttagz(<)(\s*)(style)(\s*))style-contentr,   z(<)(\s*)([\w:.-]+)r,   z"(<)(\s*)(/)(\s*)([\w:.-]+)(\s*)(>)\s+z([\w:-]+\s*)(=)(\s*)attr[\w:-]+z(/?)(\s*)(>)#popz (<)(\s*)(/)(\s*)(script)(\s*)(>)z.+?(?=<\s*/\s*script\s*>)z.+?\nz.+z(<)(\s*)(/)(\s*)(style)(\s*)(>)z.+?(?=<\s*/\s*style\s*>)".*?"'.*?'[^\s>]+)rootr,   r+   r-   r/   c                 &    [        U 5      (       a  gg )Ng      ?)r   texts    'lib/third_party/pygments/lexers/html.pyanalyse_textHtmlLexer.analyse_texte   s    %% &     N) __name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesre
IGNORECASEDOTALLflagsr	   r   Entityr
   Preproc	Multiliner   r   Tag	Attributer   r   r   r   r   tokensr:   __static_attributes__r=   r<   r9   r   r      s3   
 D
)ChG8I56IMMBII%E t$&8G--.7??+)%k448&( %k448%'
 #k42E;2k4dDHHd!#$#
, TN$ht~~x&N(h{D+FO
 1k4dDHHd!#$*, *5+AB
 u_-v6E/*F3
 0k4dDHHd!##)+ )%/:
 uX/E(OV,
 ff%ff%(
k:Fxr<   r   c                      \ rS rSrSr\R                  \R                  -  rSr	S/r
S/rS/r\" S5      S\" \\\R$                  5      S	4S
\" \\\R$                  5      S4S\" \\\R&                  5      S4S\" \\\R$                  5      S4S\" \\R&                  \\5      4S\" \\\R$                  5      4S\R(                  4S\4/	S\4S\R&                  4S\S4S\4S\R0                  4S\R2                  4/S\4S\S4S\4/\" S5      S\R(                  4S \R$                  4S!\S4/\" S5      S"\R(                  4S#\R(                  4S$\R4                  4S \R6                  4S!\S4/\" S5      S%\R(                  4S \R&                  4S!\S4/\" S5      S&\R(                  4S \R6                  4S!\S4/S'.rS( rS)rg*)+r   j   zF
A lexer for DTDs (Document Type Definitions).

.. versionadded:: 1.5
DTDdtdz*.dtdzapplication/xml-dtdcommonz(<!ELEMENT)(\s+)(\S+)elementz(<!ATTLIST)(\s+)(\S+)attlistz(<!ENTITY)(\s+)(\S+)entityz(<!NOTATION)(\s+)(\S+)notationz(<!\[)([^\[\s]+)(\s*)(\[)z(<!DOCTYPE)(\s+)([^>\s]+)zPUBLIC|SYSTEMz[\[\]>]r.   z(%|&)[^;]*;z<!--commentz	[(|)*,?+]z"[^"]*"z
\'[^\']*\'z[^-]+z-->r1   -zEMPTY|ANY|#PCDATAz[^>\s|()?+*,]+>z?CDATA|IDREFS|IDREF|ID|NMTOKENS|NMTOKEN|ENTITIES|ENTITY|NOTATIONz#REQUIRED|#IMPLIED|#FIXEDzxml:space|xml:langzSYSTEM|PUBLIC|NDATAzSYSTEM|PUBLIC)r5   rW   r\   rX   rY   rZ   r[   c                 L    [        U 5      (       d  SU ;   d  SU ;   d  SU ;   a  gg g )Nz	<!ELEMENTz	<!ATTLISTz<!ENTITY皙?r   r7   s    r9   r:   DtdLexer.analyse_text   s1    d##4;$#6*:L ;M $r<   r=   N)r>   r?   r@   rA   rB   rH   	MULTILINErJ   rK   rC   rE   rF   rG   r   r   r   r	   r   rO   rL   Constantr
   r   r   DoubleSingleReservedrP   rQ   r:   rR   r=   r<   r9   r   r   j   sV    LL299$EDgG	I&'I H%$19>%$19>$$4h@&$1:?)$++tW=? *$13w//0!#
* TNT[[)Wi(8$'FMM*
 gGV$'N
 H!7#3#34)7F#	
 HO)7+;+;<"G$4$45/7F#
 H#W%5%56,7F#	
 Hw//0/7F#	
yBFHr<   r   c            
          \ rS rSrSr\R                  \R                  -  rSr	S/r
/ SQr/ SQrS\4S\4S	\R                   4S
\R$                  4S\R&                  4S\R$                  4S\R$                  4S\R(                  S4S\R(                  4/	S\4S\R*                  S4S\R(                  S4/S\4S\S4S\S4S\S4/S.rS rSrg)r      z5
Generic lexer for XML (eXtensible Markup Language).
XMLxml)z*.xml*.xslz*.rssr%   z*.xsdz*.wsdlz*.wsf)ztext/xmlzapplication/xmlzimage/svg+xmlzapplication/rss+xmlzapplication/atom+xmlz[^<&\s]+z[^<&\S]+r&   r'   r(   r)   r*   z<\s*[\w:.-]+r,   z<\s*/\s*[\w:.-]+\s*>r.   z[\w.:-]+\s*=r/   z/?\s*>r1   r2   r3   r4   )r5   r,   r/   c                 &    [        U 5      (       a  gg )Ng?ra   r7   s    r9   r:   XmlLexer.analyse_text   s    $  r<   r=   N)r>   r?   r@   rA   rB   rH   rc   rJ   rK   rC   rE   rF   rG   r	   r   r   rL   r
   rM   rN   rO   rP   r   rQ   r:   rR   r=   r<   r9   r   r      s	    LL299$EDgG$I@I
 $*%$&8G--.7??+)dhh.$dhh/

 Z dnnf5&)
 Z ff%ff%(	
#F2r<   r   c                   F    \ rS rSrSrSrS/r/ SQrSS/r1 Skr	S	 r
S
 rSrg)r      z+
A lexer for XSLT.

.. versionadded:: 0.10
XSLTxslt)rl   r%   z*.xplzapplication/xsl+xmlzapplication/xslt+xml>#   ifkeycopysortr8   whenparamchooseimportnumberoutputr\   rX   r   messagefallbacktemplatevariable	attribute	otherwise	transform
stylesheetcopy-offor-eachvalue-of
with-paramstrip-spaceapply-importsattribute-setcall-templatedecimal-formatpreserve-spaceapply-templatesnamespace-aliasprocessing-instructionc              #     #    [         R                  X5       Hi  u  p#n[        R                  " SU5      nU[        R
                  L a3  U(       a,  UR                  S5      U R                  ;   a  U[        U4v   Mc  X#U4v   Mk     g 7f)Nz</?xsl:([^>]*)/?>?   )	r   get_tokens_unprocessedrH   matchr   rO   groupEXTRA_KEYWORDSr   )selfr8   indextokenvaluems         r9   r    XsltLexer.get_tokens_unprocessed  sl     #+#B#B4#NE%-u5A Q1771:9L9L+LWe++E)) $Os   BBc                 4    [        U 5      (       a  SU ;   a  gg g )Nz<xslr`   ra   r7   s    r9   r:   XsltLexer.analyse_text  s    $FdN %3r<   r=   N)r>   r?   r@   rA   rB   rC   rE   rF   rG   r   r   r:   rR   r=   r<   r9   r   r      s6     DhG,I&(>?I	N*r<   r   c                      \ rS rSrSrSrS/rS/rS/r\	R                  rSrS\-   S	-   rS
\4S\4/S\R"                  S4S\R$                  S4/S\S4S\-   S-   \" \\" \5      5      S4\" S5      /\" S5      S\R2                  S4S\-   S-   \R4                  S4S\-   S-   \-   S-   \" \\R8                  \5      S4S\-   S-   \" \S5      S4S\-   S-   \" \R<                  S5      S4S\-   S-   \" \\" \5      5      S4S \-   S-   \" \R>                  S!5      S4\" S"5      /	\" S5      S#\-   S$-   \" \5      4S%\-   S&-   \" \5      4S'\S(4S)\S*4S+\4\" S"5      /S,\4S-\-   S.-   \" \ RB                  \" \5      \ RB                  5      4S/\S4/S0\4S1\RD                  S24S3\RD                  4S4\S4/S5\4S6\RF                  S4S7\RF                  RH                  S4S8\RF                  RJ                  S4S9\ S4S:\ S4/\S;-   \4S/\S4/\S;-   \R<                  4S/\S4/S,\R>                  4S-\-   S.-   \" \ RB                  \" \5      \ RB                  5      4S/\S4/S<.r&S=r'g>)?r   i  z)
For Haml markup.

.. versionadded:: 1.3
Hamlhamlz*.hamlztext/x-hamlz(?: \|\n(?=.* \|)|.)z
(?:,\s*\n|)[ \t]*\n[ \t]*	\.[\w:-]+r,   	\#[\w:-]+[&!]?==plain([&!]?[=~])(*\n)r5   css%[\w:-]+!!!*\nr1   (/)(\[*?\])(/html-comment-block-#haml-comment-block(-)(:filter-blockeval-or-plain\{(,\n|)*?\}\[*?\]\(html-attributes	/[ \t]*\n#pop:2[<>]{1,2}(?=[ \t=])([^#\n]|#[^{\n]|(\\\\)*\\#\{)+(#\{)(*?)(\})\nr.   [\w:-]+[ \t]*=html-attribute-valuer0   \)[ \t]+\w+@\w+\$\w+'(\\\\|\\[^\\]|[^'\\\n])*'"(\\\\|\\[^\\]|[^"\\\n])*"+)r5   r   r   contentr,   r   r   r   r   r   r   r=   N)(r>   r?   r@   rA   rB   rC   rE   rF   rG   rH   rI   rK   _dot
_comma_dotr	   r   r   ClassFunctionr   r   r   r   r   r   rO   	Namespacer
   Specialr   rM   	Decoratorr   InterpolrP   VariableInstanceGlobalrQ   rR   r=   r<   r9   r   r     su    DhG
IIMME #D %+J $%
 4::u-4==%0
 g.z)G3k5#34 G
 EN$((E*d]V#T^^V<	)D07:gw8 D[6!=:N#OT\F"M'//2F%HIOQz!G+k5#34 D[6!=#PO$!
( EN$)5+;<T\G#U9%56D+,;1#[1O$
 /5
*foouY'7IKD&!	
 TN0FG(D&!	
 T]]F+dmm,,f5t}}++V4*FF;*FF;!
 CZ!D&!
 CZ)D&!
 /?
*foouY'7IKD&!	
cWFr<   r   c                      \ rS rSrSrSrS/rS/rS/r\	R                  rSrS\4S	\4/S
\R                   S4S\R"                  S4/S\S4S\-   S-   \" \\" \5      5      S4\" S5      /\" S5      S\R0                  S4S\-   S-   \R2                  S4S\-   S-   \-   S-   \" \\R6                  \5      S4S\-   S-   \" \S5      S4S\-   S-   \" \R:                  S5      S4S\-   S-   \" \\\" \5      5      S4S\-   S-   \" \\" \5      5      S4S\-   S-   \" \R>                  S 5      S4\" S!5      /
\" S5      S"\-   S#-   \" \5      4S$\-   S%-   \" \5      4S&\S'4S(\S)4S*\4\" S!5      /S+\4S,\-   S--   \" \ RB                  \" \5      \ RB                  5      4S.\S4/S/\4S0\RD                  S14S2\RD                  4S3\S4/S4\4S5\RF                  S4S6\RF                  RH                  S4S7\RF                  RJ                  S4S8\ S4S9\ S4/\S:-   \4S.\S4/\S:-   \R:                  4S.\S4/S+\R>                  4S,\-   S--   \" \ RB                  \" \5      \ RB                  5      4S.\S4/S;.r&S<r'g=)>r   i  zh
For `Scaml markup <http://scalate.fusesource.org/>`_.  Scaml is Haml for Scala.

.. versionadded:: 1.4
Scamlscamlz*.scamlztext/x-scaml.r   r   r   r,   r   r   r   r   r   r5   r   r   r   r   r1   r   r   r   r   r   scaml-comment-block(-@\s*)(import)?(r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.   r   r   r0   r   r   r   r   r   r   r   r   r5   r   r   r   r,   r   r   r   r   r   r   r=   N)(r>   r?   r@   rA   rB   rC   rE   rF   rG   rH   rI   rK   r   r	   r   r   r   r   r   r   r   r   r   r   rO   r   r
   r   r   rM   r   r   r   r   rP   r   r   r   rQ   rR   r=   r<   r9   r   r     s    DiGI IMME
 D $%
 4::u-4==%0
 g.t#g-k5#45 G
 EN$((E*d]V#T^^V<	)D07:gw8 D[6!=:N#OT\F"M'//2G%IJPR!D(72k7E*,=> t^g%k5#45 D[6!=#PO$'
. EN$)5+<=T\G#U:%67D+,;1#[1O$
 /5
*foouZ'8&//JLD&!	
 TN0FG(D&!	
 T]]F+dmm,,f5t}}++V4*FF;*FF;!
 CZ!D&!
 CZ)D&! 
 /?
*foouZ'8&//JLD&!	
iZFr<   r   c                      \ rS rSrSrSrSS/rSS/rSS	/r\	R                  rS
rS\4S\4/S\R                   S4S\R"                  S4/S\S4S\-   S-   \" \\" \5      5      S4\" S5      /\" S5      S\-   S-   \R0                  S4S\-   S-   \-   S-   \" \\R4                  \5      S4S\-   S-   \" \S5      S4S\-   S-   \" \R8                  S5      S4S\-   S-   \" \\\" \5      5      S4S \-   S-   \" \\" \5      5      S4S!\-   S-   \" \R<                  S"5      S4S#\R>                  S4S$\S%4/
\" S5      S&\-   S'-   \" \5      4S(\-   S)-   \" \5      4S*\S+4S,\S-4S.\4\" S%5      /S/\4S0\-   S1-   \" \ RB                  \" \5      \ RB                  5      4S2\S4/S3\4S4\RD                  S54S#\RD                  4S6\S4/S7\4S8\RF                  S4S9\RF                  RH                  S4S:\RF                  RJ                  S4S;\ S4S<\ S4/\S=-   \4S2\S4/\S=-   \R8                  4S2\S4/S/\R<                  4S0\-   S1-   \" \ RB                  \" \5      \ RB                  5      4S2\S4/S>.r&S?r'g@)Ar   i  z
For Pug markup.
Pug is a variant of Scaml, see:
http://scalate.fusesource.org/documentation/scaml-reference.html

.. versionadded:: 1.4
Pugpugjadez*.pugz*.jadez
text/x-pugztext/x-jader   r   r   r   r,   r   r   r   r   r   r5   r   r   r   r1   r   r   r   r   r   r   r   r   r   r   r0   z\|r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.   r   r   r   r   r   r   r   r   r   r   r   r=   N)(r>   r?   r@   rA   rB   rC   rE   rF   rG   rH   rI   rK   r   r	   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   rM   r   r   rO   r   r   rP   r   r   r   rQ   rR   r=   r<   r9   r   r     s    DfoG(#I}-IMMED $%
 4::u-4==%0
 g.t#g-k5#45@G	
 ENd]V#T^^V<	)D07:gw8 D[6!=:N#OT\F"M'//2G%IJPR!D(72k7E*,=> t^g%k5#45 D[6!=#P5)D/*'
. EN$)5+<=T\G#U:%67D+,;1#[1O$
 /5
*foouZ'8&//JLD&!	
 TN0FG(D&!	
 T]]F+dmm,,f5t}}++V4*FF;*FF;!
 CZ!D&!
 CZ)D&! 
 /?
*foouZ'8&//JLD&!	
gYFr<   r   c                   \    \ rS rSrSrSrS/rS/rSS\" \	R                  \\\5      4/0rSrg)	r    i`  z3
Lexer for urlencoded data

.. versionadded:: 2.16

urlencodedz!application/x-www-form-urlencodedr5   z([^&=]*)(=)([^=&]*)(&?)r=   N)r>   r?   r@   rA   rB   rC   rE   rG   r   r   rO   r   r   r   rQ   rR   r=   r<   r9   r    r    `  sE     DnG45I 	&8V[(YZ
Fr<   r    ))rB   rH   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   pygments.utilr   r   pygments.lexers.javascriptr   pygments.lexers.jvmr   pygments.lexers.cssr   r   r   pygments.lexers.rubyr   __all__r   r   r   r   r   r   r   	JadeLexerr    r=   r<   r9   <module>r      s    
    > 6 * E E *8K
 K\Uz Up)z )X" "Jl" l^m# m`j! jV 	j r<   