Ë
    |í¼eó‰  ã                   óÎ   — d Z ddlZddl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 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y)zÈ
    pygments.lexers.ml
    ~~~~~~~~~~~~~~~~~~

    Lexers for ML family languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚdefaultÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚError)ÚSMLLexerÚ
OcamlLexerÚOpaLexerÚReasonLexerÚ
FStarLexerc                   óœ  — e Zd ZdZdZdgZg d¢ZddgZh d£Zh d£Z	h d	£Z
d
ZdZd„ Zd„ Zd„ Zd„ Zi ddefdej&                  dfg“ddedfdedfdej,                  dfdej,                  dfdej,                  dfg“dddj/                  d „ e
D «       «      z  efd!ej2                  d"fd#ej4                  d$fd%ej8                  fd&ej8                  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z  ej@                  fd.ez  ej@                  fd/ej,                  d0fd1ej,                  d2fd3ej,                  d4fd5ej,                  d6fd7ejB                  fd8ez  ed9fdez  efdez  efg“d9d8ez  efdez  edfdez  edfde"fd:e"fg“d; e#d«      g“d e$d«      d<ej,                  d=fd>ej,                  d?f e$d«       e$d«      d:e"fg“d@ e$d«      dAefdej&                  dfdBej,                  dCfdDej,                  dEfdFedCfdGej,                  dHf e$d«       e$d«      d:e"fg
“d" eej2                  «      “d$ eej4                  «      “dIdJdj/                  e«      z  edfg“d4 e$d«       e$dI«      dez  ejJ                  f e#d«      g“dC e$d«      d7ejB                  fdKedLfdez  ejL                  dfdez  ejL                  df e#d«      g“d= e$d«      d7ejB                  fdKedLfdMe›dNe›dO� e'ejP                  ee«      dfdMe›dNe›dO� e'ejP                  ee«      dfdez  ejP                  dfdez  ejP                  df e#d«      g“d6 e$d«       e$dI«      d7ejB                  fdKedLfdPez  edQfdez  ejR                  fdez  ejR                  fd:e"dfg“dR e$d«      dSej,                  dTf e$dI«       e$d«      d:e"dfg“d0 e$d«       e$dI«      d7ejB                  fdKedLfdU e'eeej,                  «      dfdPez  edVfdez  ejR                  fdez  ejR                  fd:e"dfg	“dW e$d«      dSej,                  dXfdYej,                  dTfdZej,                  fd[ez   e'eeejT                  «      fd\ez   e'eeejT                  «      f e$dI«       e$d«      d:e"fg	“ e$d«      d]ez   e'ej,                  eejT                  «      fd^ez   e'ej,                  eejT                  «      fdZej,                  fdMe›d_e›d`�ejT                  f e#d«      g e$d«      dez  ejT                  dfdez  ejT                  dfd:e"dfgdAefdej&                  dfd7ejB                  feefdaefdbedfeefgdcej&                  fdej&                  ddfdeej&                  dfdfej&                  fgdgœ¥Z+yh)ir   zB
    For the Standard ML language.

    .. versionadded:: 1.5
    zStandard MLÚsml)z*.smlz*.sigz*.funztext/x-standardmlzapplication/x-standardml>)   ÚasÚdoÚfnÚifÚinÚofÚopÚandÚendÚfunÚletÚrecÚsigÚvalÚcaseÚelseÚopenÚthenÚtypeÚwithÚinfixÚlocalÚraiseÚwhereÚwhileÚeqtypeÚhandleÚinfixrÚnonfixÚorelseÚstructÚabstypeÚandalsoÚfunctorr   ÚsharingÚdatatypeÚwithtypeÚ	exceptionÚ	signatureÚ	structure>   ú#ú:ú=ú->ú:>ú=>ú\|>
   ú...Ú_ú(ú)ú,ú;ú[ú]ú{ú}z[a-zA-Z][\w']*z[!%&$#+\-/:<=>?@\\~`^|*]+c           	      ó¾   — d| fdt         j                  fdt         j                  fdt         j                  fdt         j                  fdt         j                  fd| dfgS )	Nz[^"\\]z\\[\\"abtnvfr]z\\\^[\x40-\x5e]ú
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\\s+\\ú"ú#pop)r   ÚEscapeÚInterpol)Úwhatkinds    ú4/usr/lib/python3/dist-packages/pygments/lexers/ml.pyÚstringyzSMLLexer.stringy<   s\   € à˜Ð!Ø¤§¡Ð.ð  ¤§¡Ð/àœFŸM™MÐ*Ø!¤6§=¡=Ð1ØœŸ™Ð)Ø�8˜VÐ$ð
ð 	
ó    c              #   ó  K  — |j                  d«      | j                  v rt        }nt        j                  }|j                  d«      ||j                  d«      f–— |j                  d«      t        |j                  d«      f–— y ­w)Né   é   )ÚgroupÚalphanumid_reservedr   r   Ú	NamespaceÚstartr   ©ÚselfÚmatchÚtokens      rX   Úlong_id_callbackzSMLLexer.long_id_callbackK   sd   è ø€ Ø�;‰;�q‹>˜T×5Ñ5Ñ5Ü‰Eä—N‘NˆEØ�k‰k˜!‹n˜e U§[¡[°£^Ð3Ò3Ø�k‰k˜!‹nœk¨5¯;©;°q«>Ð9Ó9ùs   ‚BBc              #   óò   K  — |j                  d«      | j                  v rt        }n*|j                  d«      | j                  v rt        }nt        }|j                  d«      ||j                  d«      f–— y ­w©Nr\   )r^   r_   r   Úsymbolicid_reservedr   ra   rb   s      rX   Úend_id_callbackzSMLLexer.end_id_callbackS   s^   è ø€ Ø�;‰;�q‹>˜T×5Ñ5Ñ5Ü‰EØ�[‰[˜‹^˜t×7Ñ7Ñ7Ü‰EäˆEØ�k‰k˜!‹n˜e U§[¡[°£^Ð3Ó3ùs   ‚A5A7c              #   óÎ   K  — |j                  d«      }|| j                  v rt        j                  }n|| j                  v rt
        }nt        }|j                  d«      ||f–— y ­wrh   )r^   r_   r   ÚReservedri   r   r   ra   )rc   rd   Ústrre   s       rX   Úid_callbackzSMLLexer.id_callback\   sY   è ø€ Ø�k‰k˜!‹nˆØ�$×*Ñ*Ñ*Ü×$Ñ$‰EØ�D×,Ñ,Ñ,Ü‰EäˆEØ�k‰k˜!‹n˜e SÐ(Ó(ùs   ‚A#A%Ú
whitespaceú\s+ú\(\*ÚcommentÚ
delimitersz\(|\[|\{Úmainz\)|\]|\}rT   z\b(let|if|local)\b(?!\'))rt   rt   z\b(struct|sig|while)\b(?!\')z\b(do|else|end|in|then)\b(?!\')Úcoreú(%s)ú|c              #   óF   K  — | ]  }t        j                  |«      –— Œ y ­w)N)ÚreÚescape)Ú.0Úzs     rX   ú	<genexpr>zSMLLexer.<genexpr>|   s   è ø€ ÒE°¤§	¡	¨!§ÑEùs   ‚!z#"ÚcharrS   Ústringz~?0x[0-9a-fA-F]+z0wx[0-9a-fA-F]+z0w\d+z~?\d+\.\d+[eE]~?\d+z
~?\d+\.\d+z~?\d+[eE]~?\d+z~?\d+z#\s*[1-9][0-9]*z#\s*(%s)z#\s+(%s)z\b(datatype|abstype)\b(?!\')Údnamez\b(exception)\b(?!\')Úenamez4\b(functor|include|open|signature|structure)\b(?!\')Úsnamez\b(type|eqtype)\b(?!\')Útnamez	\'[\w\']*z(%s)(\.)Údottedz\S+Úrootz\b(val|and)\b(?!\')Úvnamez\b(fun)\b(?!\'))rT   úmain-funÚfnamer‡   z\sz\b(fun|and)\b(?!\')rˆ   z\b(val)\b(?!\'))rT   rt   r†   rF   z\b(case|handle)\b(?!\'))rT   rt   Úbreakoutz(?=\b(%s)\b(?!\'))ú\(ÚtyvarseqrI   z)(\s*)(=(?!z))z=(?!%s))rT   ÚtypbindrŒ   z\b(and)\b(?!\'))rT   rƒ   z(=)(\s*)(datatype))rT   ÚdatbindÚdatconr�   )rT   r€   z\b(withtype)\b(?!\')z\b(of)\b(?!\')z(\|)(\s*)(%s)z(\|)(\s+)(%s)z(and\b)(\s+)(%s)z(and\b)(\s*)(%s)z)|(rJ   rK   ú\)z[^(*)]ú#pushú\*\)ú[(*)])r�   rŽ   r‹   rr   N),Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr_   ri   Únonid_reservedÚalphanumid_reÚsymbolicid_rerY   rf   rj   rn   r   r	   Ú	Multiliner   r   rl   Újoinr   ÚCharÚDoubler   ÚHexÚIntegerÚFloatr   ÚLabelÚ	Decoratorr   r   r   r`   ÚFunctionr   ÚVariableÚTypeÚClassÚtokens© rZ   rX   r   r      sA  „ ñð €DØˆg€GÚ+€IØ$Ð&@ÐA€Iò	ÐòÐò J€Nà%€MØ0€Mò
ò:ò4ò)ðzàØ�TˆNØ�g×'Ñ'¨Ð3ð
ðzð 	ð ˜+ vÐ.Ø˜+ vÐ.Ø(¨'×*:Ñ*:Ð<LÐMØ,¨g×.>Ñ.>ÀÐGØ/°×1AÑ1AÀ6ÐJð
ðzð( 	à�s—x‘xÑE°nÔEÓEÑEØðð �F—K‘K Ð(Ø�6—=‘= (Ð+Ø  &§*¡*Ð-Ø §¡Ð,Ø�v—~‘~Ð&Ø# V§\¡\Ð2Ø˜FŸL™LÐ)Ø §¡Ð-Ø�v—~‘~Ð&ð   §¡Ð,Ø˜=Ñ(¨$¯*©*Ð5Ø˜=Ñ(¨$¯*©*Ð5à,¨g×.>Ñ.>ÀÐHØ% w×'7Ñ'7¸ÐAØDØ×Ñ˜wð(à'¨×)9Ñ)9¸7ÐCð ˜4Ÿ>™>Ð*Ø˜=Ñ(Ð*:¸HÐEØ�}Ñ$ kÐ2Ø�}Ñ$ kÐ2ð? 
ð)zðj 	Ø˜=Ñ(Ð*:Ð;Ø�}Ñ$ o°vÐ>Ø�}Ñ$ o°vÐ>Ø�UˆOØ�UˆOð
ðkzð~ 	Ù�F‹Oð
ðzðJ 	Ù�LÓ!ð $ W×%5Ñ%5°wÐ?Ø ×!1Ñ!1Ø*ð,ñ �LÓ!Ù�F‹OØ�UˆOð
ðKzðf 	Ù�LÓ!à�DˆMØ�g×'Ñ'¨Ð3ð $ W×%5Ñ%5°wÐ?Ø ×!1Ñ!1Ø&ð(ð �K Ð)Ø'¨×)9Ñ)9Øðñ �LÓ!Ù�F‹OØ�UˆOð%
ðgzðR 	‘˜Ÿ™Ó$ðSzðT 	‘'˜&Ÿ-™-Ó(ðUzðX 	Ø" S§X¡XÐ.AÓ%BÑBÀDÈ&ÐQð
ðYzðb 	Ù�LÓ!Ù�JÓà�}Ñ$ d§n¡nÐ5Ù�F‹Oð
ðczðt 	Ù�LÓ!Ø˜4Ÿ>™>Ð*Ø�K Ð,à�}Ñ$ d§m¡m°VÐ<Ø�}Ñ$ d§m¡m°VÐ<ñ �F‹Oð

ðuzðN 	Ù�LÓ!Ø˜4Ÿ>™>Ð*Ø�K Ñ,â&3²]ÐCÙ�d—m‘m T¨;Ó7¸ñAâ&3²]ÐCÙ�d—m‘m T¨;Ó7¸ðAà�}Ñ$ d§m¡m°VÐ<Ø�}Ñ$ d§m¡m°VÐ<ñ �F‹Oð
ðOzðp 	Ù�LÓ!Ù�JÓà˜4Ÿ>™>Ð*Ø�K Ð,Ø˜-Ñ'¨Ð6IÐJà�}Ñ$ g§l¡lÐ3Ø�}Ñ$ g§l¡lÐ3Ø�U˜FÐ#ð
ðqzðL 	Ù�LÓ!à ×!1Ñ!1Ð3DÐEá�JÓÙ�F‹OØ�U˜FÐ#ð
ðMzðb 	Ù�LÓ!Ù�JÓà˜4Ÿ>™>Ð*Ø�K Ð,Ø"Ù�k 4¨×)9Ñ)9Ó:¸FðDà˜-Ñ'¨Ø*ð,ð �}Ñ$ g§l¡lÐ3Ø�}Ñ$ g§l¡lÐ3Ø�U˜FÐ#ð
ðczðD 	Ù�LÓ!à ×!1Ñ!1Ð3DÐEØ$ g×&6Ñ&6Ð8IÐJØ × 0Ñ 0Ð1à Ñ-Ù�k 4¨¯©Ó4ð6à Ñ-Ù�k 4¨¯©Ó4ð6ñ �JÓÙ�F‹OØ�UˆOð
ðEzñj �LÓ!à  =Ñ0Ù�g×&Ñ&¨¨d¯j©jÓ9ð;à  =Ñ0Ù�g×&Ñ&¨¨d¯j©jÓ9ð;à × 0Ñ 0Ñ1Ú*ªMÐ:¸D¿J¹JÐGá�F‹Oð
ñ �LÓ!Ø�}Ñ$ d§j¡j°&Ð9Ø�}Ñ$ d§j¡j°&Ð9Ø�U˜FÐ#ð	
ð �DˆMØ�g×'Ñ'¨Ð3à˜4Ÿ>™>Ð*Ø˜DÐ!Ø�;ÐØ�K Ð(Ø˜DÐ!ð	
ð ˜×)Ñ)Ð*Ø�g×'Ñ'¨Ð1Ø�g×'Ñ'¨Ð0Ø�w×(Ñ(Ð)ð	
òiz�FrZ   r   c                   óÖ  — e Zd ZdZdZdZdgZg d¢ZdgZdZ	dZ
d	Zd
ZdZdZdZdej"                  fdej"                  fdej"                  fgdefdej(                  j*                  fdej,                  dfdej.                  fdedfddj3                  e	«      z  efddj3                  e
ddd…   «      z  efde›de›de›�efddj3                  e«      z  ej8                  fddj3                  e«      z  ej:                  fdefd ej>                  fd!ej@                  fd"ejB                  fd#ejD                  fd$ejF                  fd%ejH                  fd&ejH                  fd'efd(ejJ                  d)fd*ejL                  fgd+efd,ed-fd.ed/fd0efgd1ejJ                  f e'd2«      d3ejJ                  fd(ejJ                  d/fgdefd4e(fd5ej,                  fd6ej.                  d/fd7ed/f e)d/«      gd8œZ*y)9r   z<
    For the OCaml language.

    .. versionadded:: 0.7
    ÚOCamlzhttps://ocaml.org/Úocaml)z*.mlz*.mliz*.mllz*.mlyztext/x-ocaml)0r   r   ÚassertÚbeginÚclassÚ
constraintr   ÚdoneÚdowntor'   r    r=   ÚexternalÚfalseÚforr!   Úfunctionr9   r   r   r   ÚinheritÚinitializerÚlazyr"   rd   ÚmethodÚmoduleÚmutableÚnewÚobjectr   r(   Úprivater.   r#   r$   r6   r)   ÚtoÚtrueÚtryr*   r%   ÚvirtualÚwhenr0   r+   ))ú!=r@   ú&ú&&rŠ   r�   ú\*ú\+rK   ú-ú-\.rC   ú\.ú\.\.rA   ú::ú:=rD   rL   ú;;ú<ú<-rB   ú>ú>]ú>\}ú\?ú\?\?ú\[ú\[<ú\[>ú\[\|rN   rH   ú`ú\{ú\{<rF   ú\|]ú\}ú~ú[!$%&*+\./:<=>?@^|~-])ÚasrÚlandÚlorÚlslÚlxorÚmodÚorú[!?~]ú[=<>@^|&+\*/$%-]©ÚunitÚintÚfloatÚboolr   r~   ÚlistÚarrayú\\[\\"\'ntbr]rR   ú\\x[0-9a-fA-F]{2}rp   úfalse|true|\(\)|\[\]ú\b([A-Z][\w\']*)(?=\s*\.)r„   ú\b([A-Z][\w\']*)ú\(\*(?![)])rr   ú\b(%s)\brw   rv   NéÿÿÿÿrI   ú)?ú[^\W\d][\w']*ú(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)ú0[xX][\da-fA-F][\da-fA-F_]*ú0[oO][0-7][0-7_]*ú0[bB][01][01_]*ú\d[\d_]*ú7'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'ú'.'ú'rS   r   ú[~?][a-z][\w\']*:ú[^(*)]+rq   r�   r‘   rT   r’   ú[^\\"]+úescape-sequenceú\\\nrÏ   ú[A-Z][\w\']*(?=\s*\.)ú[A-Z][\w\']*ú[a-z_][\w\']*©r  r…   rr   r   r„   )+r“   r”   r•   r–   r—   Úurlr˜   r™   rš   ÚkeywordsÚkeyoptsÚ	operatorsÚword_operatorsÚprefix_symsÚ
infix_symsÚ
primitivesr   rU   r   r   ÚBuiltinÚPseudor`   rª   r	   rŸ   r   r
   ÚWordr©   r   r¤   r¢   ÚOctÚBinr£   r    r¡   r¨   r   r   r   r«   r¬   rZ   rX   r   r   c  s`  „ ñð €DØ
