+
    TBi                     p   R t ^ RIt^ RIHtHtHtHtHtHtH	t	H
t
 ^ RIHtHtHtHtHtHtHtHtHtHt ^ RIHt . ROt ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R	]4      t ! R R]4      t ! R R
]4      t  ! R R]4      t! ! R R]4      t" ! R R]4      t# ! R R]4      t$R# )z
pygments.lexers.haskell
~~~~~~~~~~~~~~~~~~~~~~~

Lexers for Haskell and related languages.

:copyright: Copyright 2006-2025 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                   	   ] tR t^tRtRtRtRR.tR.tR.t	Rt
RUtRVtR	. R
]3NR]P                  3NR]P                   R3NR]P$                  R3NR]P$                  R3NR]P(                  3NRP+                  RP-                  ]4      4      ]P$                  3NR]P0                  3NR]P4                  ,           R,           ]P6                  3NR]P4                  ,           R,           ]3NR]P8                  ,           R,           ]P:                  3NR]P8                  ,           R,           ]P:                  3NR]P:                  3NR]P:                  3NR]P:                  3NR]P6                  3NR ]P>                  3NR!]P:                  3NR"]3NR#] PB                  3NR$] PB                  3NR%] PB                  3NR&] PB                  3NR'] PD                  3NR(] PF                  3NR)] PH                  3NR*] PJ                  3NR+]P0                  R,3NR-]R.3NR/]P:                  3NR0]PL                  3NR1]'3NRR
]3R-]R.3R2]'R33R4]3R5]P8                  ,           R6,           ]P8                  ,           R7,           ](! ]PR                  ]]]]4      R33R5]P8                  ,           R8,           ](! ]PR                  ]]]]'4      R93R5]P8                  ,           R:,           ](! ]PR                  ]]'4      R93R;]PR                  R33.RR
]3R5]P8                  ,           R:,           ](! ]PR                  ]]'4      R93R<]P8                  ,           R=,           ]PR                  R33.R9R
]3R<]P8                  ,           R>,           ]P:                  3R?]P4                  ,           R@,           ]P6                  3R]P                  3R]P                   R3RA]'3R"]3RB]'RW3R2]'RC3.	RRD]P                   3R]P                   RE3RF]P                   R33RG]P                   3.R,RH]P0                  R33RI]PT                  RJ3R+]P0                  R33.R.RK]3RI]PT                  RJ3R-]R33.RJRL]PT                  R33RM]P8                  ,           RN,           ]PT                  R33RP-                  ]4      ]PT                  R33RO]PT                  R33RP]PT                  R33RQ]PT                  R33RR](! ]]PT                  4      R33./t+RSt,RT# )Xr   zH
A Haskell lexer based on the lexemes defined in the Haskell 98 Report.
Haskellzhttps://www.haskell.org/haskellhsz*.hsztext/x-haskellz0.8root\s+!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$\{-comment
\bimport\bimport
\bmodule\bmodule	\berror\b\b({})(?!\')\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\']*),\(#pop:2[^-{}]+#push-\}[-{}][^\\']'\\escape[^\\"]+[abfnrtv"\'&\\]z\^[][z@^_]o[0-7]+x[\da-fA-F]+\d+	(\s+)(\\) N)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r=   r=   )-__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesversion_addedreservedasciir   r   Single	Multiliner   Reservedr   	Exceptionformatjoinr   CharuniLlFunctionLuTyper   Wordr   FloatBinOctHexIntegerBuiltinr   r   	NamespaceEscapetokens__static_attributes__rP       </usr/lib/python3.14/site-packages/pygments/lexers/haskell.pyr   r      s    D
$C$GI!"IMFH9E 	 *
Z *
 27>>B	*

 W&&	2*
 G,,h7*
 G,,h7*
 4>>**
 %%chhx&897;K;KL*
 %*
 cff_{*DMM:*
 svv
*D1*
 +-w||<*
  svv+W\\:!*
" w||,#*
$ gll+%*
& ,W\\:'*
* />+*
, <X]]K-*
. *7<<8/*
0 )(31*
4 EfllS5*
6()/77*
: .v||<;*
< <V\\J=*
> %fjj1?*
@ '

3A*
B 1&**=C*
D 6>>*E*
H 6;;,I*
J 68$K*
N gll#O*
P dll#Q*
R [)S*
V 	Z 68$K(W%SVV^99CFFB[Pdnnj':tLfV SVV^??dnnj':{SU_a SVV^22dnnj+>
L /#
& 	Z SVV^22dnnj+>
LCFF]Z'@	
 	Z CFF]W$gll3cff$|3T]]C17>>BW&&	2;((3K!9:K*
 	**+W&&0W&&/w(()
 	f-FMM8,&++v&	
 	 FMM8,&&!

 	7(&--@XXe_fmmV4/fmmV4V]]F+8J>G
KnFr   c            	           ] tR t^tRtRtR.tR.t. tRt	RR]
! ]]]P                  4      3R]
! ]]]P                  4      3R	]
! ]]]P                  4      3]./tR
tR# )r   z4
A Haskell lexer with support for Hspec constructs.
Hspechspecz*Spec.hsz2.4r#   z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")rP   N)r{   r|   r}   r~   r   r   r   r   r   r   r   r
   r   r   Docr   r   r   rP   r   r   r   r      sy     DiGIIM 	"HT:vzz$JK((4VZZ*PQ'$
FJJ)OP	
Fr   c                      ] tR t^tRtRtRtRR.tR.tR.t	Rt
R?tR@tRAtR	R
P                  RP                  ]4      4      ]! ]]P&                  4      3R]! ]]P*                  4      3R]! ]]P*                  4      3R]! ]]P,                  4      R3R]! ]]P0                  ]]P4                  ]4      3RP                  RP                  ]4      4      ]P&                  3R]! ]P&                  ]4      R3R]P6                  3R]3R]P4                  3R]P4                  3R]P<                  3R]P<                  3R]P>                  3R]P@                  3R]!PD                  R3R]!R3R ]3R!]3.RR"]3R#]! ]PF                  ]]$4      R$3R%]PF                  R&3.R$R"]3R']P6                  3R(]P0                  3R)]P*                  3R*]P,                  R3R+]$3R,]3R-]$RB3R.]$R/3.	RR0]P,                  3R*]P,                  R13R2]P,                  R&3R3]P,                  3.RR4]!PD                  3R5]!PJ                  R63R]!PD                  R&3.RR7]!3R5]!PJ                  R63R]!R&3.R6R8]!PJ                  R&3R9]!PJ                  R&3RP                  ]4      ]!PJ                  R&3R:]!PJ                  R&3R;]!PJ                  R&3R]!PJ                  R&3R<]! ]]!PJ                  4      R&3./t&R=t'R># )Cr   ze
A lexer for the dependently typed programming language Idris.

Based on the Haskell and Agda Lexer.
Idriszhttps://www.idris-lang.org/idrisidrz*.idrztext/x-idris2.0r#   z^(\s*)(%({}))r.   z((\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$z(\s*)(\|{3}.*?)$z
(\s*)(\{-)r'   ^(\s*)([^\s(){}]+)(\s*)(:)(\s*)r-   (import|module)(\s+)r+   ('')?[A-Z][\w\']*z[a-z][\w\']*z(<-|::|->|=>|=)z"([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)\d+[eE][+-]?\d+\d+\.\d+([eE][+-]?\d+)?0[xX][\da-fA-F]+rN   r3   r4   r5   r6   
[^\s(){}]+\s+?r$   ([A-Z][\w.]*)(\s+)(\()r=   [A-Z][\w.]*r;   [A-Z]\w*(_[\w\']+|[a-z][\w\']*)z--.*$r&   r@   r2   rA   r:   rB   rC   rD   rE   rF   z[^\\']rH   rI   rJ   rK   \^[][A-Z@^_]rL   rM   rO   rP   N)3rQ   rR   rS   r   usingrU   rV   rX   rY   rZ   r[   rewriteauto	namespacecodatamutualprivatepublicabstracttotalpartial	interfaceimplementationexportcoveringconstructorr\   proofr^   r_   staticra   rb   withpatterntermsyntaxprefix	postulate
parametersrecorddsl
impossibleimplicittacticsintrosintrocomputerefineexacttrivialrc   )liblinkflagr   hidefreezeaccessr   loggingdynamicr   error_handlerslanguagerz   )(r{   r|   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   rP   r   r   r   r      sg   
 D
'CG	I IMWH9E
YJ 	$$SXXj%9:j'"2"2358(:w~~:^_ (:w~~"FGHZ1B1BCYO/j$--X]]JWY %%chhx&897;K;KL$hw/?/?&LhW!7<<0d#/2HMMB.'6 &**-V^^$6;;,68$D!j!7
: 	Z &dnnj+>
LT^^V4	
 	Z ',,''7w~~&W&&	2;((3K!9:K*
 	**+W&&0W&&/w(()
 	$FMM8,&++v&	
 	 FMM8,&&!

 	7fmmV4XXe_fmmV4/fmmV4V]]F+8J>G
IMFr   c                   `   ] tR tRtRtRtRtR.tR.tR.t	Rt
R+tR	R
]! ]]P                  ]]P"                  ]4      3R]P&                  3R]P(                  R3R]P*                  R3RP-                  RP/                  ]4      4      ]P2                  3R]! ]P2                  ]4      R3R]P4                  3R]3R]P"                  3R]P8                  3R]P8                  3R]P:                  3R]P<                  3R]P@                  R3R]R3R]!3R ]3.RR!]P*                  3R]P*                  R"3R#]P*                  R$3R%]P*                  3.RR]P(                  R3R&]R$3R']!3.R]"PF                  R,          R]"PF                  R,          R]"PF                  R,          R(]"PF                  R(,          /t#R)t$R*# ),r   i   zU
For the Agda dependently typed functional programming language and
proof assistant.
Agdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpagdaz*.agdaztext/x-agdar   r#   r   r%   r&   r'   z\{!holer-   r.   r   r+   z\b(Set|Prop)[\u2080-\u2089]*\bz(\(|\)|\{|\})z((\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)r   r   r   rN   r3   r4   r5   r6   r   r   z[^!{}]+rD   z!\}r;   z[!{}]z[a-zA-Z][\w.\']*z	[\W0-9_]+rI   rP   N)+r   r   coinductiver   rS   rU   zeta-equalityfieldforallhidingrY   	inductiveinfixinfixlinfixrr[   interleavedr\   macror   zno-eta-equalityopaqueopenoverlapr   r   	primitiver   quote	quoteTermr   renamingr   r   tactic	unfoldingunquoteunquoteDecl
unquoteDefr   variablera   r   )%r{   r|   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   rP   r   r   r   r      s   
 D
:ChG
IIMH 	/j$--mmZ12 27>>BW&&	2W&&/ %%chhx&897;K;KL$hw/?/?&L.=x(8(--H.'6 &**-V^^$6;;,68$D!j!9
< 	**+W&&0W&&/w(()
 	W&&	2 $/4 

 	<&&y1\((5,%%h/,%%h/]/Fr   c                     a  ] tR tRt o RtRtRR.tR.tR.tRt	R	t
RGtRHtRR]3R]P                  3R]P                   R3R]P$                  R
3R]P$                  R3R]P(                  3RP+                  RP-                  ]4      4      ]P$                  3R]P.                  3R]3R]P0                  3R]P.                  3R]P4                  3R]P0                  3R]3R]P8                  3R]P8                  3R]P:                  3R ]P<                  3R!]P>                  3R"] PB                  R#3R$] R%3R&]P0                  3R']PD                  3R(]#3.R
R]3R$] R%3R)]#R*3R+]3R,]$! ]PJ                  ]]]]4      R*3R-]$! ]PJ                  ]]]]#4      R.3R/]$! ]PJ                  ]]#4      R.3R0]PJ                  R*3.RR]3R/]$! ]PJ                  ]]#4      R.3R1]PJ                  R*3.R.R]3R2]P0                  3R3]P.                  3R4]#3R]3R5]#RI3R)]#R63.RR7]P                   3R]P                   R83R9]P                   R*3R:]P                   3.R#R;] PB                  R*3R<] PL                  R=3R"] PB                  R*3.R%R>] 3R<] PL                  R=3R$] R*3.R=R?] PL                  R*3R@] PL                  R*3RP-                  ]4      ] PL                  R*3RA] PL                  R*3RB] PL                  R*3R!] PL                  R*3RC]$! ]] PL                  4      R*3./t'0 RJmt(RD t)REt*V t+RF# )Kr   ii  zP
FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.
Cryptolcryptolcryz*.cryztext/x-cryptolhttps://www.cryptol.netr   r)   r+   r#   r$   //.*$/\*r'   r(   r*   r,   r-   r.   z^[_a-z][\w\']*z'?[_a-z][\w']*r   r/   r0   r1   r2   r   r   z0[oO][0-7]+r   rN   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   z(([A-Z][\w.]*)(\s+)(as)(\s+)([A-Z][\w.]*)z#([A-Z][\w.]*)(\s+)(hiding)(\s+)(\()r=   r   r>   r   r   r   r@   rA   rB   [^/*]+rD   \*/[*/]rG   rH   rI   rJ   rK   r   rL   rM   rO   c              #     "   R .p\         P                  ! WV4       F=  w  r4pV\        J d(   WPP                  9   d   V\        P                  V3x  K7  W4V3x  K?  	  R# 5i)r#   N)r   get_tokens_unprocessedr   EXTRA_KEYWORDSr   )selftextstackindextokenvalues   &&    r   r  #CryptolLexer.get_tokens_unprocessed  sY     11$eD  E%}*=*=!=T\\500E))	 Es   AA rP   N)ArithBitCmpFalseInfTruerV   r   externfinrX   r)   inflg2maxminr+   r]   pragmapropertyr_   r`   ra   widthrc   rz   >   parregseqr   tailconsterrorsplittracer$  ASSERTlengthreverse	transpose	undefined<<>><<<>>>),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   __classdictcell____classdict__s   @r   r   r   i  s     D% G	I!"I
#CM2H9E 	Z w~~&W&&	2 G,,h7G,,h74>>*%%chhx&897;K;KL.%!7<<0.>;X]]K)7<<8((3.'6VZZ( &**-V^^$6;;,68$gll#dll#[)A!
D 	Z 68$K(W%8dnnj':tLfV 4dnnj':{SU_a 'dnnj+>
L /#
& 	Z &dnnj+>
LT^^V4	
 	Z ',,''7 ;((3K!9:K*
 	))*W&&0W&&/g''(
 	f-FMM8,&++v&	
 	 FMM8,&&!

 	7fmmV4XXe_fmmV4/fmmV4V]]F+8J>G
