
    |ea                        d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZmZmZ dd	lmZmZmZmZmZmZmZmZmZm Z m!Z! dd
l"m#Z#m$Z$ g dZ% G d de      Z& G d de      Z' G d de      Z( G d de      Z) G d de      Z* G d de      Z+ G d de+      Z, G d de      Z- G d de      Z. G d de      Z/ G d  d!e      Z0 G d" d#e      Z1 G d$ d%e      Z2y)&z
    pygments.lexers.markup
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for non-HTML markup languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)XmlLexer)JavascriptLexer)CssLexer)LilyPondLexer)	JsonLexer)	
RegexLexerDelegatingLexerincludebygroupsusingthisdo_insertionsdefaultwords)TextCommentOperatorKeywordNameStringNumberPunctuationGenericOther
Whitespace)get_bool_optClassNotFound)BBCodeLexerMoinWikiLexerRstLexerTexLexer
GroffLexerMozPreprocHashLexerMozPreprocPercentLexerMozPreprocXulLexerMozPreprocJavascriptLexerMozPreprocCssLexerMarkdownLexerTiddlyWiki5LexerWikitextLexerc                       e Zd ZdZdZdgZdgZdefdedfdefgd	efd
 e	e
j                  ee      fd e	ee      fdedfgdZy)r   zR
    A lexer that highlights BBCode(-like) syntax.

    .. versionadded:: 0.6
    BBCodebbcodeztext/x-bbcodez[^[]+z\[/?\w+tagz\[\s+z(\w+)(=)("?[^\s"\]]+"?)z(=)("?[^\s"\]]+"?)\]#pop)rootr.   N)__name__
__module____qualname____doc__namealiases	mimetypesr   r   r   r   	Attributer   r   tokens     8/usr/lib/python3/dist-packages/pygments/lexers/markup.pyr   r      s     DjG !I t%(DM
 TN'dnnh79 #h') GV$

Fr=   r   c                      e Zd ZdZdZddgZg ZdgZej                  ej                  z  Zdefd eee      fd eej"                   ee      ej"                  e      fd	 eej,                  ej.                        d
fdefd eeej,                  e      fd eeej,                  e      fdefd eeee      fdefdefdefdefgdej,                  dfdedfdej0                  fdej0                  fgdZy)r   zI
    For MoinMoin (and Trac) Wiki markup.

    .. versionadded:: 0.7
    zMoinMoin/Trac Wiki markupz	trac-wikimoinztext/x-trac-wikiz^#.*$z(!)(\S+)z^(=+)([^=]+)(=+)(\s*#.+)?$z(\{\{\{)(\n#!.+)?	codeblockz(\'\'\'?|\|\||`|__|~~|\^|,,|::)z^( +)([.*-])( )z^( +)([a-z]{1,5}\.)( )z\[\[\w+.*?\]\]z(\[[^\s\]]+)(\s+[^\]]+?)?(\])z^----+$z[^\n\'\[{!_~^,|]+\n.z\}\}\}r1   z\{\{\{z#pushz[^{}]+)r2   rA   N)r3   r4   r5   r6   r7   r8   	filenamesr9   re	MULTILINE
IGNORECASEflagsr   r   r   r   r   Headingr   r   r   r   Builtin	NamespacePreprocr;   r<   r=   r>   r   r   @   s=    'DF#GI#$ILL2==(E w(7D12*goouT{GOOVLN "8DLL$..#I;W/9$d!CD&t||T(JK(-gvw/1!!4(DM4L'
, f-g&(7??#
-Fr=   r   c                   6   e Zd ZdZdZdZg dZddgZddgZe	j                  Zd	 Zd
ZdZd e	j                  e       e	j                  e      dZd eej&                  eej&                  eej&                  e      fd eej&                  eej&                  e      fd eee eed            fd eee eed            fd eee eed            fd eee eed            fd eee eed            fd eee eed            fdefd eeeej4                  ee eed            fd eeeej8                   eed            fd eeeej8                   eed            fd eeeej8                  eej4                  ee eed            fdej<                  fd eeej>                  e      fd e eed       eed            fd  ee jB                  ee e ee       f e"d      gd!efd"e d#fd$ ee e jF                  e       fd%e fd& eejH                  ejJ                        fd' eejJ                  ejH                        fd(ejL                  fd)ejN                  fd*e fd+ej8                  fd,efd-efgd.e fd"ez   e d/fd0e fgd1Z(d2 Z)d3 Z*y4)5r    an  
    For reStructuredText markup.

    .. versionadded:: 0.7

    Additional options accepted:

    `handlecodeblocks`
        Highlight the contents of ``.. sourcecode:: language``,
        ``.. code:: language`` and ``.. code-block:: language``
        directives with a lexer for the given language (default:
        ``True``).

        .. versionadded:: 0.8
    reStructuredTextz(https://docutils.sourceforge.io/rst.html)restructuredtextrstrestz*.rstz*.restz
text/x-rstztext/prs.fallenstein.rstc           	   #     K   ddl m} |j                  d      t        |j	                  d      f |j                  d      t
        |j	                  d      f |j                  d      t        j                  |j	                  d      f |j                  d      t        |j	                  d      f |j                  d      t
        |j	                  d      f |j                  d      t        |j	                  d      f |j                  d	      t
        |j	                  d	      f d }| j                  r&	  ||j	                  d      j                               }|j	                  d
      }t        |      }||j	                  d      z   |j	                  d      z   |j	                  d      z   }||j                  d
      t        |f y g }|j                  d      }d}|D ]E  }	t        |	      |kD  r0|j                  t        |      dt
        |	d | fgf       ||	|d  z  }A||	z  }G t!        ||j#                  |            E d {    y # t        $ r Y w xY w7 w)Nr   get_lexer_by_name                        	   
      T )pygments.lexersrT   startr   groupr   r   Wordr   handlecodeblocksstripr   lenr   