€CØˆi€GÚ3€IØÐ €Ið€Hð€Gð )€IØG€NØ€KØ$€JØT€Jð ˜vŸ}™}Ð-Ø˜FŸM™MÐ*Ø! 6§=¡=Ð1ð
ð �TˆNØ$ d§l¡l×&9Ñ&9Ð:Ø)¨4¯>©>¸8ÐDØ  $§*¡*Ð-Ø˜W iÐ0Ø˜3Ÿ8™8 HÓ-Ñ-¨wÐ7Ø�s—x‘x ©¨"¨¡Ó.Ñ.°Ñ9Ú(ª+±yÐAÀ8ÐLØ˜3Ÿ8™8 NÓ3Ñ3°X·]±]ÐCØ˜3Ÿ8™8 JÓ/Ñ/°·±Ð>à˜tÐ$à8¸&¿,¹,ÐGØ+¨V¯Z©ZÐ8Ø! 6§:¡:Ð.Ø §¡Ð,Ø˜&Ÿ.™.Ð)àGØ�[‰[ðà�V—[‘[Ð!Ø�7ˆOà�6—=‘= (Ð+à! 4§=¡=Ð1ð7
ð< ˜Ð!Ø�g˜wÐ'Ø�g˜vÐ&Ø�wÐð	
ð ˜Ÿ™Ð'ÙÐ%Ó&Ø�f—m‘mÐ$Ø�6—=‘= &Ð)ð	
ð �TˆNØ�KÐ Ø% t§~¡~Ð6Ø˜dŸj™j¨&Ð1Ø˜t VÐ,Ù�F‹Oð
ñ_7�FrZ   r   c                   óà  — e Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	Zi d
dej                  fdej                  fdej                  fg“ddedfdefg“d ed«      defg“d ed«       eedd¬«      efde	z   dz   ej(                  j*                  fdej.                  fdej.                  fdej.                  fdej0                  fdej2                  fdej4                  fdej6                  fdej6                  fd ej8                  d!fd"ej:                  fd#ed$fd%ed&fd'ej>                  d(fd)ej@                  fd*e
z   d+z   ej@                  fd,ejB                  fd-e
z   d+z   efd.e
z  efd.ez  efd/ed0fd1e	z   ejD                  fd2e	z   ej>                  fd3ej>                  fe	efg“d0 ed«      d4ejD                  f e#d5«      g“d6 ed«      d7ejD                  d8fd9ejD                  d:fe	d7z   ejD                  d8fe	ejD                  d&fd1e	z   ejD                  f e#d&«      g“d; ed«       e#d<«      g“d= ed«      d>ejD                  d?f e#d&«      g“d@ ed«      d4ejD                  dAfdBejD                  dCf e#d&«      g“dD ed«      dEejD                  d;fd4ejD                  dAf e#d&«      g“dF ed«      dGejD                  fdHejD                  fd7ejD                  d$fdIejD                  d&fg“dJ ed«      dKejD                  fdHejD                  fd#ejD                  d$fd%ejD                  d&fg“ddLefded$fdMed&fdHefg“d!dNej8                  fd ej8                  d&fd#edf ed
«      g“dOdPej8                  fdQej8                  d&fd#edf ed
«      g“d(dRej>                  dSfdTej>                  dUfg“dVdWej>                  d&fg“defdXej>                  dYfdZej>                  d&fdTej>                  dUfgd1ej>                  d[fd ej>                  d\fd2e	z   ej>                  d&fd3ej>                  d]fd^ej>                  d&fd#ed]fgd_ed`fdaej>                  dbfdcej>                  d(fd#edfddej>                  fgdeed&fdfefgdgœ¥Z$yh)ir   z@
    Lexer for the Opa language.

    .. versionadded:: 1.5
    ÚOpaÚopaz*.opaz
text/x-opa)r   r   r±   r&   ÚclientÚcssÚdatabaseÚdbr   r'   r    r¶   Úforallr¹   r   Úimportrd   r¾   rì   ÚpackageÚparserr#   Úserverr)   r*   r%   r+   Ú
xml_parserz(([a-zA-Z_]\w*)|(`[^`]*`))z[.=\-<>,@~%/+?*&^!]z[()\[\],;|]r  z\\[\\"\'ntr}]rR   r÷   Úcommentsz/\*znested-commentz//.*?$zcomments-and-spacesrp   r…   z\b)ÚprefixÚsuffixú@z-?.[\d]+([eE][+\-]?\d+)z-?\d+.\d*([eE][+\-]?\d+)z-?\d+[eE][+\-]?\d+z0[xX][\da-fA-F]+z0[oO][0-7]+z
0[bB][01]+z\d+z#[\da-fA-F]{3,6}rS   r   z9'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2})|.)'rà   r�   rã   rT   z<(?=[a-zA-Z>])zhtml-open-tagz[@?!]?(/\w+)+(\[_\])?z<-(?!rJ   z\b([A-Z]\w*)(?=\.)z=(?!z(%s)+rA   r*   r  r@   z#(?=\{)rC   )rT   ú
type-lhs-1útype-with-slashútype-1rŠ   )rT   ú
type-tuplez~?\{)rT   útype-recordr0  )rT   úslash-type-1r1  r4  ú/)rT   r1  r/  )rT   r*   z(?=,))rT   ú
type-arrowr6  z,(?=[^:]*?->)r2  z[^()/*]+z[/*]r�   r3  z[^{}/*]+ú[^/*]+z\*/z[^\\"{]+úsingle-stringz	[^\\\'{]+z\'z[\w\-:]+)rT   ú	html-attrrÖ   )rT   úhtml-contentúhtml-end-tagz	[\w\-:]*>z	[\w\-:]+=úhtml-attr-valuez/>)rT   r8  )rT   r   )rT   r…   z[^"\'{`=<>]+z<!--úhtml-commentz</)rT   r;  rÔ   z[^<{]+z-->z[^\-]+|-)r9  r<  r:  r=  N)%r“   r”   r•   r–   r—   r˜   r™   rš   r  Úident_reÚop_reÚpunc_rer   rU   r	   r   r   r   r   r   r  r  r   r¤   r¢   r  r  r£   r¡   r    r
   ÚSingler¨   r`   r©   r   r«   r¬   rZ   rX   r   r   À  sj  „ ñð €DØˆg€GØ�	€IØ�€Ið
€Hð -€Hà"€EØ€GðcàØ˜vŸ}™}Ð-Ø˜FŸM™MÐ*Ø! 6§=¡=Ð1ð
ðcð 	Ø�WÐ.Ð/Ø˜Ð ð
ðcð 	Ù�JÓØ�TˆNð 
ðcð$ 	ÙÐ)Ó*á�8 E°%Ô8¸'ÐBð �H‰_˜uÑ$ d§l¡l×&9Ñ&9Ð:ð (¨¯©Ð6Ø(¨&¯,©,Ð7Ø" F§L¡LÐ1Ø  &§*¡*Ð-Ø˜VŸZ™ZÐ(Ø˜FŸJ™JÐ'Ø�V—^‘^Ð$à  &§.¡.Ð1ð �6—=‘= (Ð+ð JØ�[‰[ðð �H˜gÐ&Ø�H˜fÐ%ð  §¡¨Ð?ð & t§}¡}Ð5ð �e‰^˜DÑ  $§-¡-Ð0ð # D§N¡NÐ3ð �U‰]˜4Ñ Ð)Ø˜Ñ˜xÐ(Ø˜Ñ Ð*ð �8˜VÐ$ð �‰\˜7Ÿ<™<Ð(ð �(‰]˜FŸM™MÐ*Ø˜Ÿ™Ð'ð �tÐðcU
ð%cðt 	ÙÐ)Ó*Ø�G—L‘LÐ!ÙÐ=Ó>ð
ðucðF 	ÙÐ)Ó*Ø�G—L‘LÐ"8Ð9Ø�g—l‘lÐ$;Ð<Ø�e‰^˜WŸ\™\Ð+AÐBØ�w—|‘| VÐ,Ø�‰\˜7Ÿ<™<Ð(ñ
 �F‹Oð
ðGcðh 	ÙÐ)Ó*ÙÐ6Ó7ð
ðicðp 	ÙÐ)Ó*Ø�'—,‘,Ð 2Ð3á�F‹Oð	
ðqcðH 	ÙÐ)Ó*Ø�G—L‘LÐ"2Ð3Ø�w—|‘|Ð%;Ð<Ù�F‹Oð	
ðIcðT 	ÙÐ)Ó*ð ˜wŸ|™|Ð->Ð?Ø�G—L‘LÐ"2Ð3á�F‹Oð
ðUcðt 	ÙÐ)Ó*Ø˜'Ÿ,™,Ð'Ø�g—l‘lÐ#Ø�G—L‘L 'Ð*Ø�G—L‘L &Ð)ð
ðucðB 	ÙÐ)Ó*Ø˜'Ÿ,™,Ð'Ø�g—l‘lÐ#Ø�G—L‘L 'Ð*Ø�G—L‘L &Ð)ð
ðCcðx 	Ø˜Ð Ø�W˜gÐ&Ø�W˜fÐ%Ø�gÐð	
ðycðJ 	Ø˜&Ÿ-™-Ð(Ø�6—=‘= &Ð)Ø�H˜fÐ%ÙÐ%Ó&ð	
ðKcðV 	Ø˜6Ÿ=™=Ð)Ø�F—M‘M 6Ð*Ø�H˜fÐ%ÙÐ%Ó&ð	
ðWcðp 	Ø˜&Ÿ-™-Ð)>Ð?Ø�6—=‘=Ð":Ð;ð
ðqcð~ 	à˜6Ÿ=™=¨&Ð1ð
ðcðN �TˆNØ˜6Ÿ=™=Ð*;Ð<Ø�F—M‘M 6Ð*Ø�6—=‘=Ð":Ð;ð	
ð �6—=‘=Ð";Ð<Ø�6—=‘=Ð"4Ð5Ø�(‰]˜FŸM™M¨6Ð2Ø˜Ÿ™Ð(8Ð9Ø˜fŸm™m¨VÐ4Ø�HÐ.Ð/ð
ð �g˜~Ð.Ø�F—M‘MÐ#;Ð<Ø�6—=‘= /Ð2Ø�H˜fÐ%Ø˜Ÿ™Ð&ð
ð �W˜fÐ%Ø˜'Ð"ð
òc�FrZ   r   c                   ój  — e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
dZdZdZdZdZdej"                  fdej"                  fdej"                  fgdefdej(                  j*                  fdej,                  dfdej.                  fdej2                  fdej4                  dfddj7                  e	«      z  efddj7                  e
ddd…   «      z  ej<                  fd e›de›d!e›�efddj7                  e«      z  ej<                  fddj7                  e«      z  ej>                  fd"efd#e jB                  fd$e jD                  fd%e jF                  fd&e jH                  fd'e jJ                  fd(ejL                  fd)ejL                  fd*efd+ejN                  d,fd-ejP                  fgd.ej4                  fd/ej4                  d0fd1ej4                  d2fd3ej4                  fgd4ejN                  f e)d5«      d6ejN                  fd+ejN                  d2fgdefd7e*fd8ej,                  fd9ej.                  d2fd:ed2f e+d2«      gd;œZ,y)<r   z?
    For the ReasonML language.

    .. versionadded:: 2.6
    ÚReasonMLzhttps://reasonml.github.io/ÚreasonmlÚreasonz*.rez*.reiztext/x-reasonml)0r   r°   r±   r²   r³   r   r´   rµ   r'   r    r=   r¶   r·   r¸   r!   Úesfunr¹   r9   r   r   r   rº   r»   r¼   r"   Úswitchr¾   Úpubr¿   rÀ   ÚnonrecrÁ   r   r(   Úprir#   r$   r6   r)   rÃ   rÄ   rÅ   r*   r%   rÆ   rÇ   r0   r+   )+rÈ   r@   rÉ   rÊ   rŠ   r�   rË   rÌ   rK   rÍ   rÎ   rE   rÏ   rÐ   z\.\.\.rA   rÑ   rÒ   rD   rL   rÓ   rÔ   rÕ   rB   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rN   rH   rß   rà   rá   rF   z\|\|râ   rã   rä   rå   )	r   ræ   rç   rè   ré   Úlsrrê   rë   rì   rí   rî   rï   rö   rR   r÷   rp   rø   rù   r„   rú   z//.*?\nz	\/\*(?!/)rr   rü   rw   rv   Nrý   rI   rþ   rÿ   r   r  r  r  r  r  r  r  rS   r   r  r7  z\/\*r�   z\*\/rT   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   rU   r   r   r  r  r`   rª   r	   rA  rž   rŸ   r   r
   r  r©   r   r¤   r¢   r  r  r£   r    r¡   r¨   r   r   r   r«   r¬   rZ   rX   r   r     s–  „ ñð €DØ
