+
    TBi                     `   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Ht ^ RIHt ^ RI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# )z
pygments.lexers.dotnet
~~~~~~~~~~~~~~~~~~~~~~

Lexers for .net languages.

:copyright: Copyright 2006-2025 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FSharpLexerXppLexerc                   l  a  ] tR t^t o RtRtRt. RHOtR.tR.t	Rt
]P                  ]P                  ,          tRRR	R
]P                   ! RRRRR4      ,           R,           R,           ]P                   ! RRRRRRRRRR4
      ,           R,           RR]P"                  ! RRRRRR4      ,           R,           R,           ]P"                  ! RRRRRRRRRRR4      ,           R,           /t/ tRt]P+                  4        EF  w  ttR]! R4      R ],           R!,           ],           R",           ]! ]]! ]4      ]P<                  ]]4      3R#]! ]]P@                  4      3R$]3R%]! ]!]4      3R&]"PF                  3R']"PH                  3R(]3]%! RI4      ]&3R)]&3R*]3R+]3R,]'3R-]'3R.]'PP                  3R/])3R0]! ]"PT                  ]]"PT                  ]"PT                  ]4      3R1]! ]+]]+4      3]%! RJR2R37      ]+3R4]! ]+]]+4      3R5]! ]+]4      3R6]+PX                  3R7]! ]+]4      R83R9]! ]+]4      R:3]]3.R;R<])PZ                  3R=])P\                  3R>])P^                  3.R?R@])P`                  3.R]! R?4      ]! R;4      .R8]]Pb                  RA3]2! RA4      .R:RB]!RA3RC],           RD,           ]Pf                  RA3./]]&   EK  	  RE t4RFt5V t6RG# )Kr   av  
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
zC#z/https://docs.microsoft.com/en-us/dotnet/csharp/z*.csztext/x-csharp none@?[_a-zA-Z]\w*basic@?[_LuLlLtLmNl][NdPcCfMnMc]*full	@?(?:_|[^Lo])[^Trootnumbers^([ \t]*)((?:(?:\[\])?\s+)+?)(
)(\s*)(\()^(\s*)(\[.*?\])[^\S\n]+(\\)(\n)//.*?\n/[*].*?[*]/\n=~|!=|==|<<|>>|[-+/*%=<>&^|]z[()\[\];:,.][{}]@"(""|[^"])*"!\$?"(\\\\|\\[^\\]|[^"\\\n])*["\n]'\\.'|'[^\\]'B[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)\b\bsuffixz;(file)(\s+)(record|class|abstract|enum|new|sealed|static)\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numbers_intz)0[xX][0-9a-fA-F]+(([uU][lL]?)|[lL][uU]?)?z"0[bB][01]+(([uU][lL]?)|[lL][uU]?)?z[0-9]+(([uU][lL]?)|[lL][uU]?)?numbers_floatz([0-9]+\.[0-9]+([eE][+-]?[0-9]+)?[fFdDmM]?)|(\.[0-9]+([eE][+-]?[0-9]+)?[fFdDmM]?)|([0-9]+([eE][+-]?[0-9]+)[fFdDmM]?)|([0-9]+[fFdDmM])#pop(?=\()(|\.)+c                   \        VR \        V P                  4      R4      pW P                  9  d"   V P                  P                  V4      V n        MV P                  V,          V n        \        P                  ! V 3/ VB  R# unicodelevelr$   N	r   listtokens_all_tokens	__class__process_tokendef_tokensr   __init__selfoptionslevels   &, ;/usr/lib/python3.14/site-packages/pygments/lexers/dotnet.pyra   CSharpLexer.__init__   sb    wT[[8I7S(((>>::5ADL++E2DLD,G,    r`   N)csharpzc#cs)(z>>>=z>>=z<<=<=>=+=-=*=/=z%=z&=z|=z^=z??=z=>z??z?.!===&&||z>>>>><<++--+-*/%&|^<>?!~=)aabstractasasyncawaitbasebreakbycasecatchcheckedconstcontinuer   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switchr   throwtruetrytypeof	uncheckedunsafevirtualvoidwhilegetsetr   partialyieldaddremovevaluealias	ascending
descendingfromgroupintoorderbyselectthenbywherejoinequalsrecordallowsandinitmanagednameofnintnotnotnullnuintorscoped	unmanagedwhenwith)7__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesversion_addedre	MULTILINEDOTALLflagsunicombine	allexceptlevelsr\   token_variantsitems	levelnamecs_identr   r   r   r   r   r   Functionr
   	Attributer   r   Single	Multiliner	   r   r   Charr   Preprocr   TypeHexBinIntegerFloatClassr   	Namespacera   __static_attributes____classdictcell____classdict__s   @rf   r   r      s    , D