splitlinesappendr   get_tokens_unprocessed)
selfmatchrT   lexer	indentionindention_sizecodeins	codelineslines
             r>   _handle_sourcecodezRstLexer._handle_sourcecode   s    5 kk!nk5;;q>99kk!ndEKKN22kk!nhmmU[[^;;kk!nk5;;q>99kk!ndEKKN22kk!ngu{{1~55kk!ndEKKN22   )%++a.*>*>*@A KKN	YEKKN*U[[_<u{{2N =++a.&$.. OOD)	 	D4y>)

CID$2G(H'IJK^_--	 !e&B&B4&HIII+ ! * 	Js7   D>I+%I &C.I+I)I+	I&#I+%I&&I+u   '")]}>’”»!?u   ‐‑‒–— z((?=$)|(?=[-/:.,; \n\x00z]))zH^(=+|-+|`+|:+|\.+|\'+|"+|~+|\^+|_+|\*+|\++|#+)([ \t]*\n)(.+)(\n)(\1)(\n)zc^(\S.*)(\n)(={3,}|-{3,}|`{3,}|:{3,}|\.{3,}|\'{3,}|"{3,}|~{3,}|\^{3,}|_{3,}|\*{3,}|\+{3,}|#{3,})(\n)z!^(\s*)([-*+])( .+\n(?:\1  .+\n)*)inlinestatez1^(\s*)([0-9#ivxlcmIVXLCM]+\.)( .+\n(?:\1  .+\n)*)z4^(\s*)(\(?[0-9#ivxlcmIVXLCM]+\))( .+\n(?:\1  .+\n)*)z$^(\s*)([A-Z]+\.)( .+\n(?:\1  .+\n)+)z*^(\s*)(\(?[A-Za-z]+\))( .+\n(?:\1  .+\n)+)z^(\s*)(\|)( .+\n(?:\|  .+\n)*)zl^( *\.\.)(\s*)((?:source)?code(?:-block)?)(::)([ \t]*)([^\n]+)(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\8.*)?\n)+)z,^( *\.\.)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))z'^( *\.\.)(\s*)(_(?:[^:\\]|\\.)+:)(.*?)$z^( *\.\.)(\s*)(\[.+\])(.*?)$z9^( *\.\.)(\s*)(\|.+\|)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))z^ *\.\..*(\n( +.*\n|\n)+)?z+^( *)(:(?:\\\\|\\:|[^:\n])+:(?=\s))([ \t]*)z!^(\S.*(?<!::)\n)((?:(?: +.*)\n)+)z2(::)(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\3.*)?\n)+)\\.z``literalz(`.+?)(<.+?>)(`__?)z`.+?`__?z(`.+?`)(:[a-zA-Z0-9:-]+?:)?z(:[a-zA-Z0-9:-]+?:)(`.+?`)z\*\*.+?\*\*z\*.+?\*z\[.*?\]_z<.+?>z[^\\\n\[*`:]+rC   z[^`]+r1   `)r2   ru   ry   c                 T    t        |dd      | _        t        j                  | fi | y Nre   Tr   re   r   __init__rk   optionss     r>   r~   zRstLexer.__init__  '     ,W6H$ OD,G,r=   c                     | d d dk(  r	| dd dk7  ry| j                  d      }| j                  d|dz         }|dkD  r*|dz  dz   |k(  r| |dz      d	v r| |dz      | |dz
     k(  ry
y y y y )NrV   z..rW   rC   g333333?
rU   z-=g      ?)find)textp1p2s      r>   analyse_textzRstLexer.analyse_text	  s    8tQq	S 0YYt_YYtR!V$GQ
b RT
d"RT
d2a4j( ) # ! r=   N)+r3   r4   r5   r6   r7   urlr8   rD   r9   rE   rF   rH   rt   closersunicode_delimitersescapeend_string_suffixr   r   rI   r   r   r   r   r   r   rd   r   Tagr   rL   Classr   Escaper
   InterpolVariabler:   StrongEmphr;   r~   r   r<   r=   r>   r    r    m   s{    D
4C1G(#I9:ILLE&JR *G?%BII&89%BIIg.0!gootW__GOOT34
<gootW__dCE 2dFE$h$?@B BdFE$h$?@BDdFE$h$?@B 5dFE$h$?@B:dFE$h$?@B /dHeD&ABD?! =k4TD134 8k45X3NOQ -k45X3NOQ Jk44!4t8)DFG +GOO<;dDJJ-/ 2eD15X3NOQ CfmmT664HJHo8
t TNFI&#ffoov68&!+dmmT^^46*dnndmm46W^^,&&!txx t$4L
$ v&&76N
WPFd-	r=   r    c            
          e Zd ZdZdZddgZg dZddgZdefd	e	j                  fd
e	j                  fgdej                  dfdedfdej                  dfdedfdedfdef ed      defgde	j                   f ed      defdefde	j                  fgdedfdedf ed      gdedfdedfde	j                  f ed      gde	j&                  fdef ed      gdZd  Zy!)"r!   z<
    Lexer for the TeX and LaTeX typesetting languages.
    TeXtexlatex)z*.texz*.auxz*.tocz
text/x-texztext/x-latexz%.*?\nz[{}]z[&_^]z\\\[displaymathz\\\(
inlinemathz\$\$z\$z\\([a-zA-Z]+|.)commandz\\$generalz[^\\$%&_^{}]+[0-9]+z[-=!+*/()\[\]]z[^=!+*/()\[\]\\$%&_^{}0-9-]+z\\\)r1   mathz\\\]z\[.*?\]z\*)r   r2   r   r   r   r   c                 8    dD ]  }| d t        |       |k(  s y y )N)z\documentclassz\inputz\documentstylez\relaxT)rg   )r   rb   s     r>   r   zTexLexer.analyse_textH  s)    ! 	EKSZ E)	r=   N)r3   r4   r5   r6   r7   r8   rD   r9   r   r   rJ   r   Backtickr   r
   r   r   r   r   r:   r   r;   r   r<   r=   r>   r!   r!     s^    DgG+I~.I  dll#t||$
 foo}5fl+foo}5FL))4WIt$	
  /I),dll;
 ff%FF#FO
 ff%ff%DLL!FO	
 (GFO
E'FRr=   r!   c            
       H   e Zd ZdZdZg dZg dZddgZd ee	e
      dfd	edfd
e	df ed      g ed      d
e	fde	dfgdefdej                   fdej                   fdej                   fdej                   fde	dfgde	df ed      dej"                  fdefdefde	fgdZd Zy)r"   z
    Lexer for the (g)roff typesetting language, supporting groff
    extensions. Mainly useful for highlighting manpage sources.

    .. versionadded:: 0.6
    Groff)groffnroffman)z*.[1-9]z*.manz*.1pz*.3pmzapplication/x-troffz
text/troffz	(\.)(\w+)requestz\.z[^\\\n]+textlineescapesrB   r1   z	\\"[^\n]*z\\[fn]\wz\\\(.{2}z	\\.\[.*\]rx   z\\\nz	"[^\n"]+"z\d+z\S+r/   )r2   r   r   r   c                     | d d dk7  ry| d d dk(  ry| d d dk(  ry| dd j                         r| d   j                         ry	y y )
NrU   rC   FrW   z.\"TrX   z.TH g?)isalnumisspace)r   s    r>   r   zGroffLexer.analyse_text|  s^    8s?8v8v!947??#4 $5r=   N)r3   r4   r5   r6   r7   r8   rD   r9   r   r   r   r   r   r
   r   r   r   Doubler   r;   r   r<   r=   r>   r"   r"   O  s	    D'G5I&5I 8D'2I>K+$
+J
 I$D&!
 7#&--(&--(6==)V]]#dI&
 D&!I6==)VVTN
