§
    £E±c‚€  ã                   ó²  — d Z ddlZddl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 ddl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¦  «        Z$dS )zÜ
    pygments.lexers.haskell
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Haskell and related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexerÚ
RegexLexerÚbygroupsÚdo_insertionsÚdefaultÚincludeÚinheritÚline_re)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚ
Whitespace)Ú	unistring)
ÚHaskellLexerÚ
HspecLexerÚ
IdrisLexerÚ	AgdaLexerÚCryptolLexerÚLiterateHaskellLexerÚLiterateIdrisLexerÚLiterateAgdaLexerÚLiterateCryptolLexerÚ	KokaLexerc                   óR  — e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
g d
ef‘dej        f‘dej        df‘dej        df‘dej        df‘dej        f‘dd                     e	¦  «        z  ej        f‘dej        f‘dej        z   dz   ej        f‘dej        z   dz   ef‘dej        z   dz   ej        f‘dej        z   dz   ej        f‘dej        f‘dej        f‘dej        f‘dej        f‘d ej        f‘d!ej        f‘d"ef‘d#ej        f‘d$ej        f‘d%ej        f‘d&ej        f‘d'ej        f‘d(ej         f‘d)ej!        f‘d*ej"        f‘d+ej        d,f‘d-ed.f‘d/ej        f‘d0ej#        f‘d1e$f‘d
efd-ed.fd2e$d3fd4efd5ej        z   d6z   ej        z   d7z    e%ej&        eeee¦  «        d3fd5ej        z   d8z    e%ej&        eeee$¦  «        d9fd5ej        z   d:z    e%ej&        ee$¦  «        d9fd;ej&        d3fgd
efd5ej        z   d:z    e%ej&        ee$¦  «        d9fd<ej        z   d=z   ej&        d3fgd
efd<ej        z   d>z   ej        fd?ej        z   d@z   ej        fdej        fdej        dfdAe$fd"efdBe$dCfd2e$dDfg	dEej        fdej        dFfdGej        d3fdHej        fgdIej        d3fdJej'        dKfd+ej        d3fgdLefdJej'        dKfd-ed3fgdMej'        d3fdNej        z   dOz   ej'        d3fd                     e
¦  «        ej'        d3fdPej'        d3fdQej'        d3fdRej'        d3fdS e%eej'        ¦  «        d3fgdTœZ(dUS )Vr   zk
    A Haskell lexer based on the lexemes defined in the Haskell 98 Report.

    .. versionadded:: 0.8
    ÚHaskellzhttps://www.haskell.org/ÚhaskellÚhsz*.hsztext/x-haskell)ÚcaseÚclassÚdatar   ÚderivingÚdoÚelseÚfamilyÚifÚinú