;C$GI !IMLL299$E 	!&3;;tT4tDDsJD$dD$$($668<= 	tT4tTBCEIJdD$dD&*D$dDD GKK	F FN%||~	8	"!H, 0  !$ *eDk4==*%'(
 $Xj$..%IJj)htZ89W^^,!2!23
#  
  1(; +.+&!6*5v>!6;;/56<>K'//:w!//:78 -hw
/  $  %!$ #*%+* PGZ9; (7K"@ACDKLLR'':)FP*HWj,I;W4 }?@ =vzzJ6

C2FNNC
 % '-ll4 (& 4::v. D&)x(*DNNFCiX
y  .v- -rh   c            #       N  a  ] tR t^t o RtRtRtR.tR.tR.t	Rt
]P                  ]P                  ,          tRR	R
R]P                   ! RRRRR4      ,           R,           R,           ]P                   ! RRRRRRRRRR4
      ,           R,           RR]P"                  ! RRRRRR4      ,           R,           R,           ]P"                  ! RRRRRRRRRRR4      ,           R,           /t/ tRt]P+                  4        EF   w  ttRR ],           R!,           ],           R",           ]! ]]! ]4      ]P:                  ]]4      3R#]! ]]P>                  4      3R$]3R%]! ] ]4      3R&]!PD                  3R']!PF                  3R(]3R)]! ]$]]$4      R*3R+]! ]$]]$4      R,3R-]$R.3R/],           R0,           ]! ]%]]%4      3R1]%3R2],           ]3R3]! ]]4      R43R5]3R6]3R7]$3R8]$3R9]$PL                  3R:]'3R;]'3R<]! ]!PP                  ]]!PP                  4      R=3R>]! ]%]]%4      3R?]%3R@]! ]%]4      3RA]%PR                  3RB],           RC,           ]! ]]]%PR                  4      3RD]! ]%]4      RE3RF]! ]%]4      RG3]]3.RE]]PT                  RH3.R=RI]!PP                  3RJ]3R(]RH3.RGRK] RH3RL],           RM,           ]PV                  RH3.R*RN]$3R2],           ]3R3]! ]]4      R43RO]$3RP]$RH3.R,RQ]$3R2],           ]3R3]! ]]4      R43R-]$RR3RS]$RH3.R.RT]$3R-]$RR3RS]$RH3.R4RU]%3RV]3]]3RW]'3RX]RR3RY]RH3./]]&   EK#  	  RZ t,R[ t-R\t.V t/R]# )^r   ab  
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``.
Nemerlezhttp://nemerle.orgnemerlez*.nztext/x-nemerle1.5r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   Tr8   r:   r;   r<   r=   r>   r?   r@   rA   rB   z(\$)(\s*)(")zsplice-stringz(\$)(\s*)(<#)zsplice-string2z<#zrecursive-stringz(<\[)(\s*)(z:)?z\]\>z\$z(\$)(\()zsplice-string-contentz[~!%^&*()+=|\[\]:;,.<>/?-]rD   rE   z"(\\\\|\\[^\\]|[^"\\\n])*["\n]rG   z0[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preprocrI   a  (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)\brM   zo(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+)rN   rO   rP   rS   z\w+z[ \t]+rT   rU   rV   z[^"$]z\\""z[^#<>$]#pushz#>z[^#<>]zif|matchz[~!%^&*+=|\[\]:;,.<>/?-\\"$ ]\d+\(\)c                   \        VR \        V P                  4      R4      pW P                  9  d"   V P                  P                  V4      V n        MV P                  V,          V n        \        P                  ! V 3/ VB  R# rX   rZ   rb   s   &, rf   ra   NemerleLexer.__init__K  se    wT[[8I&((((>>::5ADL++E2DLD,G,rh   c                *    ^ pRV 9   d
   VR,          pV# )zMNemerle is quite similar to Python, but @if is relatively uncommon