wdFLN
* *r   c                   T   a  ] tR tRt o Rt]P                  ! R4      tR tR t	Rt
V tR# )LiterateLexeri  au  
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                @    Wn         \        P                  ! V 3/ VB  R # )N)	baselexerr   __init__)r  r<  optionss   &&,r   r=  LiterateLexer.__init__  s    "t'w'r   c           	   #    "   V P                   P                  R 4      pVf/   VP                  4       R,          R9   ;'       d    R;'       g    RpRp. pVR8X  d   \        P                  ! V4       F  pVP                  4       pV P                  P                  V4      pV'       dW   VP                  \        V4      ^ \        P                  VP                  ^4      3.34       W7P                  ^4      ,          pK  VP                  \        V4      ^ \        V3.34       K  	  EM/^ RIHp V! R
/ V P                   B p	^ p
Rp\        P                  ! V4       F  pVP                  4       pV
'       d<   VP                  4       P                  R4      '       d   ^ p
W,          pKL  W6,          pKV  VP                  4       P                  R	4      '       dC   ^p
W,          pVP                  \        V4      \!        V	P#                  V4      4      34       RpK  W,          pK  	  VP                  \        V4      \!        V	P#                  V4      4      34       \%        W@P&                  P#                  V4      4       Rj  xL
  R#  L5i)litstyleN:       Nz%\latexbird )TexLexerz