infix[lr]?ÚinstanceÚletÚnewtypeÚofÚthenÚtypeÚwhereÚ_©ÚNULÚSOHz[SE]TXÚEOTÚENQÚACKÚBELÚBSÚHTÚLFÚVTÚFFÚCRzS[OI]ÚDLEzDC[1-4]ÚNAKÚSYNÚETBÚCANÚEMÚSUBÚESCz[FGRU]SÚSPÚDELú\s+ú!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$ú\{-Úcommentú
\bimport\bÚimportú
\bmodule\bÚmoduleú	\berror\bú\b(%s)(?!\')\bú|z'[^\\]'z^[_z][\w\']*z'?[_z][\w']*z('')?[z(')[z(')\[[^\]]*\]z(')\([^)]*\)z(')[:!#$%&*+.\\/<=>?@^|~-]+ú\\(?![:!#$%&*+.\\/<=>?@^|~-]+)ú+(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)ú:[:!#$%&*+.\\/<=>?@^|~-]*ú[:!#$%&*+.\\/<=>?@^|~-]+z40[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*zR0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?z\d(_*\d)*_*[eE][+-]?\d(_*\d)*z+\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?z0[bB]_*[01](_*[01])*z0[oO]_*[0-7](_*[0-7])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z	\d(_*\d)*ú'Ú	characterú"Ústringú\[\]ú\(\)ú[][(),;`{}]ú\)ú#popúqualified\bz([z][\w.]*)(\s+)(as)(\s+)([z][\w.]*)z][\w.]*)(\s+)(hiding)(\s+)(\()Úfunclistz][\w.]*)(\s+)(\()ú[\w.]+ú[z][\w.]*z]\w*z(_[\w\']+|[z	][\w\']*)ú,ú\(©rf   rf   ú#pop:2ú[^-{}]+ú#pushú-\}ú[-{}]ú[^\\']'ú\\Úescapeú[^\\"]+ú[abfnrtv"\'&\\]z\^[][z@^_]úo[0-7]+úx[\da-fA-F]+ú\d+ú	(\s+)(\\)©ÚrootrR   rT   rf   rP   r]   r_   rs   N))Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreservedÚasciir   r   ÚSingleÚ	Multiliner   ÚReservedr   Ú	ExceptionÚjoinr   ÚCharÚuniÚLlÚFunctionÚLuÚTyper   ÚWordr   ÚFloatÚBinÚOctÚHexÚIntegerÚBuiltinr   r   Ú	NamespaceÚEscapeÚtokens© ó    ú9/usr/lib/python3/dist-packages/pygments/lexers/haskell.pyr   r      sq  € € € € € ðð ð
 €DØ
$€CØ˜$Ð€GØ�€IØ!Ð"€IðF€Hð9€Eð*
à�ZÐ ð*
ð 2°7´>ÐBð	*
ð
 �WÔ&¨	Ð2ð*
ð ˜GÔ,¨hÐ7ð*
ð ˜GÔ,¨hÐ7ð*
ð ˜4œ>Ð*ð*
ð  §¢¨(Ñ!3Ô!3Ñ3°WÔ5EÐFð*
ð ˜œÐ%ð*
ð �c”f‰_˜{Ñ*¨D¬MÐ:ð*
ð �s”vÑ 
Ñ*¨DÐ1ð*
ð ˜œÑ +Ñ-¨w¬|Ð<ð*
ð  �s”vÑ Ñ+¨W¬\Ð:ð!*
ð" ˜wœ|Ð,ð#*
ð$ ˜gœlÐ+ð%*
ð& ,¨W¬\Ð:ð'*
ð* /°´Ð>ð+*
ð, <¸X¼]ÐKð-*
ð. *¨7¬<Ð8ð/*
ð0 )¨(Ð3ð1*
ð4 EÀfÄlÐSð5*
ð6(Ø)/¬ð7ð7*
ð: .¨v¬|Ð<ð;*
ð< <¸V¼\ÐJð=*
ð> % f¤jÐ1ð?*
ð@ '¨¬
Ð3ðA*
ðB 1°&´*Ð=ðC*
ðD ˜6œ>Ð*ðE*
ðH �6”; Ð,ðI*
ðJ �6˜8Ð$ðK*
ðN �g”lÐ#ðO*
ðP �d”lÐ#ðQ*
ðR ˜[Ð)ðS*
ðZ �ZÐ Ø�6˜8Ð$à�K Ð(Ø˜WÐ%à�S”V‰^Ð9Ñ9¸C¼FÑBÀ[ÑPØˆX�d”n j°'¸:ÀtÑLÔLÈfðVð �S”V‰^Ð?Ñ?ØˆX�d”n j°'¸:À{ÑSÔSÐU_ðað �S”V‰^Ð2Ñ2ØˆX�d”n j°+Ñ>Ô>À
ðLð ˜œ¨Ð/ð#
ð( �ZÐ Ø�S”V‰^Ð2Ñ2ØˆX�d”n j°+Ñ>Ô>À
ðLà�C”F‰]˜ZÑ'¨¬¸Ð@ð	
ð �ZÐ Ø�C”F‰]˜WÑ$ g¤lÐ3Ø˜cœfÑ$ |Ñ3°T´]ÐCØ1°7´>ÐBØ�WÔ&¨	Ð2Ø�;ÐØ(¨(Ð3à�KÐ!9Ð:Ø�K Ð*ð
ð  ˜Ô*Ð+Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�wÔ(Ð)ð
ð ˜œ fÐ-Ø�F”M 8Ð,Ø�&”+˜vÐ&ð	
ð ˜Ð Ø�F”M 8Ð,Ø�&˜&Ð!ð
ð   ¤°Ð7Ø˜œÑ Ñ(¨&¬-¸Ð@Ø�XŠX�e‰_Œ_˜fœm¨VÐ4Ø˜œ¨Ð/Ø˜fœm¨VÐ4Ø�V”] FÐ+Ø˜8˜8 J°´Ñ>Ô>ÀÐGð
ðKnð n€F€F€Fr�   r   c            	       ó¢   — e Zd ZdZdZdgZdgZg Zdd ee	e
ej        ¦  «        fd ee	e
ej        ¦  «        fd ee	e
ej        ¦  «        fegiZd	S )
r   zY
    A Haskell lexer with support for Hspec constructs.

    .. versionadded:: 2.4.0
    ÚHspecÚhspecz*Spec.hsr{   z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")N)r|   r}   r~   r   r€   r‚   rƒ   r„   r   r   r   r   ÚDocr	   r›   rœ   r�   rž   r   r   �   sŽ   € € € € € ðð ð €DØˆi€GØ�€IØ€Ið 	Ø" H H¨T°:¸v¼zÑ$JÔ$JÐKØ(¨(¨(°4¸ÀVÄZÑ*PÔ*PÐQØ'¨¨°$¸
ÀFÄJÑ)OÔ)OÐPØð	
ð€F€F€Fr�   r   c                   ó2  — e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
Zdd                     e¦  «        z   eeej        ¦  «        fd eeej        ¦  «        fd eeej        ¦  «        fd eeej        ¦  «        dfd eeej        eej        e¦  «        fdd                     e	¦  «        z  ej        fd eej        e¦  «        dfdej        fdefdej        fdej        fdej        fdej        fdej        fdej        fdej        dfded fd!efd"efgd#efd$ eej         ee!¦  «        d%fd&ej         d'fgd#efd(ej        fd)ej        fd*ej        fd+ej        dfd,e!fd-efd.e!d/fd0e!d1fg	d2ej        fd+ej        d3fd4ej        d'fd5ej        fgd6ej        fd7ej"        d8fdej        d'fgd9efd7ej"        d8fded'fgd:ej"        d'fd;ej"        d'fd                     e
¦  «        ej"        d'fd<ej"        d'fd=ej"        d'fdej"        d'fd> eeej"        ¦  «        d'fgd?œZ#d@S )Ar   zŒ
    A lexer for the dependently typed programming language Idris.

    Based on the Haskell and Agda Lexer.

    .. versionadded:: 2.0
    ÚIdriszhttps://www.idris-lang.org/ÚidrisÚidrz*.idrztext/x-idris)3r$   r%   r&   r   Úusingr(   r)   r+   r,   r-   r.   ÚrewriteÚautoÚ	namespaceÚcodataÚmutualÚprivateÚpublicÚabstractÚtotalÚpartialÚ	interfaceÚimplementationÚexportÚcoveringÚconstructorr/   Úproofr1   r2   Ústaticr4   r5   ÚwithÚpatternÚtermÚsyntaxÚprefixÚ	postulateÚ
parametersÚrecordÚdslÚ
impossibleÚimplicitÚtacticsÚintrosÚintroÚcomputeÚrefineÚexactÚtrivialr6   )ÚlibÚlinkÚflagr   ÚhideÚfreezeÚaccessr   ÚloggingÚdynamicr€   Úerror_handlersÚlanguagez^(\s*)(%%(%s))rW   z((\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$z(\s*)(\|{3}.*?)$z
(\s*)(\{-)rP   ú^(\s*)([^\s(){}]+)(\s*)(:)(\s*)rV   ú(import|module)(\s+)rT   ú('')?[A-Z][\w\']*z[a-z][\w\']*z(<-|::|->|=>|=)z"([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)ú\d+[eE][+-]?\d+ú\d+\.\d+([eE][+-]?\d+)?ú0[xX][\da-fA-F]+rx   r\   r]   r^   r_   ú
[^\s(){}]+ú\s+?rM   ú([A-Z][\w.]*)(\s+)(\()rf   ú[A-Z][\w.]*rd   ú[A-Z]\w*ú(_[\w\']+|[a-z][\w\']*)z--.*$rO   ri   r[   rj   rk   rc   rl   rm   rn   ro   rp   z[^\\']rr   rs   rt   ru   ú\^[][A-Z@^_]rv   rw   ry   )r{   rT   rf   rP   r]   r_   rs   N)$r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   Ú
directivesr‹   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   r   ³   s5  € € € € € ðð ð €DØ
'€CØ˜Ð€GØ�	€IØÐ €IðW€Hð9€Eð
Y€Jð  §¢¨*Ñ!5Ô!5Ñ5ØˆX�j 'Ô"2Ñ3Ô3ð5à8¸(¸(À:ÈwÌ~Ñ:^Ô:^Ð_Ø  ( (¨:°w´~Ñ"FÔ"FÐGØ˜H˜H Z°Ô1BÑCÔCÀYÐOà/ØˆX�j $¤-°¸X¼]ÈJÑWÔWðYð  §¢¨(Ñ!3Ô!3Ñ3°WÔ5EÐFØ$ h h¨wÔ/?ÀÑ&LÔ&LÈhÐWØ! 7¤<Ð0Ø˜dÐ#à ¤Ð/Ø2°H´MÐBà ¤Ð.Ø'¨¬Ð6Ø  &¤*Ð-Ø�V”^Ð$à�6”; Ð,Ø�6˜8Ð$Ø˜DÐ!Ø�jÐ!ð7
ð< �ZÐ Ø&ØˆX�d”n j°+Ñ>Ô>À
ðLà˜Tœ^¨VÐ4ð	
ð �ZÐ Ø˜'œ,Ð'Ø'¨¬Ð7Ø�w”~Ð&Ø�WÔ&¨	Ð2Ø�;ÐØ(¨(Ð3à�KÐ!9Ð:Ø�K Ð*ð
ð  ˜Ô*Ð+Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�wÔ(Ð)ð
ð ˜œÐ$Ø�F”M 8Ð,Ø�&”+˜vÐ&ð	
ð ˜Ð Ø�F”M 8Ð,Ø�&˜&Ð!ð
ð   ¤°Ð7Ø˜fœm¨VÐ4Ø�XŠX�e‰_Œ_˜fœm¨VÐ4Ø˜œ¨Ð/Ø˜fœm¨VÐ4Ø�V”] FÐ+Ø˜8˜8 J°´Ñ>Ô>ÀÐGð
ðIMð M€F€F€Fr�   r   c                   óV  — e Zd ZdZdZdZdgZdgZdgZdZ	d e
eej        eej        e¦  «        fd	ej        fd
ej        dfdej        dfdd                     e	¦  «        z  ej        fd e
ej        e¦  «        dfdej        fdefdej        fdej        fdej        fdej        fdej        fdej        dfdedfdefdefgdej        fdej        d fd!ej        d"fd#ej        fgd
ej        dfd$ed"fd%efgej         d         ej         d         ej         d         ej         d&         d'œZ d(S ))r   z|
    For the Agda dependently typed functional programming language and
    proof assistant.

    .. versionadded:: 2.0
    ÚAgdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpÚagdaz*.agdaztext/x-agda))r¯   r«   Úcoinductiver¶   r&   r(   zeta-equalityÚfieldÚforallÚhidingr,   Ú	inductiveÚinfixÚinfixlÚinfixrr.   Úinterleavedr/   Úmacror¬   zno-eta-equalityÚopenÚoverlaprº   r¾   Ú	primitiver­   ÚquoteÚ	quoteTermrÀ   Úrenamingr¨   r¼   ÚtacticÚunquoteÚunquoteDeclÚ
unquoteDefr§   Úvariabler4   r¹   rÕ   rN   rO   rP   z\{!ÚholerV   rW   rÖ   rT   z\b(Set|Prop)[\u2080-\u2089]*\bz(\(|\)|\{|\})z((\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)rØ   rÙ   rÚ   rx   r\   r]   r^   r_   rÛ   rÜ   z[^!{}]+rn   z!\}rd   z[!{}]z[a-zA-Z][\w.\']*z	[\W0-9_]+rs   )r{   rû   rT   rP   r]   r_   rs   N)!r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r   r   r   r�   r   r’   r   r‡   rˆ   Ú	Directiver‹   r   r‰   r‘   r   r“   r–   r—   r   rŒ   r   r   r›   rœ   r�   rž   r   r   #  sÐ  € € € € € ðð ð €DØ
:€CØˆh€GØ�
€IØ�€Ið€Hð 0ØˆX�j $¤-°Ø”m Zñ1ô 1ð2ð 2°7´>ÐBØ�WÔ&¨	Ð2à�WÔ&¨Ð/ð  §¢¨(Ñ!3Ô!3Ñ3°WÔ5EÐFØ$ h h¨wÔ/?ÀÑ&LÔ&LØðà.°´Ð=à˜xÐ(Ø8¸(¼-ÐHà ¤Ð.Ø'¨¬Ð6Ø  &¤*Ð-Ø�V”^Ð$à�6”; Ð,Ø�6˜8Ð$Ø˜DÐ!Ø�jÐ!ð9
ð@ ˜Ô*Ð+Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�wÔ(Ð)ð
ð �WÔ&¨	Ð2Ø  $¨Ð/Ø˜4Ð ð
ð
  Ô& yÔ1Ø!Ô(¨Ô5ØÔ% hÔ/ØÔ% hÔ/ð]/ð /€F€F€Fr�   r   c                   ó\  — e Zd ZdZdZddgZdgZdgZdZdZ	d	e
fd
ej        fdej        dfdej        dfdej        dfdej        fdd                     e¦  «        z  ej        fdej        fdefdej        fdej        fdej        fdej        fdefdej        fdej        fdej        fdej        fdej        fd ej        d!fd"ed#fd$ej        fd%ej        fd&efgd	e
fd"ed#fd'ed(fd)efd* e ej!        e
ee
e¦  «        d(fd+ e ej!        e
ee
e¦  «        d,fd- e ej!        e
e¦  «        d,fd.ej!        d(fgd	e
fd- e ej!        e
e¦  «        d,fd/ej!        d(fgd	e
fd0ej        fd1ej        fd2efdefd3ed4fd'ed5fgd6ej        fdej        d7fd8ej        d(fd9ej        fgd:ej        d(fd;ej"        d<fd ej        d(fgd=efd;ej"        d<fd"ed(fgd>ej"        d(fd?ej"        d(fd                     e	¦  «        ej"        d(fd@ej"        d(fdAej"        d(fdej"        d(fdB e e
ej"        ¦  «        d(fgdCœZ#h dD£Z$dE„ Z%dFS )Gr   zs
    FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.

    .. versionadded:: 2.0
    ÚCryptolÚcryptolÚcryz*.cryztext/x-cryptol)ÚArithÚBitÚCmpÚFalseÚInfÚTruer)   r´   ÚexternÚfinr+   rR   ÚinfÚlg2ÚmaxÚminrT   r0   ÚpragmaÚpropertyr2   r3   r4   Úwidthr6   rM   ú//.*$ú/\*rP   rQ   rR   rS   rT   rU   rV   rW   z^[_a-z][\w\']*z'?[_a-z][\w']*r×   rX   rY   rZ   r[   rØ   rÙ   z0[oO][0-7]+rÚ   rx   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   z(([A-Z][\w.]*)(\s+)(as)(\s+)([A-Z][\w.]*)z#([A-Z][\w.]*)(\s+)(hiding)(\s+)(\()rf   rÝ   rg   rÞ   rß   rà   ri   rj   rk   rl   ú[^/*]+rn   ú\*/ú[*/]rq   rr   rs   rt   ru   rá   rv   rw   ry   rz   >   ú<<ú>>ú<<<ú>>>ÚparÚregÚseqr‹   ÚtailÚconstÚerrorÚsplitÚtracer  ÚASSERTÚlengthÚreverseÚ	transposeÚ	undefinedc              #   ó    K  — dg}t          j        | ||¦  «        D ]1\  }}}|t          u r|| j        v r|t          j        |fV — Œ*|||fV — Œ2d S )Nr{   )r   Úget_tokens_unprocessedr   ÚEXTRA_KEYWORDSr˜   )ÚselfÚtextÚstackÚindexÚtokenÚvalues         rž   r'  z#CryptolLexer.get_tokens_unprocessedì  s€   è è € Ø�ˆåÔ1°$¸¸eÑDÔDð	*ð 	*ÑˆE�5˜%à�ˆ}ˆ} ¨$Ô*=Ð!=Ð!=Ø�Tœ\¨5Ð0Ð0Ð0Ð0Ð0à˜U EÐ)Ð)Ð)Ð)Ð)ð	*ð 	*r�   N)&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–   r—   r   rŒ   r˜   r   r   r™   rš   r›   r(  r'  rœ   r�   rž   r   r   m  s§  € € € € € ðð ð
 €DØ˜%Ð €GØ�	€IØ!Ð"€Ið2€Hð9€Eð �ZÐ à�w”~Ð&Ø�WÔ&¨	Ð2ð ˜GÔ,¨hÐ7Ø˜GÔ,¨hÐ7Ø˜4œ>Ð*Ø §¢¨(Ñ!3Ô!3Ñ3°WÔ5EÐFØ ¤Ð.Ø Ð%Ø! 7¤<Ð0à.°´Ð>Ø;¸X¼]ÐKØ)¨7¬<Ð8Ø(¨(Ð3à ¤Ð.Ø'¨¬Ð6Ø˜VœZÐ(Ø  &¤*Ð-Ø�V”^Ð$à�6”; Ð,Ø�6˜8Ð$à�g”lÐ#Ø�d”lÐ#Ø˜[Ð)ðA!
ðH �ZÐ Ø�6˜8Ð$à�K Ð(Ø˜WÐ%à8ØˆX�d”n j°'¸:ÀtÑLÔLÈfðVð 4ØˆX�d”n j°'¸:À{ÑSÔSÐU_ðað 'ØˆX�d”n j°+Ñ>Ô>À
ðLð ˜œ¨Ð/ð#
ð( �ZÐ Ø&ØˆX�d”n j°+Ñ>Ô>À
ðLà˜Tœ^¨VÐ4ð	
ð �ZÐ Ø˜'œ,Ð'Ø'¨¬Ð7ð �;ÐØ(¨(Ð3à�KÐ!9Ð:Ø�K Ð*ð
ð ˜Ô)Ð*Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð
ð ˜œ fÐ-Ø�F”M 8Ð,Ø�&”+˜vÐ&ð	
ð ˜Ð Ø�F”M 8Ð,Ø�&˜&Ð!ð
ð   ¤°Ð7Ø˜fœm¨VÐ4Ø�XŠX�e‰_Œ_˜fœm¨VÐ4Ø˜œ¨Ð/Ø˜fœm¨VÐ4Ø�V”] FÐ+Ø˜8˜8 J°´Ñ>Ô>ÀÐGð
ðwdð d€FðLð ð €Nð
*ð *ð *ð *ð *r�   r   c                   ó>   — e Zd ZdZ ej        d¦  «        Zd„ Zd„ ZdS )ÚLiterateLexera•  
    Base class for lexers of literate file formats based on LaTeX or Bird-style
    (prefixing each code line with ">").

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    z(>[ \t]*)(.*\n)c                 ó8   — || _         t          j        | fi |¤Ž d S )N)Ú	baselexerr   Ú__init__)r)  r2  Úoptionss      rž   r3  zLiterateLexer.__init__  s'   € Ø"ˆŒÝŒ�tÐ'Ð'˜wÐ'Ð'Ð'Ð'Ð'r�   c           	   #   ó  K  — | j                              d¦  «        }|€"|                     ¦   «         dd…         dv rdpd}d}g }|dk    rÔt          j        |¦  «        D ]½}|                     ¦   «         }| j                             |¦  «        }|r^|                     t          |¦  «        dt          j        |                     d¦  «        fgf¦  «         ||                     d¦  «        z  }Œ�|                     t          |¦  «        dt          |fgf¦  «         Œ¾�n7dd	lm}  |di | j         ¤Ž}	d}
d}t          j        |¦  «        D ]Ç}|                     ¦   «         }|
r5|                     ¦   «                              d
¦  «        rd}
||z  }ŒG||z  }ŒM|                     ¦   «                              d¦  «        rNd}
||z  }|                     t          |¦  «        t!          |	                     |¦  «        ¦  «        f¦  «         d}ŒÂ||z  }ŒÈ|                     t          |¦  «        t!          |	                     |¦  «        ¦  «        f¦  «         t%          || j                             |¦  «        ¦  «        E d {V —† d S )NÚlitstyler   é   z%\ÚlatexÚbirdÚ é   )ÚTexLexerz
\end{code}z\begin{code}rœ   )r4  ÚgetÚlstripr
   ÚfinditerÚgroupÚbird_reÚmatchÚappendÚlenr   ÚSpecialr   Úpygments.lexers.markupr<  Ú