elsewhere.z@ifg? textresults   & rf   analyse_textNemerleLexer.analyse_textV  s     D=cMFrh   ri   N)0r   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	  ra   r  r
  r  r  s   @rf   r   r      s    ( D
CkGI!"IMLL299$E 	!&3;;tT4tDDsJD$dD$$($668<= 	tT4tTBCEIJdD$dD&*D$dDD GKK	F FN%||~	8!H, 0  !$ *eDk4==*%'(
 $Xj$..%IJj)htZ89W^^,!2!23
# (6:v"F#%!8FJ#G$& 23(*U2':w79'" !4(ht[9(* /<+&!6*2F;!6;;/*F3>GB'//:wGT -hw
G.TU: <CD !(7K"@AI  (*W4+z7<<@B6':.9*HWj,I4 {>~ 4::v. )J'
F+
 D&)x(*DNNFC F#!4(ht[9(*&!' f%!4(ht[9(*)( V$)(!
 $g&1;?4  W-V,&Ci
y  .X	- rh   c                      ] tR tRtRtRtRtR.tR.tR.t	Rt
R	R
]3R]P                  3R]P                  R3R]3R]! ]]4      3R]3R]P&                  3R]P*                  3R]P*                  3R]3R]3R]3R]! ]]4      R3R]! ]]4      R3R]! ]]4      R3R]P0                  3R]P2                  3R]P2                  3R ]P                  3R!]3R"]P6                  3R#]3R$]P8                  3R%]P:                  3R&]P<                  P>                  3R']P<                  3.RR]P                  R(3R)]P                  R*3R+]P                  3R,]P                  3.RR!]P@                  R*3.RR!]PB                  R*3.RR-]PD                  R*3./t#R.t$R/# )0r   ia  z
For Boo source code.
Boozhttps://github.com/boo-lang/boobooz*.booz
text/x-boor!   r8   \s+z	(#|//).*$z/[*]commentz[]{}:(),.;[]r?   z\\z(in|is|and|or|not)\bz/(\\\\|\\[^\\]|[^/\\\s])/z@/(\\\\|\\[^\\]|[^/\\])*/rC   aO  (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)\bzdef(?=\s+\(.*?\))z
(def)(\s+)funcnamez(class)(\s+)	classnamez(namespace)(\s+)rP   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)z0\d+z0x[a-fA-F0-9]+z\d+Lr  r  z[*]/rS   z[^/*]z[*/]z[a-zA-Z_][\w.]*r  N)%r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   Wordr   Regexr   r   BuiltinDoubler   r  Octr  r  Longr   r  r	  r\   r
  r  rh   rf   r   r   a  s    D