\end{code}z\begin{code}rP   )r>  getlstripr	   finditergroupbird_rematchappendlenr   Specialr
   pygments.lexers.markuprG  
startswithlistr  r   r<  )r  r  stylecode
insertionsrM  linemrG  lxlexer	codelinesrD  s   &&          r   r  $LiterateLexer.get_tokens_unprocessed  s      ,=[[]3'50==gGGE
F? ))$/{{}LL&&t,%%s4y)*GOOQWWQZ(H'I'K LGGAJ&D%%s4yAtT?2C&DE 0 8..GIE ))$/{{}{{}//>>$%	[[]--o>> !IME%%s4y'+G,J,J5,Q'R'T UEME 0  s4y#G$B$B5$IJL M ^^-R-RSW-XYYYs,   A J	JEJ:JB)J=J>J)r<  N)r{   r|   r}   r~   r   recompilerL  r=  r  r   r6  r7  s   @r   r:  r:    s,     
 jj+,G(*Z *Zr   r:  c                   J   a  ] tR tRt o RtRt. ROtR.tR.tRt	Rt
R tR	tV tR
# )r   i2  a7  
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.
zLiterate Haskellz*.lhsztext/x-literate-haskellz-https://wiki.haskell.org/Literate_programmingz0.9c                J    \        R/ VB p\        P                  ! W3/ VB  R # NrP   )r   r:  r=  r  r>  hslexers   &, r   r=  LiterateHaskellLexer.__init__D  s"    ))t88r   rP   N)zliterate-haskelllhaskelllhsr{   r|   r}   r~   r   r   r   r   r   r   r   r=  r   r6  r7  s   @r   r   r   2  s9     	 D5G	I*+I
9CM9 9r   c                   J   a  ] tR tRt o RtRt. ROtR.tR.tRt	Rt
R tR	tV tR
# )r   iI  a5  
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.
zLiterate Idrisz*.lidrztext/x-literate-idrisz?https://idris2.readthedocs.io/en/latest/reference/literate.htmlr   c                J    \        R/ VB p\        P                  ! W3/ VB  R # r`  )r   r:  r=  ra  s   &, r   r=  LiterateIdrisLexer.__init__[  s"    'w't88r   rP   N)zliterate-idrislidrislidrrf  r7  s   @r   r   r   I  s9     	 D2G
I()I
KCM9 9r   c                   J   a  ] tR tRt o RtRtRR.tR.tR.tRt	R	t
R
 tRtV tR# )r   i`  a  
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.
zLiterate Agdazliterate-agdalagdaz*.lagdaztext/x-literate-agdazEhttps://agda.readthedocs.io/en/latest/tools/literate-programming.htmlr   c                N    \        R/ VB p\        P                  ! W3R R/VB  R# )rA  rD  NrP   )r   r:  r=  )r  r>  	agdalexers   &, r   r=  LiterateAgdaLexer.__init__r  s'    ((	tLLGLr   rP   Nrf  r7  s   @r   r   r   `  s@     	 D(GI'(I
QCMM Mr   c                   J   a  ] tR tRt o RtRt. ROtR.tR.tRt	Rt
R tR	tV tR
# )r   iw  a7  
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.
zLiterate Cryptolz*.lcryztext/x-literate-cryptolr  r   c                J    \        R/ VB p\        P                  ! W3/ VB  R # r`  )r   r:  r=  )r  r>  crylexers   &, r   r=  LiterateCryptolLexer.__init__  s"    *'*t99r   rP   N)zliterate-cryptollcryptollcryrf  r7  s   @r   r   r   w  s9     	 D6G
I*+I
#CM: :r   c                   	   ] tR tRtRtRtRtR.tRR.tR.t	R	t
. R
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*Nt. RtOt. RuOt. RvOtR+tR,],           R-,           tR.t]P&                  t]P*                  t]P0                  tR/]! R04      R1],           ]R3R2]! ]]]4      R33R4]! ]]]4      R53R6P=                  R7P?                  ]4      4      R8,           ]! ]]]4      R3R9]! ]]]]]P@                  4      3R:]! ]]]P@                  ]]]]]]P@                  4	      3R;],           R<,           ]! ]]]]]PB                  4      3R=],           R<,           ]! ]]]]]]]PB                  4      3R6P=                  R7P?                  ]4      4      ],           ]PD                  3R6P=                  R7P?                  ]4      4      ],           ]3R6P=                  R7P?                  ]4      4      ],           ]PF                  3R>],           ]3R?]! ]P@                  ]4      3R@]! ]P@                  ]4      3RA],           R<,           ]! ]P@                  ]4      3RB]PH                  3RC]%PL                  RD3]RE,           ]'3RF]'3RG](3RH])PT                  3RI])PV                  3RJ])PX                  3RK]%PZ                  RL3RM]%PL                  RN3.R3RO]3]! R4      .R5RP](RQ3]! R4      .RRR]RS3]! RT4      .RSRU]RQ3RR]RS3RV]3RW]! ]]]4      3]! RT4      .RT]! R04      R6P=                  R7P?                  ]4      4      ],           ]3RXP=                  R7P?                  ]4      4      ],           RY,           ]RQ3RZ],           ]3R[]3RB]PH                  3R?]! ]P@                  ]4      3R\]! ]P@                  ]4      3R]]3].! RQ4      .
R0R^]! ]]/P`                  4      3R_]3R`]/Pb                  Ra3Rb]/Pd                  3.RaRc]/Pb                  3R`]/Pb                  Rd3Re]/Pb                  RQ3Rf]/Pb                  3.RDRg]%PL                  3Rh]%Pf                  3RM]%PL                  RQ3.RNRi]%PL                  3]! Rj4      Rk]%PL                  RQ3.RLRl]%PZ                  3]! Rj4      Rm]%PZ                  RQ3.RjRn]%Pf                  3Ro]%Pf                  3Rp]%Pf                  3Rq]%Pf                  3./t4Rrt5Rs# )wr   i  z
Lexer for the Koka language.
Kokaz/https://koka-lang.github.io/koka/doc/index.htmlkokaz*.kkz*.kkiztext/x-kokaz1.6r   r   r   r`   cotyperectypealiasstructconfunfunctionvalvarexternalrX   r_   rV   elifreturnrM  r   r   r+   r)   asr   inlinerectryyieldenumr   r[   z[$%&*+@!/\\^~=.:\-?|<>]+z(?!)z	(?![\w/])r#   
whitespacez::?z(alias)(\s+)([a-z]\w*)?z
alias-typez(struct)(\s+)([a-z]\w*)?zstruct-typez({})r.   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]+r3   charr5   r6   =z(?=\((?!,*\)))r;   z[(\[<]ztype-nestedztype-contentz[)\]>]r@   z([a-z]\w*)(\s*)(:)(?!:)z(?=(({})z))z[EPHVX]z[a-z][0-9]*(?![\w/])z((?:[a-z]\w*/)*)([a-z]\w+)z::|->|[.:|]z(\n\s*)(#.*)$r$   r  r'   r  r	  rD   r
  r  z[^"]+z""z	[^\\"\n]+z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}rP   N)r`   rz  r{  r|  r}  r  )r   existssomer   )forwhilerepeatforeachzforeach-indexedr*  catchfinallycsjsfilerefassigned)6r{   r|   r}   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   r   PseudoVariabler   Doubler   r   r   r   r   r   r   r   r   Preprocr   r   r   r   r   rP   r   r   r   r     s    D
;ChG!IIM##%, 	  		 	 !	 #(	
 	 	   % '/ 18 	  ' 	  ! 	  	 	   	  H 
L
G *G #%I H I::L|| 	L! iF3'':|)T((7J*UnnSXX&789 !"*7J"M Ngz7JOQ+ gz4>>:wPZz4>>;<%'./1:;gz7JNP ")*,56gz7JUYUbUbce
 ^^CHH\23h>M^^CHHX./(:GD^^CHHW-.97>>J)+W5 +dnn&679*HT^^T,JK&09<dnnd+-dmm$ FMM;/ |#X.8k* 26<<@!6::.'6;;'6==(+u;
| 	7OFO
 	V4FO
 		=1N#
 		6*	=19'dJ	24N#
 	L! ^^CHH\23h>H 23h>Ef ("I. %i0i(()*dnni02*dnni02 Y' FO/
6 	x
GOODEZ W&&	2w~~&	
 	))*W&&0W&&/g''(	
 	v}}%FMM"6==&)

 	6==)%&v}}f-

 	FKK(%&V,

 	fmm,!6==1!6==1!6==1
cXFr   )
r   r   r   r   r   r   r   r   r   r   )%r   r\  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   r:  r   r   r   r   r   rP   r   r   <module>r     s    
' ' '- - - %0
A: AH *l l^F
 FRF*: F*R=ZE =Z@9= 9.9 9.M M.:= :.T
 Tr   