startswithÚlistr'  r   r2  )r)  r*  ÚstyleÚcodeÚ
insertionsrB  ÚlineÚmr<  ÚlxlexerÚ	codelinesr8  s               rž   r'  z$LiterateLexer.get_tokens_unprocessed	  sÀ  è è € Ø”× Ò  Ñ,Ô,ˆØˆ=Ø—[’[‘]”] 1 Q 3Ô'¨5Ð0Ð=°gÐGÀˆEàˆØˆ
Ø�FŠ?ˆ?å Ô)¨$Ñ/Ô/ð Fð F�Ø—{’{‘}”}�Ø”L×&Ò& tÑ,Ô,�Øð FØ×%Ò%¥s¨4¡y¤yØ)*­G¬O¸Q¿WºWÀQ¹Z¼ZÐ(HÐ'Ið'Kñ Lô Lð Là˜AŸGšG A™JœJÑ&�D�Dà×%Ò%¥s¨4¡y¤y°Aµt¸T°?Ð2CÐ&DÑEÔEÐEÐEñFð 8Ð7Ð7Ð7Ð7Ð7Ø�hÐ.Ð. ¤Ð.Ð.ˆGØˆIØˆEÝ Ô)¨$Ñ/Ô/ð "ð "�Ø—{’{‘}”}�Øð "Ø—{’{‘}”}×/Ò/°Ñ>Ô>ð %Ø$%˜	Ø ™˜˜à ™˜˜Ø—[’[‘]”]×-Ò-¨oÑ>Ô>ð "Ø !�IØ˜T‘M�EØ×%Ò%¥s¨4¡y¤yÝ'+¨G×,JÒ,JÈ5Ñ,QÔ,QÑ'RÔ'Rð'Tñ Uô Uð Uà�E�Eà˜T‘M�E�EØ×Ò�s 4™yœyÝ# G×$BÒ$BÀ5Ñ$IÔ$IÑJÔJðLñ Mô Mð Må  ¨T¬^×-RÒ-RÐSWÑ-XÔ-XÑYÔYÐYÐYÐYÐYÐYÐYÐYÐYÐYr�   N)	r|   r}   r~   r   ÚreÚcompilerA  r3  r'  rœ   r�   rž   r0  r0  ö  sU   € € € € € ð
ð 
ð ˆbŒjÐ+Ñ,Ô,€Gð(ð (ð (ð*Zð *Zð *Zð *Zð *Zr�   r0  c                   ó0   — e Zd ZdZdZg d¢ZdgZdgZd„ ZdS )r   an  
    For Literate Haskell (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.

    .. versionadded:: 0.9
    zLiterate Haskell)zliterate-haskellÚlhaskellÚlhsz*.lhsztext/x-literate-haskellc                 óD   — t          di |¤Ž}t          j        | |fi |¤Ž d S ©Nrœ   )r   r0  r3  ©r)  r4  Úhslexers      rž   r3  zLiterateHaskellLexer.__init__H  s6   € ÝÐ)Ð) Ð)Ð)ˆÝÔ˜t WÐ8Ð8°Ð8Ð8Ð8Ð8Ð8r�   N©	r|   r}   r~   r   r€   r‚   rƒ   r„   r3  rœ   r�   rž   r   r   6  sN   € € € € € ðð ð €DØ5Ð5Ð5€GØ�	€IØ*Ð+€Ið9ð 9ð 9ð 9ð 9r�   r   c                   ó0   — e Zd ZdZdZg d¢ZdgZdgZd„ ZdS )r   al  
    For Literate Idris (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.

    .. versionadded:: 2.0
    zLiterate Idris)zliterate-idrisÚlidrisÚlidrz*.lidrztext/x-literate-idrisc                 óD   — t          di |¤Ž}t          j        | |fi |¤Ž d S rV  )r   r0  r3  rW  s      rž   r3  zLiterateIdrisLexer.__init___  s6   € ÝÐ'Ð'˜wÐ'Ð'ˆÝÔ˜t WÐ8Ð8°Ð8Ð8Ð8Ð8Ð8r�   NrY  rœ   r�   rž   r   r   M  sN   € € € € € ðð ð €DØ2Ð2Ð2€GØ�
€IØ(Ð)€Ið9ð 9ð 9ð 9ð 9r�   r   c                   ó0   — e Zd ZdZdZddgZdgZdgZd„ ZdS )	r   aU  
    For Literate Agda source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.

    .. versionadded:: 2.0
    zLiterate Agdazliterate-agdaÚlagdaz*.lagdaztext/x-literate-agdac                 óH   — t          di |¤Ž}t          j        | |fddi|¤Ž d S )Nr6  r8  rœ   )r   r0  r3  )r)  r4  Ú	agdalexers      rž   r3  zLiterateAgdaLexer.__init__v  s;   € ÝÐ(Ð( Ð(Ð(ˆ	ÝÔ˜t YÐLÐL¸ÐLÀGÐLÐLÐLÐLÐLr�   NrY  rœ   r�   rž   r   r   d  sR   € € € € € ðð ð €DØ Ð(€GØ�€IØ'Ð(€IðMð Mð Mð Mð Mr�   r   c                   ó0   — e Zd ZdZdZg d¢ZdgZdgZd„ ZdS )r   an  
    For Literate Cryptol (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.

    .. versionadded:: 2.0
    zLiterate Cryptol)zliterate-cryptolÚlcryptolÚlcryz*.lcryztext/x-literate-cryptolc                 óD   — t          di |¤Ž}t          j        | |fi |¤Ž d S rV  )r   r0  r3  )r)  r4  Úcrylexers      rž   r3  zLiterateCryptolLexer.__init__�  s6   € ÝÐ*Ð* 'Ð*Ð*ˆÝÔ˜t XÐ9Ð9°Ð9Ð9Ð9Ð9Ð9r�   NrY  rœ   r�   rž   r   r   {  sN   € € € € € ðð ð €DØ6Ð6Ð6€GØ�
€IØ*Ð+€Ið:ð :ð :ð :ð :r�   r   c                   ó  — e Zd ZdZdZdZdgZddgZdgZg d¢Z	g d	¢Z
g d
¢Zg d¢ZdZdez   dz   ZdZej        Zej        Zej        Z ed¦  «        dez   edfd eeee¦  «        dfd eeee¦  «        dfdd                     e
¦  «        z  dz    eeee¦  «        dfd eeeeeej        ¦  «        fd eeeej        eeeeeej        ¦	  «	        fdez   dz    eeeeeej        ¦  «        fdez   dz    eeeeeeeej        ¦  «        fdd                     e¦  «        z  ez   ej        fdd                     e	¦  «        z  ez   efdd                     e¦  «        z  ez   ej         fdez   efd  eej        e¦  «        fd! eej        e¦  «        fd"ez   dz    eej        e¦  «        fd#ej!        fd$e"j#        d%fed&z   e$fd'e$fd(e%fd)e&j'        fd*e&j(        fd+e&j)        fd,e"j*        d-fd.e"j#        d/fgd0ef ed¦  «        gd1e%d2f ed¦  «        gd3ed4f ed5¦  «        gd6ed2fd3ed4fd7efd8 eeee¦  «        f ed5¦  «        g ed¦  «        dd                     e¦  «        z  ez   efd9d                     e	¦  «        z  ez   d:z   ed2fd;ez   efd<efd#ej!        fd  eej        e¦  «        fd= eej        e¦  «        fd>ef e+d2¦  «        g
d? eee,j-        ¦  «        fd@efdAe,j.        dBfdCe,j/        fgdDe,j.        fdAe,j.        dEfdFe,j.        d2fdGe,j.        fgdHe"j#        fdIe"j0        fd.e"j#        d2fgdJe"j#        f edK¦  «        dLe"j#        d2fgdMe"j*        f edK¦  «        dNe"j*        d2fgdOe"j0        fdPe"j0        fdQe"j0        fdRe"j0        fgdSœZ1dTS )Ur   zA
    Lexer for the Koka language.

    .. versionadded:: 1.6
    ÚKokaz/https://koka-lang.github.io/koka/doc/index.htmlÚkokaz*.kkz*.kkiztext/x-koka)"rë   rí   rì   r3   ÚcotypeÚrectypeÚaliasÚstructÚconÚfunÚfunctionÚvalÚvarÚexternalr+   r2   r)   ÚelifÚreturnrB  r­   r®   r­   rT   rR   Úasr   ÚinlineÚrecÚtryÚyieldÚenumr²   r.   )r3   rj  rk  rl  rm  r{  )rè   ÚexistsÚsomer¹   )ÚforÚwhileÚrepeatÚforeachzforeach-indexedr  ÚcatchÚfinallyÚcsÚjsÚfileÚrefÚassignedz[$%&*+@!/\\^~=.:\-?|<>]+z(?!ú)z	(?![\w/])Ú
whitespacez::?r3   z(alias)(\s+)([a-z]\w*)?ú
alias-typez(struct)(\s+)([a-z]\w*)?ústruct-typez(%s)rW   z(\s+)([a-z]\w*)?z=(module)(\s+)(interface(?=\s))?(\s+)?((?:[a-z]\w*/)*[a-z]\w*)z`(import)(\s+)((?:[a-z]\w*/)*[a-z]\w*)(?:(\s*)(=)(\s*)(qualified)?(\s*)((?:[a-z]\w*/)*[a-z]\w*))?z>^(public|private)?(\s+)?(function|fun|val)(\s+)([a-z]\w*|\((?:z|/)\))zd^(?:(public|private)(?=\s+external))?((?<!^)\s+)?(external)(\s+)(inline(?=\s))?(\s+)?([a-z]\w*|\((?:z::?|:=|\->|[=.]z((?:[a-z]\w*/)*)([A-Z]\w*)z((?:[a-z]\w*/)*)([a-z]\w*)z((?:[a-z]\w*/)*)(\((?:z_\w*z@"Ú	litstringz
|/(?![*/])ú`z[{}()\[\];,]z![0-9]+\.[0-9]+([eE][\-+]?[0-9]+)?z0[xX][0-9a-fA-F]+z[0-9]+r\   Úcharr^   r_   ú=z(?=\((?!,*\)))rd   z[(\[<]útype-nestedútype-contentz[)\]>]ri   z([a-z]\w*)(\s*)(:)(?!:)z(?=((%s)z))z[EPHVX]z[a-z][0-9]*(?![\w/])z((?:[a-z]\w*/)*)([a-z]\w+)z::|->|[.:|]z(\n\s*)(#.*)$rM   r  rP   r  r  rn   r  r  z[^"]+z""z	[^\\"\n]+úescape-sequencez["\n]z
[^\\\'\n]+z[\'\n]z\\[nrt\\"\']z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{6})r{   r‹  rŒ  r3   r‘  r’  rŠ  rP   r�  r_   r�  r“  N)2r|   r}   r~   r   r€   r�   r‚   rƒ   r„   ÚkeywordsÚtypeStartKeywordsÚtypekeywordsÚbuiltinÚsymbolsÚ	sboundaryÚboundaryr   Ú	AttributeÚ	tokenTypeÚClassÚtokenTypeDefr   ÚEmphÚtokenConstructorr   r   r   r   r‹   r™   r�   r‘   ÚPseudoÚVariabler   ÚDoubler   r   r   r“   r–   r—   rŒ   r   r   ÚPreprocrˆ   r‡   rš   r›   rœ   r�   rž   r   r   ’  sÎ  € € € € € ðð ð €DØ
;€CØˆh€GØ˜Ð!€IØ�€Iðð ð €Hð ð ð Ðð
ð ð €Lð
ð ð €Gð *€Gð ˜‘ #Ñ%€Ið €Hð ”€IØ”:€LØ”|Ðð
 ˆG�LÑ!Ô!ð �iÑ ¨FÐ3Ø'¨¨°'¸:À|Ñ)TÔ)TØðà(¨(¨(°7¸JÈÑ*UÔ*UØðà˜ŸšÐ!2Ñ3Ô3Ñ3Ø ñ!Ø"* (¨7°JÀÑ"MÔ"MØðð NØˆX�g˜z¨7°JÀÄÑOÔOðQð+ð ˆX�g˜z¨4¬>¸:ÀwÐPZØ˜z¨4¬>ñ;ô ;ð<ð%Ø'.ñ/Ø1:ñ;àˆX�g˜z¨7°JÀÄÑNÔNðPð Ø")ñ*Ø,5ñ6àˆX�g˜z¨7°JÀÈÐUYÔUbÑcÔcðeð
 �s—x’x Ñ-Ô-Ñ-°Ñ8¸'¼,ÐGØ�s—x’x Ñ)Ô)Ñ)¨HÑ4°gÐ>Ø�s—x’x Ñ(Ô(Ñ(¨8Ñ3°W´^ÐDØ )Ñ+¨WÐ5ð +ØˆX�d”nÐ&6Ñ7Ô7ð9à*¨H¨H°T´^ÀTÑ,JÔ,JÐKØ&¨Ñ0°9Ñ<ØˆX�d”n dÑ+Ô+ð-à�d”mÐ$ð �F”M ;Ð/ð �|Ñ# XÐ.Ø�8ÐØ˜kÐ*ð 2°6´<Ð@Ø! 6¤:Ð.Ø˜œÐ'à�6”; Ð'Ø�6”= (Ð+ðu;
ð~ �7ˆOØˆG�F‰OŒOð
ð  ¨VÐ4ØˆG�F‰OŒOð
ð ˜	 =Ð1ØˆG�NÑ#Ô#ð
ð ˜	 6Ð*Ø˜	 =Ð1Ø�9ÐØ'ØˆX�d˜J¨	Ñ2Ô2ð4àˆG�NÑ#Ô#ð
ð ˆG�LÑ!Ô!ð �s—x’x Ñ-Ô-Ñ-°Ñ8¸'ÐBØ˜3Ÿ8š8 HÑ-Ô-Ñ-°Ñ8¸4Ñ?Ø�fðð ˜(Ñ" IÐ.ð % iÐ0Ø�iÔ(Ð)Ø*ØˆX�d”n iÑ0Ô0ð2à*ØˆX�d”n iÑ0Ô0ð2ð ˜YÐ'ð ˆG�F‰OŒOð/
ð8 ˜x˜x¨
°G´OÑDÔDÐEØ�ZÐ Ø�WÔ&¨	Ð2Ø�w”~Ð&ð	
ð ˜Ô)Ð*Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð	
ð �v”}Ð%Ø�F”MÐ"Ø�6”= &Ð)ð
ð ˜6œ=Ð)ØˆGÐ%Ñ&Ô&Ø�v”} fÐ-ð
ð ˜FœKÐ(ØˆGÐ%Ñ&Ô&Ø˜œ VÐ,ð
ð ˜fœmÐ,Ø! 6¤=Ð1Ø! 6¤=Ð1à! 6¤=Ð1ð
ðcXð X€F€F€Fr�   r   )%r   rP  Úpygments.lexerr   r   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Úpygmentsr   r�   Ú__all__r   r   r   r   r   r0  r   r   r   r   r   rœ   r�   rž   ú<module>r©     s0  ððð ð 
€	€	€	ð'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -à %Ð %Ð %Ð %Ð %Ð %ð0ð 0ð 0€ð
Bð Bð Bð Bð B�:ñ Bô Bð BðJð ð ð ð �ñ ô ð ð,mð mð mð mð m�ñ mô mð mð`Gð Gð Gð Gð G�
ñ Gô Gð GðTF*ð F*ð F*ð F*ð F*�:ñ F*ô F*ð F*ðR=Zð =Zð =Zð =Zð =Z�Eñ =Zô =Zð =Zð@9ð 9ð 9ð 9ð 9˜=ñ 9ô 9ð 9ð.9ð 9ð 9ð 9ð 9˜ñ 9ô 9ð 9ð.Mð Mð Mð Mð M˜ñ Mô Mð Mð.:ð :ð :ð :ð :˜=ñ :ô :ð :ð.Uð Uð Uð Uð U�
ñ Uô Uð Uð Uð Ur�   