HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pygments/lexers/__pycache__/dotnet.cpython-311.pyc
�

�E�ct��z�dZddlZddlmZmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZddlmZgd�ZGd	�d
e��ZGd�de��Z Gd
�de��Z!Gd�de��Z"Gd�de��Z#Gd�de��Z$Gd�de��Z%Gd�de��Z&dS)z�
    pygments.lexers.dotnet
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for .net languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�DelegatingLexer�bygroups�include�using�this�default�words)�Punctuation�Text�Comment�Operator�Keyword�Name�String�Number�Literal�Other�
Whitespace)�get_choice_opt)�	unistring)�XmlLexer)�CSharpLexer�NemerleLexer�BooLexer�
VbNetLexer�CSharpAspxLexer�VbNetAspxLexer�FSharpLexerc��eZdZdZdZdZgd�ZdgZdgZe	j
e	jzZdde
jd	d
ddd
��zdzdze
jd	d
ddd
ddddd�
�
zdzde
jd	d
dddd
��zdzdze
jd	d
dddd
ddddd��zdzd�ZiZdZe���D�]\ZZdezdzezdzeeee��ejee��fdeeej��fd efd!eee��fd"ej fd#ej!fd$efe"d%��e#fd&e#fd'efd(efd)e$fd*e$fd+e$j%fd,e&fd-eej'eej'ej'e��fd.ee(ee(��fd/e(fd0ee(e��fd1e(j)fd2ee(e��d3fd4ee(e��d5feefgeej*d6fe+d6��gd7ed6fd8ezd9zej,d6fgd:�ee<�� d;�Z-d<S)=ra�
    For C# source code.

    Additional options accepted:

    `unicodelevel`
      Determines which Unicode characters this lexer allows for identifiers.
      The possible values are:

      * ``none`` -- only the ASCII letters and numbers are allowed. This
        is the fastest selection.
      * ``basic`` -- all Unicode characters from the specification except
        category ``Lo`` are allowed.
      * ``full`` -- all Unicode characters as specified in the C# specs
        are allowed.  Note that this means a considerable slowdown since the
        ``Lo`` category has more than 40,000 characters in it!

      The default value is ``basic``.

      .. versionadded:: 0.8
    zC#z/https://docs.microsoft.com/en-us/dotnet/csharp/)�csharpzc#�csz*.csz