-F@r=   r"   c                   6   e Zd ZdZdZegZg Zg Zdej                  dfde
fgd eej                  e      df ed      ej                  d	fg ed
      efd eee      fdefdej$                  fdej(                  fdej*                  fdefded	fdefdefg
dZy)r#   z
    Lexer for Mozilla Preprocessor files (with '#' as the marker).

    Other data is left untouched.

    .. versionadded:: 2.0
    mozhashpreprocz^#expr	exprstart.+z(literal)(.*)#pop:2)defineundefififdefifndefelseelifelifdefelifndefendifexpandfilterunfilterr
   includesubsterrorr1   )!z!=z==z&&z||z(defined)(\()z\)r   z__\w+?__z@\w+?@\w+rB   r/   z\S)r2   r   r   N)r3   r4   r5   r6   r7   r8   rD   r9   r   rL   r   r   r   r   r   r   r   r   Decimalr   r   r   r;   r<   r=   r>   r#   r#     s     DfGII GOO%:;EN

 x>I 4 5 __f	&
 018<x=>K '$--(

#TND&!TNK 
Fr=   r#   c                   L    e Zd ZdZdZegZg Zg Zddej                  dfde
fgiZy)r$   z
    Lexer for Mozilla Preprocessor files (with '%' as the marker).

    Other data is left untouched.

    .. versionadded:: 2.0
    mozpercentpreprocr2   z^%r   r   N)r3   r4   r5   r6   r7   r8   rD   r9   r   rL   r   r;   r<   r=   r>   r$   r$     sF     DfGII 	GOO%:;EN
Fr=   r$   c                   6     e Zd ZdZdZdgZdgZg Z fdZ xZ	S )r%   z
    Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
    `XmlLexer`.

    .. versionadded:: 2.0
    zXUL+mozpreproczxul+mozpreprocz*.xul.inc                 8    t        |   t        t        fi | y N)superr~   r   r#   rk   r   	__class__s     r>   r~   zMozPreprocXulLexer.__init__  s    #6B'Br=   
r3   r4   r5   r6   r7   r8   rD   r9   r~   __classcell__r   s   @r>   r%   r%     s/     D GIIC Cr=   r%   c                   6     e Zd ZdZdZdgZdgZg Z fdZ xZ	S )r&   z
    Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
    `JavascriptLexer`.

    .. versionadded:: 2.0
    zJavascript+mozpreproczjavascript+mozpreprocz*.js.inc                 8    t        |   t        t        fi | y r   )r   r~   r   r#   r   s     r>   r~   z"MozPreprocJavascriptLexer.__init__  s    *=IIr=   r   r   s   @r>   r&   r&     s/     #D&'GIIJ Jr=   r&   c                   6     e Zd ZdZdZdgZdgZg Z fdZ xZ	S )r'   z
    Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
    `CssLexer`.

    .. versionadded:: 2.0
    zCSS+mozpreproczcss+mozpreprocz*.css.inc                 8    t        |   t        t        fi | y r   )r   r~   r   r$   r   s     r>   r~   zMozPreprocCssLexer.__init__  s    #9EWEr=   r   r   s   @r>   r'   r'     s/     D GIIF Fr=   r'   c                      e Zd ZdZdZdZddgZddgZdgZe	j                  Zd	 Zd
 eej                  e      fd eej"                  e      fd eej                  eej                  e      fd eej"                  eej"                  e      fd eeee eed            fd eeee eed            fd eee eed            fd eeej,                        fdej0                  fdef ed      gdefd eeej0                        fd eeej4                        fd eeej4                        fd eeej,                        fd eeej,                        fd eeej6                        fdej:                  fd eeej<                  eeej>                  e      fd eeej<                  eeej@                  e      fd  eeej@                  eej>                        fd!efd"efgd#Z!d$ Z"y%)&r(   z9
    For Markdown markup.

    .. versionadded:: 2.2
    Markdownz-https://daringfireball.net/projects/markdown/markdownmdz*.mdz
*.markdownztext/x-markdownc              #     K   ddl m} |j                  d      t        j                  |j                  d      f |j                  d      t        j                  |j                  d      f |j                  d      R|j                  d      t        |j                  d      f |j                  d      t        |j                  d      f |j                  d      t        |j                  d      f d }| j                  r&	  ||j                  d      j                               }|j                  d	      }||j                  d	      t        |f n#t        g |j                  |            E d {    |j                  d
      t        j                  |j                  d
      f y # t        $ r Y w xY w7 Gw)Nr   rS   initiallang	afterlang