+CgG	IIM 	Z 7>>*g''3k*(445DM$hmm4)6<<8)6<<8,h7! #*+ "7+HWj9:Fhw
;[I (7J"?M  "&	/
 %fmm4(&--8(&--8d#5v||D'0fjj!

+fnn))*V^^$I%
L 	W&&0W&&/g''(W&&'	
 	dmmV4
 	djj&1
 	8
g6Frh   c                   6  a  ] tR tRt o RtRtRt. RBOtRR.tRR.t	R	t
R
]P                  ! RRRR4      ,           R,           R,           ]P                  ! RRRRRRRRR4	      ,           R,           t]P                  ]P                   ,          tRR]P&                  3R]3R]3R]! ]]4      3R]! ]]4      3R]P.                  3R]3R]! ]P4                  ]]P4                  ]]P4                  4      3]! RCR R!R"7      ]3R#]R$3R%]R&3R']! ]]4      R(3R)]! ]]4      R*3R+]! ]]4      R,3R-]P8                  3R.]P<                  3R/]3R0]R13R2]! ] ]4      3]R3,           ]3R4]!PD                  3R5]#PH                  3R6]#PJ                  3R7]#PJ                  3R8]#PJ                  3.R1R9]3R:]R;3R<]3.R&]]PL                  R;3]'! R;4      .R(]]PP                  R;3.R*]]PR                  R;3.R,]]PT                  3R=]PT                  3]'! R;4      .R$R]3R>]R;3]'! R;4      ./t+R? t,R@t-V t.RA# )Dr   i  zc
For Visual Basic.NET source code.
Also LibreOffice Basic, OpenOffice Basic, and StarOffice Basic.
zVB.netz5https://docs.microsoft.com/en-us/dotnet/visual-basic/z*.vbz*.basztext/x-vbnetz
text/x-vbar!   z[_r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r8   z	^\s*<.*?>r$  rB   z(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)z(?<!\.)rJ   )prefixrL   z(?<!\.)End\bendz(?<!\.)(Dim|Const)\bdimz#(?<!\.)(Function|Sub|Property)(\s+)r&  z"(?<!\.)(Class|Structure|Enum)(\s+)r'  z&(?<!\.)(Module|Namespace|Imports)(\s+)rP   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?rS   [^"]+\.z?(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\bc                b    \         P                  ! R V \         P                  4      '       d   R# R# )z^\s*(#If|Module|Namespace)g      ?N)r   searchr   r  s   &rf   r  VbNetLexer.analyse_text  s#    992D",,GG Hrh   r  N)zvb.netvbnetlobasoobassobaszvisual-basicvisualbasic)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	WriteOnly)/r   r   r   r   r   r   r   r   r   r   r   r   r   uni_namer   r   
IGNORECASEr   r   r   r   r   r   r  r
   r   Declarationr	   r  r   r(  r   r   r   Dater   r  r  Variabler   r   r  r	  r\   r  r
  r  r  s   @rf   r   r     s    
 D
AC[G!I.IMckk$dD99C?[[tT4t!%tT3359:H LL2==(E4>>*Z J* =>HWj9:= __ [)%g)):w7J7J '"5"578  ?& %U'4& 6='>( gu-$gu53gz*J82gz*K96gz*K9"<<)()18+ &(#$
34#T*gll#2FLLA'8/@,fnn=u;
x 	FOVV$v

 	t}}f-FO
 	t}}f-
 	tzz6*
 	t~~&DNN#FO

 	Z OfFO	
cWFr rh   c            
           ] tR tRtRtRt. t. tRt]	P                  tRR]! ]P                  ]]P                  4      3R]! ]! ]4      ]]! ]4      4      3R]! ]4      3R	]! ]4      3./tR
tR# )GenericAspxLexeri  z
Lexer for ASP.NET pages.
zaspx-gen.https://dotnet.microsoft.com/en-us/apps/aspnetr8   z(<%[@=#]?)(.*?)(%>)z(<script.*?>)(.*?)(</script>)z
(.+?)(?=<)z.+r  N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   Tagr   r   r   r\   r
  r  rh   rf   r  r    s     DII
:CIIE 	#Xdhhtxx%HI-xh8=8=h0I J E(O,E(O$
	Frh   r  c                   Z   a a ] tR tRt oRtRtR.t. R	Ot. tRt	Rt