'€CØ˜8Ð$€GØ˜Ð!€IØ"Ð#€Ið€Hð€Gð )€IØU€NØ€KØ$€JØT€Jð ˜vŸ}™}Ð-Ø˜FŸM™MÐ*Ø! 6§=¡=Ð1ð
ð �TˆNØ$ d§l¡l×&9Ñ&9Ð:Ø)¨4¯>©>¸8ÐDØ  $§*¡*Ð-Ø˜Ÿ™Ð(Ø˜7×,Ñ,¨iÐ8Ø˜3Ÿ8™8 HÓ-Ñ-¨wÐ7Ø�s—x‘x ©¨"¨¡Ó.Ñ.°·±Ñ>Ú(ª+±yÐAÀ8ÐLØ˜3Ÿ8™8 NÓ3Ñ3°X·]±]ÐCØ˜3Ÿ8™8 JÓ/Ñ/°·±Ð>à˜tÐ$à8¸&¿,¹,ÐGØ+¨V¯Z©ZÐ8Ø! 6§:¡:Ð.Ø §¡Ð,Ø˜&Ÿ.™.Ð)àGØ�[‰[ðà�V—[‘[Ð!Ø�7ˆOà�6—=‘= (Ð+à! 4§=¡=Ð1ð9
ð> ˜×)Ñ)Ð*Ø�g×'Ñ'¨Ð1Ø�g×'Ñ'¨Ð0Ø�G×%Ñ%Ð&ð	
ð ˜Ÿ™Ð'ÙÐ%Ó&Ø�f—m‘mÐ$Ø�6—=‘= &Ð)ð	
ð �TˆNØ�KÐ Ø% t§~¡~Ð6Ø˜dŸj™j¨&Ð1Ø˜t VÐ,Ù�F‹Oð
ña8�FrZ   r   c                   ó>  — e Zd ZdZdZdZdgZddgZdgZdZ	d	Z
d
ZdZdZdZdZdZdej$                  fdej$                  fdej$                  fgdefdej*                  j,                  fdej.                  dfdej0                  fdedfdefddj5                  e	«      z  efddj5                  e«      z  ej8                  fddj5                  e
«      z  ej:                  fddj5                  eddd…   «      z  efd e›de›d!e›�efddj5                  e«      z  ej>                  fd"efd#e jB                  fd$e jD                  fd%e jF                  fd&e jH                  fd'e jJ                  fd(ejL                  fd)ejL                  fd*efd+ejN                  fd,efd-ejP                  d.fd/ejR                  fgd0efd1ed2fd3ed4fd5efgd6ejP                  f e*d7«      d8ejP                  fd-ejP                  d4fgdefd9e+fd:ej.                  fd;ej0                  d4fd<ed4f e,d4«      gd=œZ-y)>r   z8
    For the F* language.
    .. versionadded:: 2.7
    ÚFStarzhttps://www.fstar-lang.org/Úfstarz*.fstz*.fstiztext/x-fstar)5ÚabstractÚ