whitespaceextranewlinerp   
terminator)ra   rT   rb   r   r   rc   r   r   re   rf   r   r   rj   rk   rl   rT   rm   rp   s        r>   _handle_codeblockzMarkdownLexer._handle_codeblock  sq    5kk)$foou{{97MMMkk&!6??EKK4GGG;;{#/++l+Z\9RRR++g&ekk'.BBBkk)$j%++i2HHH   )%++f*=*C*C*EF {{6"=++f%vt33 %R)E)Ed)KLLLkk,'%++l:SSS !  Ms7   DG
%F4 /AG;G<8G4	G =G?G  Gz(^#[^#].+)(\n)z(^#{2,6}[^#].+)(\n)z^(.+)(\n)(=+)(\n)z^(.+)(\n)(-+)(\n)z^(\s*)([*-] )(\[[ xX]\])( .+\n)ru   rv   z^(\s*)([*-])(\s)(.+\n)z^(\s*)([0-9]+\.)( .+\n)z^(\s*>\s)(.+\n)z^(\s*```\n[\w\W]*?^\s*```$\n)a&  (?x)
              ^(?P<initial>\s*```)
              (?P<lang>[\w\-]+)
              (?P<afterlang>
                 (?P<whitespace>[^\S\n]+)
                 (?P<extra>.*))?
              (?P<newline>\n)
              (?P<code>(.|\n)*?)
              (?P<terminator>^\s*```$\n)
              rx   z([^`]?)(`[^`\n]+`)z ([^\*]?)(\*\*[^* \n][^*\n]*\*\*)z([^_]?)(__[^_ \n][^_\n]*__)z([^\*]?)(\*[^* \n][^*\n]*\*)z([^_]?)(_[^_ \n][^_\n]*_)z([^~]?)(~~[^~ \n][^~\n]*~~)z[@#][\w/:]+z (!?\[)([^]]+)(\])(\()([^)]+)(\))z(\[)([^]]+)(\])(\[)([^]]*)(\])z^(\s*\[)([^]]*)(\]:\s*)(.+)z[^\\\s]+rC   )r2   ru   c                 T    t        |dd      | _        t        j                  | fi | y r|   r}   r   s     r>   r~   zMarkdownLexer.__init__i  r   r=   N)#r3   r4   r5   r6   r7   r   r8   rD   r9   rE   rF   rH   r   r   r   rI   r   
Subheadingr   r   r   r   r   r   r   r
   r   Deletedr   Entityr   r:   Labelr;   r~   r<   r=   r>   r(   r(     sV   
 D
9C4 G&I"#ILLET< $ ?@#Xg.@.@$%GH!8GOOT7??TX#YZ!8G,>,>gFXFXZ^#_`/Z'5X3NOQ 'Z*eD6QRT (Z%H*EFH  '7<<!@A-v?	 
  HK&
R TN"HT6??$CD 1(42PQ+XdGNN-KL,htW\\.JK)8D',,+GH+XdGOO-LMT[[)0dDHHdD$..$GI
 /dDHHdD$**dCE+dDJJdnn=? $4LA!
QJFX-r=   r(   c                      e Zd ZdZdZdZdgZdgZdgZe	j                  Zd Zd Zd	 eeeej$                        fd
 eej$                  e      fd eej&                  e      fd eeee eed            fd eeee      fd eej.                        fd eej0                        fd eej4                        fd eej.                        fd eeee      fdefdef ed       ed      g eddd      efgdefdej<                  fd eeej0                  e      fd eeej0                        fd  eeej0                        fd! eeej.                        fd" eeej.                  e      fd# eeej>                  e      fd$ej4                  fd%ej4                  fd&ej4                  fd'ej4                  fd(ej4                  fd)ej@                  fd*ejB                  fd+ eeej4                  e      fd, eeej4                  eejD                  e      fd- eeej4                  e      fd. eejD                        fd/efd0efgd1Z#d2 Z$y3)4r)   z<
    For TiddlyWiki5 markup.

    .. versionadded:: 2.7
    tiddlerz$https://tiddlywiki.com/#TiddlerFilestidz*.tidztext/vnd.tiddlywikic              #     K   ddl m} |j                  d      t        |j	                  d      f |j                  d      t        |j	                  d      f |j                  d      t
        |j	                  d      f d}| j                  r&	  ||j	                  d      j                               }|j	                  d      }||j                  d      t        |f yt        g |j                  |            E d{    |j                  d      t        |j	                  d      f y# t        $ r Y w xY w7 =w)	zV
        match args: 1:backticks, 2:lang_name, 3:newline, 4:code, 5:backticks
        r   rS   rU   rV   rW   NrX   rY   )ra   rT   rb   r   rc   r   re   rf   r   r   rj   r   s        r>   r   z"TiddlyWiki5Lexer._handle_codeblock{  s     	6 kk!nfekk!n44kk!nfekk!n44kk!ndekk!n44   )%++a.*>*>*@A {{1~ =++a.&$.. U%A%A$%GHHHkk!nfekk!n44 !  	Is7   BE%D3 8AEE.E3	D?<E>D??Ec              #      K   ddl m} |j                  d      t        |j	                  d      f |j                  d      t        |j	                  d      f d}| j
                  r		  |d      }|j	                  d      }||j                  d      t        |f yt        g |j                  |            E d{    |j                  d      t        |j	                  d      f y# t        $ r Y w xY w7 =w)	zP
        match args: 1:style tag 2:newline, 3:code, 4:closing style tag
        r   rS   rU   rV   NcssrW   rX   )	ra   rT   rb   r   rc   re   r   r   rj   r   s        r>   _handle_cssblockz!TiddlyWiki5Lexer._handle_cssblock  s      	6 kk!nfekk!n44kk!nfekk!n44  )%0 {{1~ =++a.&$.. U%A%A$%GHHHkk!nfekk!n44 !  	Is7   A'C>*C- 2AC>>C<?.C>-	C96C>8C99C>z^(title)(:\s)(.+\n)z^(!)([^!].+\n)z^(!{2,6})(.+\n)z^(\s*)([*#>]+)(\s*)(.+\n)ru   rv   z^(<<<.*\n)([\w\W]*?)(^<<<.*$)z^(\|.*?\|h)$z^(\|.*?\|[cf])$z^(\|.*?\|k)$z^(;.*)$z^(```\n)([\w\W]*?)(^```$)z ^(```)(\w+)(\n)([\w\W]*?)(^```$)z$^(<style>)(\n)([\w\W]*?)(^</style>$)keywords)z\definez\endcaptioncreatedmodifiedtagstitletype^z\b)prefixsuffixrx   z\d{17}z(\s)(//[^/]+//)((?=\W|\n))z(\s)(\^\^[^\^]+\^\^)z(\s)(,,[^,]+,,)z(\s)(__[^_]+__)z(\s)(''[^']+'')((?=\W|\n))z(\s)(~~[^~]+~~)((?=\W|\n))z	<<[^>]+>>z\$\$[^$]+\$\$z\$\([^)]+\)\$z^@@.*$z	</?[^>]+>z`[^`]+`&\S*?;z(\[{2})([^]\|]+)(\]{2})z$(\[{2})([^]\|]+)(\|)([^]\|]+)(\]{2})z(\{{2})([^}]+)(\}{2})z(\b.?.?tps?://[^\s"]+)z[\w]+rC   )r2   r   ru   c                 T    t        |dd      | _        t        j                  | fi | y r|   r}   r   s     r>   r~   zTiddlyWiki5Lexer.__init__  r   r=   N)%r3   r4   r5   r6   r7   r   r8   rD   r9   rE   rF   rH   r   r   r   r   r   r   rI   r   r   r   r   r   r   r   r   r
   r   r   Integerr   r   Regexr:   r;   r~   r<   r=   r>   r)   r)   n  s   
 D
0CgG	I&'ILLE5:5< $XgtW__%MN$ ?@'*<*<d!CD *dGT5X+FGI .xf/MNhw~~67',,!78htxx01'..12)8FD&+IJ02CD46FGJH9
>  !)-e= 
 TN'*dGLL$/1 %htW\\&BC$!=>$!?@*dGNND13 +dGOOT24 488$txx(txx(!488$)%'$$)GH4T488T4>>4@B &xdhh'EF&(@A t4LY-
KSFj-r=   r)   c                      e Zd ZdZdZdZddgZg ZdgZe	j                  Zd Zd Zd	 Zd
 Zd Zd ZdZdZdZdZh dZh dZh dZedhz
  Zh dZh dZh dZh dZh dZh dZh dZ i dd e!e"e#e"e$      dfd e!e%jL                  e%jL                  e%jL                  e"      fd  e!e%jN                  e"      f e(ed!"      e)jT                  jV                  f e(e      e)jT                  jV                  fd#jY                  d$j[                  e      ee      e)j\                  fd%jY                  e      e)jT                  jV                  fd&jY                  ed'e d()      e)jT                  jV                  f e/d*       e/d+       e/d,      gdd- e!e$e"      d.fd/ e!e$e)j\                        fd0jY                  e      e)j`                  fgd*d1e#d2fd3e#fd4e#fgd+g d5e#f e/d6      d7 e!e%jb                  e%jd                        d8fd9e%jf                  d:fd;e%jb                  d<f e/d=      d>ed?e d@dA e!e$e)jh                  e$ e5e6dBgC      e$e)j\                        dDfdEd$j[                  e      dFejo                  dGdH      dIedJe d@dK	 e!e$e)jh                  e$ e5e6dBgC      e$e)j\                  e$      fdEd$j[                  e      dLejo                  dGdH      dIedJe d@dM	 e!e$e)jh                  e$ e5e6dBgC      e$e)j\                  e$      dNfdOjY                  d$j[                  e      ee       e!e$e)j\                  e"      dPfdQ e!e#e"e$ e5e6ddRgC            dSfdTjY                  d$j[                  e             e!e$e)j`                        dUfdVjY                  d$j[                  e             e!e$e)j`                  e"e$      fdW e!e$e)j`                        dXfdY e!e$e)j`                        dZfd[ e!e$e)j`                        d\fd] e!e$e)j`                        d^fd_ e!e$e)j`                        d`fda e!e$e)j`                        dbfdc e!e$e)j`                        ddfde e!e$e)j`                        dffdg e!e$e)j`                        dhfdi e!e$e)j`                        djfdi e!e$e)j`                        dkfdl e!e$e)j`                        dmfdn e!e$e)j`                        dofdp e!e$e)j`                        dqfdr e!e$e)j`                        dsfdt e!e$e)j`                  e"e$      fdu e!e$e)j`                  e      fdv e!e$e)j`                  e" e5e6ddRgC      e$      fdw e!e$e)j`                  e"e$      fdx e!e$e)j`                  e      fdy e!e$e)j`                  e" e5e6ddRgC      e$      fdz e!e$e)j`                  e"e$      fd{ e!e$e)j`                  e      fd| e!e$e)j`                  e" e5e6ddRgC      e$      fdTjY                  d$j[                  e             e!e$e)j`                        dUfdVjY                  d$j[                  e             e!e$e)j`                  e"e$      fd}jY                  d$j[                  e      ~       e!e$e#e$ e5e6ddgC      e8e)j\                  e$      dfd e!e$ e5e6ddgC      e$      dfdjY                  d$j[                  e      ~       e!e$e)j\                  e$      dfdB e/d=      de)j`                  fde)j`                  fgdNde$d.fde$d.f e/d+       e/d,      gdDde$d.fd e!e$e)jr                  e8      fde$f e/d+       e/d,      gdde$d.fde:d.fgd< e/d      d7 e!e%jb                  e%jf                        dfd9e%jd                  dfd;e%jb                  d.f e/d+       e/d      gd: e/d      d e!e%jf                  e%jb                        dfd9e%jf                  d.fd;e%jd                  df e/d+       e/d      gd e/d      d7 e!e%jd                  e%jf                        d.fd9e%jd                  dfd;e%jd                  df e/d+       e/d      gd8 e/d      d e!e%jd                  e%jb                        d.fd9e%jd                  dfd;e%jd                  df e/d+       e/d      gdde"fde$fg ee#      ddjY                  d$j[                  e      ~       e!e$ e5e6ddgC      e8e)j\                  e$      fde$d.f e/d+       e/d,      gdde$d.f e/d+       e/d,      gd=de;jx                  fd e!e$e)jz                        dfdd$j[                  e      z   e!e$e"e)jT                  e"e$      fdd$j[                  e      z   e!e$e"e)jT                  e"e$      fde$dfd e!e$e)j`                  e$e>e$      fde$d.fd e!e$e)j`                        dUfd e!e$e)j`                  e"e$      fg	dde$d.fde$f e/d+       e/d,      gi dde;jx                  fde"fdedd$j[                  e      d e!e)jT                  e$      dfdd$j[                  e       z   e!e)jT                  e$      dfdez   e!e)jh                  e$      df e?d      gdd e!e:e$      dfde$d.fde:d.f e/d=      g ee)j`                        dde$d.fde$fd e!e)j\                  e8      f e/d+       e/d,      gdSd e!e"e$      d.fd e!e"e$ e5e6ddRgC            fd e!e"e$ e5e6ddRgC      e$e%jN                        fd e!e$ e5e6ddRgC      e$      fd e!e$ e5e6ddRgC      e$      df e/d*       e/d+       e/d,      gdde:d.fd e!e$ e5e6ddRgC      e$      fg ee%jL                        d6de)j                  fgd2de:d.f e/d+      de#d.f e/d,      gdPde$d.f e/d+       e/d,      gd e/d6       e/d,      gdR e/d=      de"fd e!e8e"e>j                        dfd e!e8e"e>j                        dfd e!e8e"      dfde)jr                  fgdde"d.f e/d=      g ee>      dde>j                  d.f e/d=      g ee>j                        dde>j                  d.f e/d=      g ee>j                        dUde$d.f e/dɫ      gdde$dfde$d.f e/dɫ      gd e/d=      de"fd e!e8e"e>j                        dfd e!e8e"e>j                        dfd e!e8e"      dfde)jr                  fgdde"d.fde$df e/d=      g ee>      i dde>j                  d.fde$df e/d=      g ee>j                        dde>j                  d.fde$df e/d=      g ee>j                        d edӫ      d edի      d ed׫      d ed٫      d ed۫      d edݫ      d ed߫      d ed      d ed      d ed      d ed      d ed      d edeC      d edeC      d edeC       edeD       ee%jb                         ee%jf                         ee%jd                         ee:      dZEy)r*   a,  
    For MediaWiki Wikitext.

    Parsing Wikitext is tricky, and results vary between different MediaWiki
    installations, so we only highlight common syntaxes (built-in or from
    popular extensions), and also assume templates produce no unbalanced
    syntaxes.

    .. versionadded:: 2.15
    Wikitextz'https://www.mediawiki.org/wiki/Wikitextwikitext	mediawikiztext/x-wikic                     dj                  |       t        t        t        j                  t
        t              dft        d      t        d      gS )N(?i)(</)({})(\s*)(>)r1   entityr   )formatr   r   r   r   r   r
   tag_names    r>   nowiki_tag_ruleszWikitextLexer.nowiki_tag_rules  sE    $++H5xXXz;80179HFO	
 	