V 3R ltR tRtVtV ;t# )
r   i/  z1
Lexer for highlighting C# within ASP.NET pages.
zaspx-csr  r!   c                <   < \         SV `  ! \        \        3/ VB  R # N)superra   r   r  rc   rd   r^   s   &,rf   ra   CSharpAspxLexer.__init__;  s    &6B'Brh   c                    \         P                  ! R V \         P                  4      e   R# \         P                  ! RV \         P                  4      e   R# R# )zPage\s*Language="C#"N皙?zscript[^>]+language=["\']C#333333?r   r7  Ir8  s   &rf   r  CSharpAspxLexer.analyse_text>  >    99,dBDD9EYY5tRTTBN Orh   r  z*.aspxz*.asaxz*.ascxz*.ashxz*.asmxz*.axdr   r   r   r   r   r   r   r   r   r   r   ra   r  r
  r  __classcell__r^   r  s   @@rf   r   r   /  s<      DkGKII
:CMC rh   c                   Z   a a ] tR tRt oRtRtR.t. R	Ot. tRt	Rt
V 3R ltR tRtVtV ;t# )
r   iE  z?
Lexer for highlighting Visual Basic.net within ASP.NET pages.
zaspx-vbr  r!   c                <   < \         SV `  ! \        \        3/ VB  R # r  )r  ra   r   r  r  s   &,rf   ra   VbNetAspxLexer.__init__Q  s    %5AArh   c                    \         P                  ! R V \         P                  4      e   R# \         P                  ! RV \         P                  4      e   R# R# )zPage\s*Language="Vb"Nr  zscript[^>]+language=["\']vbr  r  r8  s   &rf   r  VbNetAspxLexer.analyse_textT  r  rh   r  r  r  r  s   @@rf   r   r   E  s<      DkGKII
:CMB rh   c                     a  ] tR tRt o RtRtRtRR.t. RO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R+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNt]. RO,          t. RKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNR[NR\NR]NR^NR_NR`NRaNRbNRcNRdNReNRfNRgNRhNRiNRjNRkNRlNRmNRnNRoNRpNRqNRrNRsNRtNRuNtRvt. ROtRwtRxt. ROtRzR{]P&                  3R|]P&                  3R}]P&                  3R~]P&                  3.R. R]3NR]P,                  P.                  3NR]P0                  R3NR]3NR]! ]P4                  ]4      3NR]! ]P8                  ]4      3NR]R3NR]R3NR]R3NR]Ry3NR]! ]]]P0                  4      3NR]! ]]]P<                  4      3NR]! ]]]P>                  4      3NR]! ]]]] ]PB                  4      3NRPE                  RPG                  ]4      4      ]3NR]3NRPE                  RPG                  ]4      4      ]$3NR] R] R] 2]$3NRPE                  RPG                  ]4      4      ]$PJ                  3NRPE                  RPG                  ]4      4      ]PL                  3NR]! ]PN                  ]]PN                  ]PN                  ]4      3NR]3NR](PR                  3NR](PT                  3NR](PV                  3NR](PX                  3NR](PZ                  3NR]P\                  3NR]P\                  3NR]3NR]P^                  Ry3NR]P<                  3NRR]3RX] 3R]P0                  3R]R3R]R3]0! R4      .RR]3R]R3R]R3R]R3R]R3R]Ry3R]3.RyR]3]1! Rz4      R]3R]3R]R3.RR]3R]3R]3R]R3.RR]3R]3R]R3R]3./t2R t3Rt4V t5R# )r   i\  z$
For the F# language (version 3.0).
zF#zhttps://fsharp.org/fsharpzf#ztext/x-fsharpr  r   r   assertr   beginrN   r   r   zdo!r   donedowncastdowntoelifr   r0  	exceptionr   r   r   r   functionfunglobalr   inheritinliner   r   r   lazyzlet!r   matchmembermodulemutablerP   r   r   ofopenr   r   r   reczreturn!r   r   r   structthentor   r   typeupcastzuse!usevalr   r   r   r   zyield!r   rr   #rt   r   r  r  z\*z\+,z-\.z->r{   z\.\.r5  z::z:=z:>:z;;;z<-z<\]r   z>\]r   z\?\?z\?z\[<z\[\|z\[z\]_`z\{z\|\]z\|z\}r   z<@@z<@r   z@>z@@>z[!$%&*+\./:<=>?@^|~-]z[!?~]z[=<>@^|&+\*/$%-]r2  zescape-sequencez\\[\\"\'ntbrafv]z
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}r8   r$  z	\(\)|\[\]z \b(?<!\.)([A-Z][\w\']*)(?=\s*\.)dottedz\b([A-Z][\w\']*)z(///.*?)(\n)z(//.*?)(\n)z
\(\*(?!\))r%  z@"lstringz"""tqsr  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({})\br   z``([^`\n\r\t]|`[^`\n\r\t])+``z({})rU   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]?z0[oO][0-7][0-7_]*[uU]?[yslLn]?z0[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\']*:z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*rS   z[a-z_][\w\']*z	[^(*)@"]+z\(\*r  z\*\)z[(*)@]z[^\\"]+z\\\nrB   z"B?r4  r3  z"""B?c                J    ^ pRV 9   d
   VR,          pRV 9   d
   VR,          pV# )zKF# doesn't have that many unique features -- |> and <| are weak
indicators.z|>g?z<|r  r  s   & rf   r  FSharpLexer.analyse_text  s.     4<dNF4<dNFrh   r  N)z*.fsz*.fsiz*.fsx)atomicr   r   	componentr   
constraintconstructorr   eagerr   externalr   functorr   methodmixinobjectparallelprocessr   purer   tailcalltraitr   volatile)r   r   r   )sbytebytechar	nativeint
unativeintfloat32singlefloatdoubleint8uint8int16uint16int32uint32int64uint64decimalunitboolr2  r[   exnobjr   )6r   r   r   r   r   r   r   r   r   r   r   keywordskeyopts	operatorsword_operatorsprefix_syms
infix_syms
primitivesr   Escaper   r   r*  Pseudor	  r   Docr   r   r   r  r  r
   r   formatr   r   r(  r  r  r   r  r  r,  r  r  r  r+  r   r   r\   r  r
  r  r  s   @rf   r   r   \  s	     D
CG*I !IM


"
$*
,3
5<
>G



!'
)3
5=
?E
GM
 	
 
 %
 '.
 09
 ;@
 BL
 		
 	
 	
  )	
 +3	
 5@	
 BL	

 	

 

 

 $

 &-

 /7

 9A

 CL
 	
 
 #
 %)
 +1
 3=
 ?H
 JR
 	
 
 #
 %-
 /7
 9A
 CI
 KO
 	
 
 
  (
 *0
 27
 9>
 @F
 HN
 	
 
 "
 $+
H   H#%*,138:=?E!#')-/358:>@CEI 	   ! #* ,1 39 ;B DI KP 		 	 	 !	 #(	 */	 14	 6;	 =A	 CF	 HL	 NS	G )I)NK$JJ 	 &--0FMM*!6==1!6==1	
 	 1
Z 1
4<<../1
 1^^X'1

 !$'1
 hvzz:>?1
 XgnnjAB1
 GY/1
 FI&1
 VU#1
 68$1
 -gz4>>:<1
  $gz4==9;!1
$ #gz4::68%1
( 7gz4dmmLN)1
,  23W=-1
. .t4/1
0 ^^CHHW-.911
2 *Q{m2i[98D31
4  898==I51
6  45w||D71
8 Lgooz7??ooz3491
@ t$A1
D .v~~>E1
F >vzzJG1
H /

;I1
J -fjj9K1
L @\\M1
R J[[S1
V V[[!W1
X 7OY1
\ V]]H-]1
` "4==1a1
d 	Z K %t~~6dF+tV,FO
 	7#gw'gv&FI&VU#68$ 	
 	 %&fFOVV$
 	vFOFOVV$	
 	vFOvv&6N	
s_FB	 	rh   c                       ] tR tRtRtRtRtRR.tR.tRt	]
P                  tR	]P                  ! R
RRRRR4      ,           R,           R,           ]P                  ! R
RRRRRRRRRR4      ,           R,           t]P!                  RR4      tR>tR?tR@tRAt/ tRR]! ]]]! ]4      4      3R],           R,           ],           R,           ]! ]]! ]4      ]P8                  ]]4      3R]! ]]P<                  ]P>                  P@                  ]P<                  4      3R ]3R!]! ]!]4      3R"]"PF                  3R#]"PH                  3R$]3]%! ]4      ]&3R%]&3R&]3R']3R(]'3R)]'3R*]'PP                  3R+])3]%! ]R,R-7      ]3R.]PT                  3R/]! ]]4      R03R1],           R2,           ]! ]P>                  P@                  ]4      3R3]! ]]P>                  P@                  ]! ]4      4      3R4],           R5,           ],           R6,           ]! ]! ]4      ]P>                  P@                  ]! ]4      ]PV                  ]! ]4      4      3R7],           R6,           ]! ]! ]4      ]P>                  P@                  ]! ]4      4      3]%! ]R8R-7      ]P8                  PX                  3]%! ]R8R-7      ]P8                  PX                  3]]3.R0]]P@                  R93]-! R94      .R:R8]!R93R1],           R;,           ]P\                  R93./tR<t/R=# )Br   i  z?
For X++ source code. This is based loosely on the CSharpLexer
zX++zchttps://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-ref/xpp-language-referencexppzx++z*.xppz2.15r4   r&   r'   r(   r)   r5   r*   r6   r7   r-   r.   r/   r0   r1   r2    r8   z(\s*)\b(else|if)\b([^\n])r:   r;   r<   z^(\s*)(\[)([^\n]*?)(\])r>   r?   z//[^\n]*?\nz/[*][^\n]*?[*]/rB   rC   z[()\[\];:,.#@]rD   rE   rF   rG   rH   rJ   rK   z+(boolean|int|int64|str|real|guid|date)\b\??z&(class|struct|extends|implements)(\s+)rN   rU   z)(::)z(\s*)(\w+)(\s+\w+(,|=)?[^\n]*;)z(fieldNum\()(z)(\s*,\s*)(z)(\s*\))z(tableNum\()(rT   rS   rP   rV   r  N)rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   )_r   anytyper   r   ascatavgr   
breakpointr   byrefr   r   changecompanyclient	containerr   countcrosscompanyr   r   delete_fromdescdisplaydivr   editr   elementeventhandlerexistsr   final	firstfast	firstonlyfirstonly10firstonly100firstonly1000flushr   forceliteralsforcenestedloopforceplaceholdersforceselectorder	forupdater   r   r   insert_recordsetr   r   r   likemaxofminofmodr   nextnofetch	notexistsr   optimisticlockorderouterpausepessimisticlockprintr   r   r   repeatablereadretryr   reverser   serversettingr   sumr  r   	tablelockr   r   r   r   ttsabortttsbegin	ttscommitupdate_recordsetvalidtimestater   r   r   window)	_durationabsacosany2Dateany2Enumany2Guidany2Int	any2Int64any2Realany2Str	anytodate	anytoenum	anytoguidanytoint
anytoint64	anytorealanytostrasinatanbeepcTermchar2Num
classIdGetcorrFlagGetcorrFlagSetcoscoshcurExt	curUserIddate2Numdate2Strdatetime2StrdayNamedayOfMthdayOfWkdayOfYrddbdecRounddgdimOfendMthenum2strexpexp10fVfieldId2NamefieldId2PNamefieldName2IdfracfuncNamegetCurrentPartitiongetCurrentPartitionRecId	getPrefixguid2StridgindexId2NameindexName2Idint2Str	int642StrintvMaxintvNameintvNointvNormlog10logNr  maxminmkDatemthNamemthOfYrnewGuidnextMthnextQtrnextYrnum2Charnum2Datenum2StrpmtpowerprevMthprevQtrprevYrprmIsDefaultptpvraterefPrintAllroundrunAs	sessionId	setPrefixsinsinhsleepslnstr2Datestr2Datetimestr2Enumstr2Guidstr2Int	str2Int64str2Numstr2TimestrAlphastrCmp	strColSeqstrDelstrFindstrFmtstrInsstrKeepstrLTrimstrLenstrLinestrLwrstrNFindstrPoke	strPromptstrRTrimstrRemstrRepstrScanstrUprsubStrsydsystemDateGetsystemDateSettableId2NametableId2PNametableName2Idtantanhtermtime2StrtimeNowtodaytrunctypeOfuint2StrwkOfYryear)MattributeStrclassNumclassStrconfigurationKeyNumconfigurationKeyStrdataEntityDataSourceStrdelegateStrdimensionHierarchyLevelStrdimensionHierarchyStrdimensionReferenceStrdutyStrenumCntenumLiteralStrenumNumenumStrextendedTypeNumextendedTypeStrfieldNum
fieldPNamefieldStrformControlStrformDataFieldStrformDataSourceStrformMethodStrformStridentifierStrindexNumindexStrlicenseCodeNumlicenseCodeStr
literalStrmaxDatemaxInt
measureStrmeasurementStrmenuItemActionStrmenuItemDisplayStrmenuItemOutputStrmenuStr	methodStrminIntprivilegeStrqueryDatasourceStrqueryMethodStrqueryStr	reportStrresourceStrroleStrssrsReportStrstaticDelegateStrstaticMethodStrtableCollectionStrtableFieldGroupStrtableMethodStrtableNum
tablePNametableStaticMethodStrtableStrtileStrvarStrwebActionItemStrwebDisplayContentItemStr
webFormStr
webMenuStrwebOutputContentItemStrwebReportStrwebSiteTempStrwebStaticFileStrwebUrlItemStrwebWebPartStrwebletItemStrwebpageDefStrwebsiteDefStrworkflowApprovalStrworkflowCategoryStrworkflowTaskStrworkflowTypeStr)0r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	XPP_CHARSreplace	OPERATORSKEYWORDSRUNTIME_FUNCTIONSCOMPILE_FUNCTIONSr\   r   r   r   r   r   r   r   r
   r   r  r  r   r   r   r   r	   r   r   r  r   r  PropertyMagicr   r	  r
  r  rh   rf   r   r     sj    D
oCenG	IMLLEtT4tTBCEIJdD$dD&*D$dDD GKKI !!&&1II
bHN	L F 	)8Jt+UV	) -  !$ U4[$--#%&
 (*dnndmmNaNacgcqcq)rs*%(445W^^,!2!23J9x(,h7,k"v&16:v{{+45;=8E*G4;W\\J6*8UW^_)^G#Xdmm.A.A;%OP/*dmmFYFY[`ae[f1ghi'6y@Ltdmm&9&95;W\]aWbce i'3tdmm&9&95;GI$Y79L9LM$Y79L9LMI%
L 	

F+FO
 	f%9_x'@
W/Frh   )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   r   pygments.utilr   pygmentsr   r   pygments.lexers.htmlr   __all__r   r   r   r   r  r   r   r   r   r  rh   rf   <module>rH     s    
     5 5 5 5 ( % )KT-* T-nn: nbBz BJm m`z 2o ,_ .^* ^Blz lrh   