attributesÚnoeqÚunopteqÚandbeginÚbyr   Úeffectr'   r    Úensuresr=   Úexistsr·   r%  r!   r¹   r   r   r   ÚinlineÚinline_for_extractionÚirreducibleÚlogicrd   r¾   r¿   rÀ   Ú
new_effectÚ	noextractr   r(   ÚopaquerÂ   Úrange_ofÚ	reifiableÚreifyÚreflectableÚrequiresÚset_range_ofÚ
sub_effectÚsynthr)   ÚtotalrÄ   rÅ   r*   ÚunfoldÚ
unfoldabler%   rÇ   r+   Únot)r"   r#   )ÚassumeÚadmitr°   Úcalc)/rä   rÍ   z/\\z\\/z<:z<@z\(\|z\|\)r@   zu#rÉ   rŠ   r�   z\(\)rK   z~>rC   rÕ   z<--z<==>z==>rÏ   rÙ   z\?\.z\.\[z\.\(z\.\(\|z\.\[\|z
\{:patternrA   rÑ   rÒ   rL   rÓ   rB   z%\[z!\{rÛ   z\[@rÞ   z\|>z\]z\|\]rà   rF   rã   z\$rå   rí   rî   rï   rö   rR   r÷   rp   zfalse|true|False|True|\(\)|\[\]rù   r„   rú   rû   rr   z\/\/.+$rü   rw   rv   Nrý   rI   rþ   rÿ   r   r  r  r  r  r  r  r  z\`([\w\'.]+)\`z\`rS   r   r  r	  rq   r�   r‘   rT   r’   r
  r  r  rÏ   r  r  r  r  ).r“   r”   r•   r–   r—   r  r˜   r™   rš   r  Údecl_keywordsÚassume_keywordsr  r  r  r  r  r   rU   r   r   r  r  r`   rª   r	   rŸ   r   Ú	ExceptionÚDeclarationr
   r©   r   r¤   r¢   r  r  r£   r    r  r¡   r¨   r   r   r   r«   r¬   rZ   rX   r   r   `  s¥  „ ñð
 €DØ
'€CØˆi€GØ˜(Ð#€IØÐ €Ið
€Hð #€MØ;€Oð€Gð )€IØ€KØ$€JØT€Jð ˜vŸ}™}Ð-Ø˜FŸM™MÐ*Ø! 6§=¡=Ð1ð
ð �TˆNØ/°·±×1DÑ1DÐEØ)¨4¯>©>¸8ÐDØ  $§*¡*Ð-Ø˜W iÐ0Ø˜Ð!Ø˜3Ÿ8™8 HÓ-Ñ-¨wÐ7Ø˜3Ÿ8™8 OÓ4Ñ4°d·n±nÐEØ˜3Ÿ8™8 MÓ2Ñ2°G×4GÑ4GÐHØ�s—x‘x ©¨"¨¡Ó.Ñ.°Ñ9Ú(ª+±yÐAÀ8ÐLØ˜3Ÿ8™8 JÓ/Ñ/°·±Ð>à˜tÐ$à8¸&¿,¹,ÐGØ+¨V¯Z©ZÐ8Ø! 6§:¡:Ð.Ø §¡Ð,Ø˜&Ÿ.™.Ð)àGØ�[‰[ðà�V—[‘[Ð!Ø�7ˆOØ §¡Ð.Ø�GÐØ�6—=‘= (Ð+à! 4§=¡=Ð1ð=
ðB ˜Ð!Ø�g˜wÐ'Ø�g˜vÐ&Ø�wÐð	
ð ˜Ÿ™Ð'ÙÐ%Ó&Ø�f—m‘mÐ$Ø�6—=‘= &Ð)ð	
ð �TˆNØ�KÐ Ø% t§~¡~Ð6Ø˜dŸj™j¨&Ð1Ø˜t VÐ,Ù�F‹Oð
ñe:�FrZ   r   )r–   ry   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r   r   r   r¬   rZ   rX   ú<module>ru     sv   ðñó 
ç HÕ H÷÷ õ ò N€ôLˆzô Lô^
Z�ô Zôz@ˆzô @ôF
Z�*ô Zôz`�õ `rZ   