r=   c                     dj                  |       t        t        t        t        j
                  t        t              dfgS )Nz(?si)(.*?)(</)({})(\s*)(>)r1   )r  r   r   r   r   r   r   r  s    r>   plaintext_tag_rulesz!WikitextLexer.plaintext_tag_rules'  s9    *11(;Xd$((J>=>DF
 	
r=   c                     dj                  |       t        t        t        j                  t
        t              dfdj                  |       t        |      fgS )Nr  r1   z(?si).+?(?=</{}\s*>))r  r   r   r   r   r   r   )r  rm   s     r>   delegate_tag_rulesz WikitextLexer.delegate_tag_rules-  sM    $++H5xXXz;80179$++H5uU|D
 	
r=   c                     d| fd| fd| fgS )Nr   z[^\S\n]+(?s).r<   )tokens    r>   
text_ruleszWikitextLexer.text_rules4  s#    UO% u
 	
r=   c              #   l  K   ddl m} |j                         }d}d}	 |j                  d|      }||dz
  | dk7  rn|dz   }$|dk(  r| j	                  |dd	g
      E d {    y |d | }| j	                  |dd	g
      E d {    |j                  d      |z   t        df d }||dz   d  }	t        j                  d|      }
t        |
      dk\  r|
d   d   }	  ||      }| |j                         |z   dz   t        |	f y |j	                  |	      E d {    y 7 7 # t        $ r Y Kw xY w7 w)Nr   rS   >rV   --rU   r   r2   attrstackrW   \blang=("|\'|)(\w+)(\1))ra   rT   rc   r   rj   rb   r   rE   findallrg   r   r   )rk   rl   ctxrT   attr_contentrb   indexr  rm   content
lang_matchr   s               r>   handle_syntaxhighlightz$WikitextLexer.handle_syntaxhighlight;  ss    5{{} %%c51EE!GE*d2AIE  B;22<PVGW2XXXFU#..tFF;K.LLLkk!nu$k366uQwx(ZZ :DA
z?ab>!$D)$/ =++-%'!+T7::33G<<<+ Y 	M !  =sU   AD4D "D4D!AD4D# #6D4D2D4!D4#	D/,D4.D//D4c              #   F  K   |j                         }d}d}	 |j                  d|      }||dz
  | dk7  rn|dz   }$|dk(  r| j                  |ddg	      E d {    y |d | }||dz   d  }| j                  |ddg	      E d {    |j                  d
      |z   t        df t        j                  d|      }t        |      dk\  r|d   d   nd}	|	dk(  r"t               j                  |      E d {    y |j                         |z   dz   t        |f y 7 7 7 )w)Nr   r  rV   r  rU   r   r2   r  r  rW   r  lilypond)
rc   r   rj   rb   r   rE   r  rg   r   r   )
rk   rl   r  r  rb   r  r  r  r  r   s
             r>   handle_scorezWikitextLexer.handle_scorea  sP    {{} %%c51EE!GE*d2AIE  B;22<PVGW2XXXFU#uQwx(..tFF;K.LLLkk!nu$k366ZZ :DA
$'
Oq$8z"~a j:$==gFFF ++-%'!+T7:: Y 	M Gs7   AD!D*D!DA0D!5D6&D!D!D!z0 %!"$&\'()*,\-./0-9:;=?@A-Z\\\^_`~+\u0080-\uFFFFzT(?:\t|&nbsp;|&\#0*160;|&\#[Xx]0*[Aa]0;|[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000])zb(?:[0-9.]+|\[[0-9a-f:.]+\]|[^\x00-\x20"<>\[\]\x7F\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFFFD])zF[^\x00-\x20"<>\[\]\x7F\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFFFD]>	   __TOC____NOCC____NOTC__	__NOTOC____FORCETOC____NOGALLERY____NOEDITSECTION____NOTITLECONVERT____NOCONTENTCONVERT__>
   	__INDEX____NOINDEX____DISAMBIG____NOGLOBAL____HIDDENCAT____NEWSECTIONLINK____STATICREDIRECT____NONEWSECTIONLINK____EXPECTUNUSEDCATEGORY____EXPECTED_UNCONNECTED_PAGE__>   geo:sip:sms:tel:urn:news:sips:xmpp:ftp://git://irc://mms://ssh://svn://ftps://http://ircs://magnet:mailto:nntp://sftp://bitcoin:https://redis://	gopher://	telnet://worldwind:////rP  ><   bipqsubrdddldtemh1h2h3h4h5h6hrliolrbrprttdthtrttulbdibdobigdeldfndivrq   kbdrtcsubsupvarwbrabbrciterp   datafontlinkmarkmetarubysampspantimesmalltablecenterstrikestrongr   
blockquote>    ceprerefrsschemr   poemtvargraphhieroscorenowikigallerymaplinksectionimagemapinputboxmapframetimeline	languages	noinclude	translate
charinsert
referencesincludeonlylangconvertonlyincludecategorytreetemplatedatatemplatestylesdynamicpagelistsyntaxhighlight>5   kk-cnkk-kzkk-trsr-ecsr-elzh-cnzh-hkzh-mozh-myzh-sgzh-twkk-arabkk-cyrlkk-latnku-arabku-latnsh-cyrlsh-latntg-latnuz-cyrluz-latnzh-hanszh-hantban-balicrh-cyrlcrh-latngan-hansgan-hantike-cansike-latnshi-latnshi-tfngtly-cyrlwuu-hanswuu-hant	ban-x-pkuban-x-dharmaen-x-piglatinban-x-palmleafeniukkkusrtguzzhbancrhganshitlywuu>   INTPAGEIDSERVER	STYLEPATH
SCRIPTPATH
SERVERNAMEARTICLEPATH>Q   DIRMARKLOCALDAYLOCALDOWPAGENAMESITENAME	LOCALDAY2	LOCALHOUR	LOCALTIME	LOCALWEEK	LOCALYEAR	NAMESPACE	PAGENAMEE	TALKSPACE
CURRENTDAY
CURRENTDOW
LOCALMONTH
NAMESPACEE
REVISIONID
TALKSPACEECONTENTLANGCURRENTDAY2CURRENTHOURCURRENTTIMECURRENTWEEKCURRENTYEARLOCALMONTH1LOCALMONTH2REVISIONDAYSUBPAGENAMEARTICLESPACEBASEPAGENAMECURRENTMONTHFULLPAGENAMELOCALDAYNAMEPAGELANGUAGEREVISIONDAY2REVISIONSIZEREVISIONUSERREVISIONYEARROOTPAGENAMESUBJECTSPACESUBPAGENAMEETALKPAGENAMEARTICLESPACEEBASEPAGENAMEECURRENTMONTH1CURRENTMONTH2DIRECTIONMARKFULLPAGENAMEENUMBEROFEDITSNUMBEROFFILESNUMBEROFPAGESNUMBEROFUSERSREVISIONMONTHROOTPAGENAMEESUBJECTSPACEETALKPAGENAMEECURRENTDAYNAMECURRENTVERSIONLOCALMONTHNAMELOCALTIMESTAMPNUMBEROFADMINSREVISIONMONTH1ARTICLEPAGENAMECONTENTLANGUAGENAMESPACENUMBERSUBJECTPAGENAMEARTICLEPAGENAMEECASCADINGSOURCESCURRENTMONTHNAMECURRENTTIMESTAMPLOCALMONTHABBREVNUMBEROFARTICLESSUBJECTPAGENAMEELOCALMONTHNAMEGENREVISIONTIMESTAMPCURRENTMONTHABBREVCURRENTMONTHNAMEGENNUMBEROFACTIVEUSERSr   =>   
\#LANGUAGELCNSUCr  NSEBIDIGENDERr  PLURALFULLURLGRAMMARLCFIRSTPADLEFTUCFIRSTFILEPATHFULLURLELOCALURLPADRIGHT	FORMATNUM	LOCALURLE	URLENCODEANCHORENCODECANONICALURLCANONICALURLE>7   r  r  PAGESIZEr  r  	PAGESINNSr  r  
NUMINGROUP
PAGESINCATr  r  DEFAULTSORTr   r  r  r  DISPLAYTITLEr  r  r
  r  r  r  r  r  r  r  r  NUMBERINGROUPr  r  r  r  r  r  r  r  DEFAULTSORTKEYr"  r#  r$  r&  PAGESINCATEGORYPROTECTIONLEVELr'  r(  r)  r-  PAGESINNAMESPACEPROTECTIONEXPIRYr.  r0  DEFAULTCATEGORYSORTr3  r2   z~(?xi)
                (\A\s*?)(\#REDIRECT:?) # may contain a colon
                (\s+)(\[\[) (?=[^\]\n]* \]\]$)
            zredirect-innerz^(={2,6})(.+?)(\1)(\s*$\n)z^(=.+?=)(\s*$\n)z(?i))r   z(?i)\b(?:{}){}{}*|z\b(?:RFC|PMID){}+[0-9]+\bz(?x)
                \bISBN {nbsp_char}
                (?: 97[89] {nbsp_dash}? )?
                (?: [0-9] {nbsp_dash}? ){{9}} # escape format()
                [0-9Xx]\b
            z(?:-|))	nbsp_char	nbsp_dashlistru   r   z(\]\])(\s*?\n)r1   z(\#)([^#]*?)z	(?i)[{}]+z^;rZ  z^[#:*]+z^-{4,}z~{3,5}r  z('')(''')(?!')inline-italic-boldz'''(?!')inline-boldz''(?!')inline-italicreplaceablez\(?xi)
                (\[\[)
                    (File|Image) (:)
                    ((?: [zO] | \{{2,3}[^{}]*?\}{2,3} | <!--[\s\S]*?--> )*)
                    (?: (\#) ([#z]*?) )?
                zwikilink-namerv   zmedialink-innerz(?xi)
                (\[\[)(?!z6) # Should not contain URLs
                    (?: ([/r`   z$]*) (:))?
                    ((?: [zP] | \{{2,3}[^{}]*?\}{2,3} | <!--[\s\S]*?--> )*?)
                    (?: (\#) ([z/]*?) )?
                (\]\])
                z)
                    (?: ([z1]*?) )?
                    (\|)
                zwikilink-innerzi(?xi)
                (\[)
                    ((?:{}) {} {}*)
                    (\s*)
                zextlink-innerz^(:*)(\s*?)(\{\|)([^\n]*)$r  r  z(?i)(<)({})\bztag-inner-ordinaryz(?i)(</)({})\b(\s*)(>)z(?i)(<)(nowiki)\b)
tag-nowiki	tag-innerz(?i)(<)(pre)\b)tag-prere  z(?i)(<)(categorytree)\b)tag-categorytreere  z(?i)(<)(hiero)\b)	tag-hierore  z(?i)(<)(math)\b)tag-mathre  z(?i)(<)(chem)\b)tag-chemre  z(?i)(<)(ce)\b)tag-cere  z(?i)(<)(charinsert)\b)tag-charinsertre  z(?i)(<)(templatedata)\b)tag-templatedatare  z(?i)(<)(gallery)\b)tag-galleryre  )	tag-graphre  z(?i)(<)(dynamicpagelist)\b)tag-dynamicpagelistre  z(?i)(<)(inputbox)\b)tag-inputboxre  z(?i)(<)(rss)\b)tag-rssre  z(?i)(<)(imagemap)\b)tag-imagemapre  z#(?i)(</)(syntaxhighlight)\b(\s*)(>)z9(?si)(<)(syntaxhighlight)\b([^>]*?(?<!/)>.*?)(?=</\2\s*>)z?(?i)(<)(syntaxhighlight)\b(\s*?)((?:[^>]|-->)*?)(/\s*?(?<!--)>)z(?i)(</)(source)\b(\s*)(>)z0(?si)(<)(source)\b([^>]*?(?<!/)>.*?)(?=</\2\s*>)z6(?i)(<)(source)\b(\s*?)((?:[^>]|-->)*?)(/\s*?(?<!--)>)z(?i)(</)(score)\b(\s*)(>)z/(?si)(<)(score)\b([^>]*?(?<!/)>.*?)(?=</\2\s*>)z5(?i)(<)(score)\b(\s*?)((?:[^>]|-->)*?)(/\s*?(?<!--)>)z(?xi)
                (-\{{) # Use {{ to escape format()
                    ([^|]) (\|)
                    (?: 
                        (?: ([^;]*?) (=>))?
                        (\s* (?:{variants}) \s*) (:)
                    )?
                )variantszlc-rawzlc-innerzS(?xi)
                (-\{)
                    ([a-z\s;-]*?) (\|)
                zlc-flagz(?xi)
                (-\{{) (?!\{{) # Use {{ to escape format()
                    (?: (\s* (?:{variants}) \s*) (:))?
                z[^{<]+r  z(?=\[\[)z\]\]z(\|)([^\n=|]*)(=)z\|zquote-commonz(?=\]\]|\{\{|\}\})rB   )r1   r_  )r1   r^  text-italicz(''')('')(?!'))r1   r`  )r1   inline-bold-italic	text-boldrv  text-bold-italicr/   ;z{(?xi)
                (;)
                (?: ([^;]*?) (=>))?
                (\s* (?:{variants}) \s*) (:)
                z	;?\s*?\}-z\}-z<!--[\s\S]*?(?:-->|\Z)zk(?x)
                (\{{3})
                    ([^|]*?)
                    (?=\}{3}|\|)
                zparameter-innerz(?i)(\{\{)(\s*)(%s)(\s*)(\}\})z(\{\{)(\s*)(%s)(\s*)(\}\})z\{\{ztemplate-begin-spacez(?i)(<)(tvar)\b(\|)([^>]*?)(>)z</>z(?i)(<)(tvar)\bz(?i)(</)(tvar)\b(\s*)(>)z\}{3}z(?i)(\#[z]*?|z)(:))r1   template-innerz(%s)(:)z(?i)([%s]*?)(:))r1   template-namer{  z
(\s*?)(\|)z\}\}rz  z(?x)
                    (?<=\|)
                    ( (?: (?! \{\{ | \}\} )[^=\|<])*? ) # Exclude templates and tags
                    (=)
                z^([ \t\n\r\0\x0B]*?)(\|\})z^([ \t\n\r\0\x0B]*?)(\|-+)(.*)$z(?x)
                ^([ \t\n\r\0\x0B]*?)(\|\+)
                # Exclude links, template and tags
                (?: ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )(\|) )?
                (.*?)$
                z(?x)
                ( ^(?:[ \t\n\r\0\x0B]*?)\| | \|\| )
                (?: ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )(\|)(?!\|) )?
                z(?x)
                ( ^(?:[ \t\n\r\0\x0B]*?)!  )
                (?: ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )(\|)(?!\|) )?
                ztable-headerz(?x)
                (!!|\|\|)
                (?:
                    ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )
                    (\|)(?!\|)
                )?
                r   :r0   z
nowiki-ishz(=)(\s*)(")z
attr-val-2z(=)(\s*)(')z
attr-val-1z(=)(\s*)z
attr-val-0z[\w:-]+z\s'"z/?\s*>ztag-attrre  z/\s*>r   z\s*>ztag-attr-val-2ztag-attr-val-1ztag-attr-val-0z/?>rd  r  rf  r  rg  r  rp  r  rh  r  rq  r  rs  r  rl  r  ztag-timeliner  rn  r  ro  r  rr  r  ri  r   rj  r  rk  r  r  )rm  ru  rw  rx  r   N)Fr3   r4   r5   r6   r7   r   r8   rD   r9   rE   rF   rH   r  r
  r  r  r  r!  
title_charr[  link_addresslink_char_classdouble_slashes_idouble_slashes	protocolsnon_relative_protocols	html_tagsparser_tagsvariant_langsmagic_vars_i
magic_varsparser_functions_iparser_functionsr   r   r   r   r   r   rI   r   r   FunctionMagicr  joinr   r
   r   r   
EmphStrongr   rK   r   r   replacer   r:   r   r   	Multiliner   r   r   r   r   Singler!   r   r;   r<   r=   r>   r*   r*     s   	 D
3C;'GIILLE



$=L;> EJgIxL_ON
I '$/IKM@LJ"d j':{CEU	W +g(('*<*<g>P>PR\]_ !gooz24 #G4dmm6I6IJ>"DMM$7$78!(())<?,-1ZZ9 *00;]]  "
 i[6JKT]]M`M`b FOHFO=
dB 	j A6Jh{DJJ?@  ,dhh7
CdL 	GT"! 
Md\ 	 q
 q
 H	q
 !!"68q
 '..-8q
 7q
 M"q
& "j\#35 dnn{tO+<={DJJX!
q
@ xx	*J,>,>sB,G!j\#35 dnn{tO+<={DJJXce3q
X xx	*J,>,>sB,G!j\#35 dnn{tO+<={DJJXce Kq
h F388I.oNdjj*=gq
z +HWeD8H&I-KLSU{q
@ $$SXXi%89k488,.BDAq
D '--chhy.ABk488ZEGEq
J "8KXX$35Kq
P XX!02Qq
V (TXX*'(IKWq
\ !(;XX#24]q
b  +XX"13cq
h  +XX"13iq
n xXX /1oq
t &xTXX('(GIuq
z (TXX*'(IK{q
@ #HTXX%'(DFAq
F #HTXX%'(BDGq
L +HTXX-'(LNMq
R $XTXX&'(EGSq
X TXX!'(@BYq
^ $XTXX&'(EG_q
d 4k488ZEGeq
h Jk488-CDFiq
n PQYTXXz5ffEU3VXcRe foq
t +k488ZEGuq
x Ak488-CDFyq
~ GTXXz5ffEU3VXcIe fq
D *k488ZEGEq
H @k488\:<Iq
N FxTXXz5ffEU3VXcHe fOq
T $$SXXk%:;k488,.BDUq
X '--chh{.CDk488ZEGYq
` FCHH]$;F<g{tFH+=>!4::{< _q
~ tFI+>?$& 	}q
T FCHH]$;F<djj+>Sq
]d@ 	M"!txx 
AdJ 	+v.k6*HFO
KdX 	k6*!k4>>8<>K HFO
Ydh 	"K8D&!
idr 	N#^^!57',,.LMv.HM"
sdD 	N#!./HJ'..&1++-KLHK 
EdV 	N#););^^!$&',,.GH++-DEH&'
Wdh 	N#""GLL!239;',,.GH++-DEH&'
idz 	Z ;
  
{dD	 	 FCHH]$;F<eD8J&K!4::{< ;/HFO
E	d`	 	[&)HFO
a	dj	 	&(9(9:
 dmm4! /,1GGk:t}}j+VX*SXXj-AAj$--[Y[ k#9:.XX{FK19 :[&)+txx!@BVW(k488ZEG5
k	dd
 	{F+K HFO	
e
dp
 	 '(9(9:Z  ,6+.884F+GI46P chh'78946P #Z/57P -/)!
q
d\ 	HT;79STk6*D&!M"	

 !
]dj 	k6*K 
 X. HFO
kdF 	 +j+.8 0*k4/022 3 [%E) 3*+6I	 eD9) '*+68 eD9) '*+68 FOHFOQ)
GdZ 	D&! eD9) '*+68

 **+
[dz 	$
{d@ 	D&!H7F#FO	
AdL 	K(HFO
MdV 	HFO
Wd^ 	M"Z Xh
FMMJLYXh
FMMJLY(8Z8,G(
_dp 	J'M"
 
qdz 	6==&)M"
 &
{dD 	6==&)M"
 &
EdN 	V,J
OdV 	{H-k6*J	
Wdf 	M"Z Xh()9;Xh()9;(8Z8:JK(

gd| 	J'[(+M"
 	
}dH 	6==&)[(+M"
 &	
IdT 	6==&)[(+M"
 &	
Ud` 	&x0adb 	#E*cdd 	/?edf 	23DEgdh 	(1idj 	+J7kdl 	+J7mdn 	-l;odp 	+J7qdr 	*95sdt 	(1udv 	&u-wdx 	&vx8ydz 	&vx8{d| 	$T84}d~ /~yI!',,//&w'9'9:4 GdFr=   r*   )3r6   rE   pygments.lexers.htmlr   pygments.lexers.javascriptr   pygments.lexers.cssr   pygments.lexers.lilypondr   pygments.lexers.datar   pygments.lexerr   r	   r
   r   r   r   r   r   r   pygments.tokenr   r   r   r   r   r   r   r   r   r   r   pygments.utilr   r   __all__r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r<   r=   r>   <module>r     s    
 ) 6 ( 2 */ / /4 4 4 4 5W* B*J *Zez eP7z 7t5 5p&* &R0 *C C J J F F v-J v-r\-z \-~AJ Ar=   