text/x-csharp�@?[_a-zA-Z]\w*�@?[_�Lu�Ll�Lt�Lm�Nl�]�[�Nd�Pc�Cf�Mn�Mc�]*�	@?(?:_|[^�Lo�])�[^��none�basic�fullT�
^([ \t]*)((?:�(?:\[\])?\s+)+?)(�
)(\s*)(\()�^(\s*)(\[.*?\])�[^\S\n]+�(\\)(\n)�//.*?\n�/[*].*?[*]/�\n)(z>>>=z>>=z<<=z<=z>=z+=z-=z*=z/=z%=z&=z|=z^=z??=z=>z??z?.�!=z==�&&z||z>>>z>>z<<z++z--�+�-�*�/�%�&�|�^�<�>�?�!�~�=�=~|!=|==|<<|>>|[-+/*%=<>&^|]z[()\[\];:,.]�[{}]�
@"(""|[^"])*"z!\$?"(\\\\|\\[^\\]|[^"\\\n])*["\n]�
'\\.'|'[^\\]'zB[0-9]+(\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?zb(#)([ \t]*)(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b(.*?)(\n)�\b(extern)(\s+)(alias)\ba(abstract|as|async|await|base|break|by|case|catch|checked|const|continue|default|delegate|do|else|enum|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|interface|internal|is|let|lock|new|null|on|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|true|try|typeof|unchecked|unsafe|virtual|void|while|get|set|new|partial|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\b�(global)(::)zk(bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??z(class|struct)(\s+)�class�(namespace|using)(\s+)�	namespace�#pop�(?=\()�(�|\.)+)�rootrYr[c���t|dt|j��d��}||jvr |j�|��|_n|j||_tj|fi|��dS�N�unicodelevelr8�	r�list�tokens�_all_tokens�	__class__�process_tokendef�_tokensr�__init__��self�options�levels   �8/usr/lib/python3/dist-packages/pygments/lexers/dotnet.pyrkzCSharpLexer.__init__�st���w���T�[�8I�8I�7�S�S����(�(�(��>�:�:�5�A�A�D�L�L��+�E�2�D�L���D�,�,�G�,�,�,�,�,�N).�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�	mimetypes�re�	MULTILINE�DOTALL�flags�uni�combine�	allexcept�levelsrf�token_variants�items�	levelname�cs_identrrrrr�Functionr�	Attributerr
�Single�	Multiliner
rr�Charr�Preprocr�Type�Classr	�	Namespacerk�rqrprrs~��������,�D�
;�C�$�$�$�G���I� �!�I��L�2�9�$�E�"��;�3�;�t�T�4��t�D�D�D�s�J���#���D�$��d�D�$��$(�$��6�6�6�8<�=�����t�T�4��t�T�B�B�C�EI�J���%��
�d�D�$��d�D�&*�D�$��d�D�D�D�GK�K�	�	�F��F��N�%�|�|�~�~�>
�>
��	�8�"�H�,�0�� �!�$����*�e�e�D�k�k�4�=�*�%�'�'�(�
$�X�X�j�$�.�%I�%I�J��j�)��h�h�t�Z�8�8�9��W�^�,���!2�3��
�#������
��1�(�;� �+�.��+�&�!�6�*�5�v�>�!�6�;�/�5�6<�>�K���'�/�:�w��!�/�:�7�7�8�-�h�h�w�
��/�/��#�%,�-�!�(�(�7�K�"@�"@�A�C�DK�L�R�'���'�:�)F�)F��P�*�H�H�W�j�,I�,I�;�W��4� �e3�j�4�:�v�.�������
�D�&�)��x��(�*�D�N�F�C��s=
�=
��y���~-�-�-�-�-rqrc"�*�eZdZdZdZdZdgZdgZdgZe	j
e	jzZdde
jd	d
ddd
��zdzdze
jd	d
ddd
ddddd�
�
zdzde
jd	d
dddd
��zdzdze
jd	d
dddd
ddddd��zdzd�ZiZdZe���D�]�\ZZdezdzezdzeeee��ejee��fdeeej��fd efd!eee��fd"ej fd#ej!fd$efd%ee"ee"��d&fd'ee"ee"��d(fd)e"d*fd+ezd,zee#ee#��fd-e#fd.ezefd/eee��d0fd1efd2efd3e"fd4e"fd5e"j$fd6e%fd7e%fd8eej&eej&��d9fd:ee#ee#��fd;e#fd<ee#e��fd=e#j'fd>ezd?zeeee#j'��fd@ee#e��dAfdBee#e��dCfeefgeej(dDfgdEej&fdFefd$edDfgdGedDfdHezdIzej)dDfgdJe"fd.ezefd/eee��d0fdKe"fdLe"dDfgdMe"fd.ezefd/eee��d0fd)e"dNfdOe"dDfgdPe"fd)e"dNfdOe"dDfgdQe#fdRefeefdSe%fdTedNfdUedDfgdV�ee<���dW�Z*dX�Z+dYS)Zra�
    For Nemerle source code.

    Additional options accepted:

    `unicodelevel`
      Determines which Unicode characters this lexer allows for identifiers.
      The possible values are:

      * ``none`` -- only the ASCII letters and numbers are allowed. This
        is the fastest selection.
      * ``basic`` -- all Unicode characters from the specification except
        category ``Lo`` are allowed.
      * ``full`` -- all Unicode characters as specified in the C# specs
        are allowed.  Note that this means a considerable slowdown since the
        ``Lo`` category has more than 40,000 characters in it!

      The default value is ``basic``.

    .. versionadded:: 1.5
    �Nemerlezhttp://nemerle.org�nemerlez*.nztext/x-nemerler#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6Tr:r;r<r=r>r?r@rArBz(\$)(\s*)(")�
splice-stringz
(\$)(\s*)(<#)�splice-string2z<#�recursive-stringz(<\[)(\s*)(z:)?z\]\>z\$z(\$)(\()�splice-string-contentz[~!%^&*()+=|\[\]:;,.<>/?-]rTrUz"(\\\\|\\[^\\]|[^"\\\n])*["\n]rVz0[xX][0-9a-fA-F]+[Ll]?z*[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?zY(#)([ \t]*)(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b�preprocrWa�(abstract|and|as|base|catch|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|syntax|this|throw|true|try|type|typeof|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\brXzo(bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|array|list)\b\??z(:>?)(\s*)(z\??)z"(class|struct|variant|module)(\s+)rYrZr[r\z\w+z[ \t]+r]r^r_z[^"$]z\\"�"z[^#<>$]�#pushz#>z[^#<>]zif|matchz[~!%^&*+=|\[\]:;,.<>/?-\\"$ ]�\d+�\(�\))r`rYr�r[r�r�r�r�c���t|dt|j��d��}||jvr |j�|��|_n|j||_tj|fi|��dSrbrdrls   rprkzNemerleLexer.__init__0sy���w���T�[�8I�8I�&�(�(����(�(�(��>�:�:�5�A�A�D�L�L��+�E�2�D�L���D�,�,�G�,�,�,�,�,rqc��d}d|vr|dz
}|S)zUNemerle is quite similar to Python, but @if is relatively uncommon
        elsewhere.rz@ifg�������?r���text�results  rp�analyse_textzNemerleLexer.analyse_text;s �����D�=�=��c�M�F��
rqN),rrrsrtrurvrwrxryrzr{r|r}r~rr�r�r�rfr�r�r�r�rrrrrr�rr�rr
r�r�rrr�rr�r�r�r�rkr�r�rqrprr�s$��������,�D�
�C��k�G���I�!�"�I��L�2�9�$�E�"��;�3�;�t�T�4��t�D�D�D�s�J���#���D�$��d�D�$��$(�$��6�6�6�8<�=�����t�T�4��t�T�B�B�C�EI�J���%��
�d�D�$��d�D�&*�D�$��d�D�D�D�GK�K�	�	�F��F��N�%�|�|�~�~�j
�j
��	�8�"�H�,�0�� �!�$����*�e�e�D�k�k�4�=�*�%�'�'�(�
$�X�X�j�$�.�%I�%I�J��j�)��h�h�t�Z�8�8�9��W�^�,���!2�3��
�#� �(�(�6�:�v�"F�"F�#�%�!�8�8�F�J��#G�#G�$�&��� 2�3��(�*�U�2���'�:�w�7�7�9��'�"���!�4�(��h�h�t�[�9�9�(�*�/��<��+�&�!�6�*�2�F�;�!�6�;�/�*�F�3�>��G�B���'�/�:�w��G�G��T�-�h�h�w�
�G�.T�.T�U�:�<C�D�!�(�(�7�K�"@�"@�A�I���� �(�*�W�4���+�z�7�<�@�@�B�6���'�:�.�.��9�*�H�H�W�j�,I�,I����4� �{>�@�4�:�v�.�����)��J�'��
�F�+���D�&�)��x��(�*�D�N�F�C��
�F�#���!�4�(��h�h�t�[�9�9�(�*��&�!����'�
��f�%���!�4�(��h�h�t�[�9�9�(�*����)����(�
��V�$����)����(�!��g�&�1�;�?��4� ��� ���W�-���V�,�
&�Ci
�i
��y���V	-�	-�	-�����rqrc�@�eZdZdZdZdZdgZdgZdgZde	fde
jfd	e
jd
fde
fdeee	��fd
efdejfdejfdejfdefdefdefdeee	��dfdeee	��dfdeee	��dfdejfdejfdejfdejfdefdejfd efd!ejfd"ejfd#ejjfd$ejfgd	e
jd%fd&e
jd'fd(e
jfd)e
jfgdejd'fgdejd'fgd*ej d'fgd+�Z!d,S)-rz
    For Boo source code.
    �Boozhttps://github.com/boo-lang/boo�booz*.booz
text/x-boo�\s+z	(#|//).*$z/[*]�commentz[]{}:(),.;[]r?z\\z(in|is|and|or|not)\bz/(\\\\|\\[^\\]|[^/\\\s])/z@/(\\\\|\\[^\\]|[^/\\])*/rSaO(as|abstract|callable|constructor|destructor|do|import|enum|event|final|get|interface|internal|of|override|partial|private|protected|public|return|set|static|struct|transient|virtual|yield|super|and|break|cast|continue|elif|else|ensure|except|for|given|goto|if|in|is|isa|not|or|otherwise|pass|raise|ref|try|unless|when|while|from|as)\bzdef(?=\s+\(.*?\))z
(def)(\s+)�funcnamez(class)(\s+)�	classnamez(namespace)(\s+)r[z�(?<!\.)(true|false|null|self|__eval__|__switch__|array|assert|checked|enumerate|filter|getter|len|lock|map|matrix|max|min|normalArrayIndexing|print|property|range|rawArrayIndexing|required|typeof|unchecked|using|yieldAll|zip)\bz"""(\\\\|\\"|.*?)"""z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z[a-zA-Z_]\w*z%(\d+\.\d*|\d*\.\d+)([fF][+-]?[0-9]+)?z[0-9][0-9.]*(ms?|d|h|s)z0\d+z0x[a-fA-F0-9]+z\d+Lr�r�z[*]/r\z[^/*]z[*/]z[a-zA-Z_][\w.]*)r`r�r�r�r[N)"rrrsrtrurvrwrxryrzrr
r�r�rrrr�Wordr�Regexrr�Builtin�Doubler�Float�Oct�Hex�Integer�Longr�r�r�rfr�rqrprrFs����������D�
+�C��g�G��	�I���I��Z� �
�7�>�*�
�g�'��3�
�k�*�
�(�(�4��4�4�5�
�D�M�
$�h�m�4�
)�6�<�8�
)�6�<�8�
,�h�7�!�#*�

+�"�7�+�
�H�H�W�j�9�9�:�F�
�h�h�w�
�;�;�[�I�
 �(�(�7�J�"?�"?��M� �"&��	
/�
%�f�m�4�
(�&�-�8�
(�&�-�8�
�d�#�
5�v�|�D�
'��0�
�f�j�!�
��
�+�
�f�n�)�*�
�V�^�$�I%
�N�W�&��0�
�W�&��/�
�g�'�(�
�W�&�'�	
��d�m�V�4�
��d�j�&�1�
� ����8�
�g6�6�F�F�Frqrc�X�eZdZdZdZdZgd�ZddgZddgZd	e	j
d
ddd
��zdzdze	j
d
ddd
ddddd�	�	zdzZej
ejzZdejfdefdefdeee��fdeee��fdejfdefdeejeejeej��feddd �!��efd"ed#fd$ed%fd&eee��d'fd(eee��d)fd*eee��d+fd,ejfd-ejfd.efd/ed0fd1eee��fed2zefd3ej fd4e!j"fd5e!j#fd6e!j#fd7e!j#fgd8efd9ed:fd;efgeej$d:fe%d:��geej&d:fgeej'd:fgeej(fd<ej(fe%d:��gdefd=ed:fe%d:��gd>�Z)d?�Z*d@S)Arzo
    For Visual Basic.NET source code.
    Also LibreOffice Basic, OpenOffice Basic, and StarOffice Basic.
    zVB.netz5https://docs.microsoft.com/en-us/dotnet/visual-basic/)zvb.net�vbnet�lobas�oobas�sobasz*.vbz*.basztext/x-vbnetz
text/x-vbaz[_r&r'r(r)r*r+r,r-r.r/r0r1z	^\s*<.*?>r�rBz(rem\b.*?)(\n)z
('.*?)(\n)z�#If\s.*?\sThen|#ElseIf\s.*?\sThen|#Else|#End\s+If|#Const|#ExternalSource.*?\n|#End\s+ExternalSource|#Region.*?\n|#End\s+Region|#ExternalChecksumz[(){}!#,.:]z?(Option)(\s+)(Strict|Explicit|Compare)(\s+)(On|Off|Binary|Text))l�
AddHandler�Alias�ByRef�ByVal�Call�Case�Catch�CBool�CByte�CChar�CDate�CDec�CDbl�CInt�CLng�CObj�Continue�CSByte�CShort�CSng�CStr�CType�CUInt�CULng�CUShort�Declare�Default�Delegate�
DirectCast�Do�Each�Else�ElseIf�EndIf�Erase�Error�Event�Exit�False�Finally�For�Friend�Get�Global�GoSub�GoTo�Handles�If�
Implements�Inherits�	Interface�Let�Lib�Loop�Me�MustInherit�MustOverride�MyBase�MyClass�	Narrowing�New�Next�Not�Nothing�NotInheritable�NotOverridable�Of�Onr�Option�Optional�	Overloads�Overridable�	Overrides�
ParamArray�Partial�Private�	Protected�Public�
RaiseEvent�ReadOnly�ReDim�
RemoveHandler�Resume�Return�Select�Set�Shadows�Sharedr��Static�Step�Stop�SyncLock�Then�Throw�To�True�Try�TryCast�Wend�Using�When�While�Widening�With�
WithEvents�	WriteOnlyz(?<!\.)z\b)�prefix�suffixz(?<!\.)End\b�endz(?<!\.)(Dim|Const)\b�dimz#(?<!\.)(Function|Sub|Property)(\s+)r�z"(?<!\.)(Class|Structure|Enum)(\s+)r�z&(?<!\.)(Module|Namespace|Imports)(\s+)r[z|(?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|Object|SByte|Short|Single|String|Variant|UInteger|ULong|UShort)\bzU(?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|Or|OrElse|TypeOf|Xor)\bzE&=|[*]=|/=|\\=|\^=|\+=|-=|<<=|>>=|<<|>>|:=|<=|>=|<>|[-&*/\\^+=<>\[\]]r��stringz(_)(\n)z	[%&@!#$]?z#.*?#z"(\d+\.\d*|\d*\.\d+)(F[+-]?[0-9]+)?z\d+([SILDFR]|US|UI|UL)?z&H[0-9a-f]+([SILDFR]|US|UI|UL)?z&O[0-7]+([SILDFR]|US|UI|UL)?�""z"C?r\�[^"]+�\.z?(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\b)r`r'r&r�r�r[r%c�J�tjd|tj��rdSdS)Nz^\s*(#If|Module|Namespace)g�?)r{�searchr|�r�s rpr�zVbNetLexer.analyse_text�s*��
�9�2�D�"�,�G�G�	��3�	�	rqN)+rrrsrtrurvrwrxryrzrr��uni_namer{r|�
IGNORECASEr~rr�rrr
r�rr�Declarationr
r�rr�rrr�Daterr�r��Variabler	r�r�r�rfr�r�rqrprr�s-��������
�D�
A�C�<�<�<�G���!�I���.�I��k�c�k�$��d�D�9�9�9�C�?��� �S�[��t�T�4��t�!%�t�T�3�3�3�59�:�H�
�L�2�=�(�E��4�>�*�
�Z� �
�J��
����*� =� =�>�
�H�H�W�j�9�9�:�=��_�
��[�)�%�
�X�g�)�:�w�7J� �'�"5�7�7�
8��U�?�&%�U�'4�4�4�&6=�'
>�(�g�u�-�
$�g�u�5�
3�
�X�g�z�
*�
*�J�
8�
2�
�X�g�z�
*�
*�K�
9�
6�
�X�g�z�
*�
*�K�
9��"�<�
)�(�)1��
8�+�
�
��&�(�#�
���$�
�3�3�4�
��
#�T�*�
�g�l�#�
2�F�L�A�
'���8�
/���@�
,�f�n�=�u;
�z�F�O�
�V�V�$�
�v��
��t�}�f�-��G�F�O�O�
�
�t�}�f�-�
��t�z�6�*�
��t�~�&�
�D�N�#��G�F�O�O�
��Z� �
O�
�f�
��G�F�O�O�	
�cW�W�F�r����rqrc
���eZdZdZdZgZgZejZ	dde
eje
ej��fde
ee��e
ee����fdee��fdee��fgiZdS)	�GenericAspxLexerz"
    Lexer for ASP.NET pages.
    zaspx-genr`z(<%[@=#]?)(.*?)(%>)z(<script.*?>)(.*?)(</script>)z
(.+?)(?=<)z.+N)rrrsrtrurvryrzr{r}r~rr�Tagrrrrfr�rqrpr4r4�s����������D��I��I��I�E�	�
#�X�X�d�h��t�x�%H�%H�I�
-�x�x���h���8=�8=��h���0I�0I�
J��E�E�(�O�O�,�
�E�E�(�O�O�$�

�	�F�F�Frqr4c�>��eZdZdZdZdgZgd�ZgZ�fd�Zd�Z	�xZ
S)rz9
    Lexer for highlighting C# within ASP.NET pages.
    zaspx-cs�z*.aspxz*.asaxz*.ascxz*.ashxz*.asmxz*.axdc�R��t��jttfi|��dS�N)�superrkrr4�rmrnrhs  �rprkzCSharpAspxLexer.__init__s+���������&6�B�B�'�B�B�B�B�Brqc��tjd|tj���dStjd|tj���dSdS)NzPage\s*Language="C#"皙�����?zscript[^>]+language=["\']C#�333333�?�r{r,�Ir-s rpr�zCSharpAspxLexer.analyse_text�C��
�9�,�d�B�D�9�9�E��3�
�Y�5�t�R�T�
B�
B�
N��4�O�
Nrq�rrrsrtrurvrxryrzrkr��
__classcell__�rhs@rprrst����������D��k�G�K�K�K�I��I�C�C�C�C�C�������rqrc�>��eZdZdZdZdgZgd�ZgZ�fd�Zd�Z	�xZ
S)rzG
    Lexer for highlighting Visual Basic.net within ASP.NET pages.
    zaspx-vbr7c�R��t��jttfi|��dSr9)r:rkrr4r;s  �rprkzVbNetAspxLexer.__init__/s+���������%5�A�A��A�A�A�A�Arqc��tjd|tj���dStjd|tj���dSdS)NzPage\s*Language="Vb"r=zscript[^>]+language=["\']vbr>r?r-s rpr�zVbNetAspxLexer.analyse_text2rArqrBrDs@rprr%st����������D��k�G�K�K�K�I��I�B�B�B�B�B�������rqrc���eZdZdZdZdZddgZgd�ZdgZgd�Z	e	gd	�z
Z	gd
�Z
dZgd�Zd
Z
dZgd�Zdejfdejfdejfdejfggdef�dejjf�dejdf�def�deeje��f�deeje��f�dedf�dedf�ded f�d!ed"f�d#eeeej��f�d$eeeej��f�d%eeeej��f�d&eeeeeej��f�d'd(� e	��zef�d)ef�d*d(� e
��ze!f�d+e�d(e
�d,e��e!f�d'd(� e��ze!j"f�d'd(� e��zej#f�d-eej$eej$ej$e��f�d.ef�d/e%j&f�d0e%j'f�d1e%j(f�d2e%j)f�d3e%j*f�d4ej+f�d5ej+f�d6ef�d7ej,d"f�d8ejf�defd9efd:ejfd;ed<fd=ed<fe-d<��gd>efd?ed@fdAed<fdedfded fd!ed"fdBefgdCefe.dD��dEefdFefdGed<fgdHefdFefdIefdGed<fgdHefdFefdJed<fd!efgdK�Z/dL�Z0dMS)NrzG
    For the F# language (version 3.0).

    .. versionadded:: 1.5
    zF#zhttps://fsharp.org/�fsharpzf#)z*.fsz*.fsiz*.fsxz
text/x-fsharp)B�abstract�as�assert�base�beginrYr	�delegatezdo!�do�done�downcast�downto�elif�elser%�	exception�extern�false�finally�for�function�fun�global�if�inherit�inline�	interface�internal�in�lazyzlet!�let�match�member�module�mutabler[�new�null�of�open�override�private�public�reczreturn!�return�select�static�struct�then�to�true�try�type�upcastzuse!�use�val�void�when�while�withzyield!�yield)�atomic�break�checked�	component�const�
constraint�constructor�continue�eager�event�external�fixed�functorr�method�mixin�object�parallel�process�	protected�pure�sealed�tailcall�trait�virtual�volatile)+rC�#rDrJr�r�z\*z\+�,z-\.z->rFz\.\.r*z::z:=z:>�:z;;�;z<-z<\]rMz>\]rNz\?\?z\?z\[<z\[\|z\[z\]�_�`z\{z\|\]z\|z\}rQz<@@z<@rRz@>z@@>z[!$%&*+\./:<=>?@^|~-])�and�or�notz[!?~]z[=<>@^|&+\*/$%-])�sbyte�byte�char�	nativeint�
unativeint�float32�single�float�double�int8�uint8�int16�uint16�int32�uint32�int64�uint64�decimal�unit�boolr're�exn�obj�enumz\\[\\"\'ntbrafv]z
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}r�z	\(\)|\[\]z \b(?<!\.)([A-Z][\w\']*)(?=\s*\.)�dottedz\b([A-Z][\w\']*)z(///.*?)(\n)z(//.*?)(\n)z
\(\*(?!\))r�z@"�lstringz"""�tqsr�r'z\b(open|module)(\s+)([\w.]+)z\b(let!?)(\s+)(\w+)z\b(type)(\s+)(\w+)z&\b(member|override)(\s+)(\w+)(\.)(\w+)z\b(%s)\brKz``([^`\n\r\t]|`[^`\n\r\t])+``z(%s)r^z)?z;(#)([ \t]*)(if|endif|else|line|nowarn|light|\d+)\b(.*?)(\n)z
[^\W\d][\w']*z\d[\d_]*[uU]?[yslLnQRZINGmM]?z-0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?z0[oO][0-7][0-7_]*[uU]?[yslLn]?z0[bB][01][01_]*[uU]?[yslLn]?z/-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?z9'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?z'.'�'z@?"z[~?][a-z][\w\']*:r*z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*r\z
[a-z_][\w\']*z	[^(*)@"]+z\(\*r�z\*\)z[(*)@]z[^\\"]+�escape-sequencez\\\nrBz"B?r)r(z"""B?)r�r`r�r�r'r�r�c�.�d}d|vr|dz
}d|vr|dz
}|S)zSF# doesn't have that many unique features -- |> and <| are weak
        indicators.rz|>g�������?z<|r�r�s  rpr�zFSharpLexer.analyse_text�s2�����4�<�<��d�N�F��4�<�<��d�N�F��
rqN)1rrrsrtrurvrwrxryrz�keywords�keyopts�	operators�word_operators�prefix_syms�
infix_syms�
primitivesr�Escaperrr��Pseudor�r�Docr
r�rr2r�rr��joinrr�r�r�rr�r�r��Binr�r�r�r	rrfr�r�rqrprr:s���������D�
�C����G�*�*�*�I� �!�I�
�
�
�H�
�����H����G�)�I�)�)�)�N��K�$�J����J�!�&�-�0�
�F�M�*�
!�6�=�1�
!�6�=�1�	
�1
�
�Z� �1
�
�4�<�.�/�1
�1�
�^�X�
'�1
�
!�$�'�1
��h�h�v�z�:�>�>�?�
1
��X�X�g�n�j�A�A�B�1
��G�Y�/�1
��F�I�&�1
��V�U�#�1
��6�8�$�1
�-�
�X�g�z�4�>�
:�
:�
<�1
� $�
�X�g�z�4�=�
9�
9�
;�!1
�$#�
�X�g�z�4�:�
6�
6�
8�%1
�(7�
�X�g�z�4��d�m�
L�
L�
N�)1
�,�3�8�8�H�-�-�
-�w�7�-1
�..�t�4�/1
�0�s�x�x��(�(�
(�(�3�11
�1
�2)�j�j�+�+�+�y�y�
A�8�L�31
�4�3�8�8�N�3�3�
3�X�]�C�51
�6�3�8�8�J�/�/�
/���>�71
�8L�
�X�g�o�z�7�?��o�z�3�3�
4�91
�@�t�$�A1
�D.�v�~�>�E1
�F>�v�z�J�G1
�H/��
�;�I1
�J-�f�j�9�K1
�L@�
�\�
�M1
�RJ�
�[�
�S1
�V�V�[�!�W1
�X�7�O�Y1
�\�V�]�H�-�]1
�`"�4�=�1�a1
�f�Z� �
�K� �
%�t�~�6�
�d�F�+�
�t�V�,��G�F�O�O�
��7�#�
�g�w�'�
�g�v�&�
�F�I�&�
�V�U�#�
�6�8�$�
�� �	
��� ��G�%�&�&�
�f��
�F�O�
�V�V�$�
��v��
�F�O�
�F�O�
�V�V�$�	
��v��
�F�O�
�v�v�&�
�6�N�	
�s_�_�F�B	�	�	�	�	rqr)'rur{�pygments.lexerrrrrrrr	r
�pygments.tokenrrr
rrrrrrrr�
pygments.utilr�pygmentsrr�pygments.lexers.htmlr�__all__rrrrr4rrrr�rqrp�<module>r�s�����
�	�	�	� � � � � � � � � � � � � � � � � � � � �5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�(�(�(�(�(�(�%�%�%�%�%�%�)�)�)�)�)�)�?�?�?��x-�x-�x-�x-�x-�*�x-�x-�x-�vo�o�o�o�o�:�o�o�o�dA�A�A�A�A�z�A�A�A�Hl�l�l�l�l��l�l�l�^�����z����0�����o����(�����_����*_�_�_�_�_�*�_�_�_�_�_rq