ó
    öÞ jÙ¤  ã                   óÂ  • S r SSKrSSKJrJrJrJrJrJrJ	r	  SSK
JrJr  SSKJr  SSKJrJrJrJrJrJrJrJrJrJr  / SQr " S S	\5      rS
 r " S S\5      r " S S\5      r " S S\5      r " S S\5      r  " S S\5      r! " S S\5      r" " S S\5      r# " S S\5      r$ " S S\5      r% " S S\5      r& " S S \5      r' " S! S"\5      r( " S# S$\5      r)g)%z¸
pygments.lexers.asm
~~~~~~~~~~~~~~~~~~~

Lexers for assembly languages.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚusingÚwordsÚDelegatingLexerÚdefault)ÚCppLexerÚCLexer)ÚDLexer)
ÚTextÚNameÚNumberÚStringÚCommentÚPunctuationÚOtherÚKeywordÚOperatorÚ
Whitespace)ÚGasLexerÚObjdumpLexerÚDObjdumpLexerÚCppObjdumpLexerÚCObjdumpLexerÚ
HsailLexerÚ	LlvmLexerÚLlvmMirBodyLexerÚLlvmMirLexerÚ	NasmLexerÚNasmObjdumpLexerÚ	TasmLexerÚ	Ca65LexerÚDasm16Lexerc                   ó  • \ rS rSrSrSrSS/rSS/rS/rS	r	S
r
SrSrS\-   S-   \-   S-   rSrS\-   S-   r\" S5      \S-   \R$                  4S\-   \R&                  S4S\R&                  4\\R(                  S4S\4/\\R,                  4\\4S\-   \R&                  4\\R2                  4\\R4                  4S\S4S\R:                  S4S\R<                  4S\R<                  S4\" S5      \" S5      /S \-   S!-   \" \R@                  \\!\R,                  \!5      4S \-   S"-   \-   S!-   \" \R@                  \\!\R,                  \!\R2                  \!5      4\\R,                  4\\R2                  4\\R4                  4S#\-   \R2                  4S$\RD                  4S\S4S\R:                  S4S\R<                  4S\R<                  S4\" S5      \" S5      /S%\4S&\4S\R:                  4S'\R<                  4/S(\!4/S).r#S* r$S+r%g,)-r   é   z
For Gas (AT&T) assembly code.
ÚGASÚgasÚasmú*.sz*.Sz
text/x-gasú%https://www.gnu.org/software/binutilsÚ ú"(\\"|[^"])*"z[\w$.@-]ú(?:[a-zA-Z$_]ú*|\.ú+)z(?:0[xX][a-fA-F0-9]+|#?-?\d+)Ú%ú\bÚ
whitespaceÚ:ú\.údirective-argszlock|rep(n?z)?|data\d+úinstruction-argsú[\r\n]+Ú@ú#popz([;#]|//).*?\nz/[*].*?[*]/z/[*].*?\n[\w\W]*?[*]/Úpunctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])(Ú$z
$'(.|\\')'ú\nú\s+z/[*][\w\W]*?[*]/z[-*,.()\[\]!:{}]+)Úrootr6   r7   r3   r;   c                 ó´   • [         R                  " SU [         R                  5      (       a  g[         R                  " SU [         R                  5      (       a  gg )Nz^\.(text|data|section)Tz^\.\w+gš™™™™™¹?)ÚreÚsearchÚM©Útexts    ÚM/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/lexers/asm.pyÚanalyse_textÚGasLexer.analyse_texth   s<   € Ü�9Š9Ð.°´b·d±d×;Ñ;ØÜ�YŠY�y $¬¯©×-Ñ-Øð .ó    © N)&Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedÚstringÚcharÚ
identifierÚnumberÚregisterr   r   ÚLabelÚ	AttributeÚFunctionr   ÚConstantr   r   ÚIntegerÚVariabler   r   ÚSingleÚ	Multiliner   ÚHexr   ÚCharÚtokensrG   Ú__static_attributes__rJ   rI   rF   r   r      s˜  † ñð €DØ�eˆn€GØ˜�€IØ�€IØ
1€CØ€Mð €FØ€DØ! DÑ(¨7Ñ2°TÑ9¸DÑ@€JØ-€FØ�ZÑ %Ñ'€Hñ �LÓ!Ø˜#Ñ˜tŸz™zÐ*Ø�ZÑ §¡Ð1AÐBØ&¨¯©Ð7Ø˜Ÿ™Ð(:Ð;Ø˜Ðð
ð ˜Ÿ™Ð'Ø�VÐØ�:Ñ˜tŸ~™~Ð.Ø�V—^‘^Ð$Ø�t—}‘}Ð%Ø˜ VÐ,Ø §¡°Ð7Ø˜W×.Ñ.Ð/Ø% w×'8Ñ'8¸&ÐAá�MÓ"Ù�LÓ!ð
ð" " *Ñ,¨VÑ3Ù˜Ÿ™ T¨;¸¿¹Ø$ó&ð'ð " *Ñ,¨ZÑ7¸Ñ>¸vÑEÙ˜Ÿ™ T¨;¸¿¹Ø$ f§n¡n°kóCðDð
 ˜Ÿ™Ð'Ø�V—^‘^Ð$à�t—}‘}Ð%à�‰Z˜Ÿ™Ð(Ø˜FŸK™KÐ(Ø˜ VÐ,Ø §¡°Ð7Ø˜W×.Ñ.Ð/Ø% w×'8Ñ'8¸&ÐAá�MÓ"Ù�LÓ!ð1
ð6 �JÐØ�ZÐ Ø §¡Ð/Ø  '×"3Ñ"3Ð4ð	
ð " ;Ð/ð
ño:€FõxrI   r   c                 ór  • SnSS[        [        R                  [        [        [
        5      4S[        [        [        R                  [        5      4SU-   S-   [        [        R                  [        [        [        R                  [        [        R                  [        5      4SU-   S-   [        [        R                  [        [        [        R                  [        5      4SU-   S	-   U-   U-   S
-   [        [        [        R                  [        [        R                  [        [        U 5      5      4SU-   S-   [        [        [        R                  [        [        U 5      5      4SU-   S	-   U-   U-   S-   [        [        [        R                  [        [        R                  [        [
        5      4SU-   S	-   U-   U-   S-   [        [        [        R                  [        [        R                  5      4S[        4SU-   S-   U-   S-   [        [        [        R                  [        [        R                  [        [        R                  [        [        R                  5      4SU-   S-   [        [        [        R                  [        [        R                  [        [        R                  5      4S[        4/0$ )z3
Common objdump lexer tokens to wrap an ASM lexer.
z[0-9A-Za-z]r?   z(.*?)(:)( +file format )(.*?)$z"(Disassembly of section )(.*?)(:)$Ú(z++)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$z+)( )(<)(.*?)(>:)$z( *)(z+:)(\t)((?:z )+)( *	)([a-zA-Z].*?)$z+:)( *\t)([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z	\t\.\.\.$z	(\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)r   r   r[   r   r   r   r   rc   r   r]   r   ÚPropertyr^   r   )Ú	asm_lexerÚhex_res     rF   Ú_objdump_lexer_tokensrl   o   s7  € ð €Fàà-ÜœŸ™¤[´$¼Ó?ðAð 2ÜœœtŸz™z¬;Ó7ð9ð �‰ZÐEÑEÜœŸ™¤Z´¼d¿m¹mÜ$¤f§j¡j´+ó?ð@ð �‰ZÐ,Ñ,ÜœŸ™¤Z´¼d¿m¹mÜ$ó&ð'ð �V‰^˜NÑ*¨6Ñ1°&Ñ8Ð9SÑSÜœ¤T§Z¡Z´¼V¿Z¹ZÌÜ˜yÓ)ó+ð,ð �V‰^Ð6Ñ6Üœ¤T§Z¡Z´Ü˜yÓ)ó+ð,ð �V‰^˜NÑ*¨6Ñ1°&Ñ8Ð9IÑIÜœ¤T§Z¡Z´¼V¿Z¹ZÌÔU[Ó\ð^ð �V‰^˜NÑ*¨6Ñ1°&Ñ8¸Ñ@Üœ¤T§Z¡Z´¼V¿Z¹ZÓHðJð œ4Ð ð ˜&Ñ Ð!DÑDÀVÑKÈEÑQÜœ¤T§Z¡Z´¼T¿]¹]ÌJÜŸ™¬´V·Z±ZóAðBð ˜&Ñ Ð!<Ñ<Üœ¤T§Z¡Z´¼T¿]¹]ÌJÜŸ™ó(ð)ð œ%Ð ðU+
ð-ð -rI   c                   óF   • \ rS rSrSrSrS/rS/rS/rSr	Sr
\" \5      rSrg	)
r   é¤   z$
For the output of ``objdump -dr``.
Úobjdumpz	*.objdumpztext/x-objdumpr+   r,   rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rl   r   re   rf   rJ   rI   rF   r   r   ¤   s8   † ñð €DØˆk€GØ�€IØ!Ð"€IØ
1€CØ€Má" 8Ó,ƒFrI   r   c                   óJ   ^ • \ rS rSrSrSrS/rS/rS/rSr	Sr
U 4S jrS	rU =r$ )
r   é²   z8
For the output of ``objdump -Sr`` on compiled D files.
z	d-objdumpz*.d-objdumpztext/x-d-objdumpr+   r,   c                 ó:   >• [         TU ]  " [        [        40 UD6  g ©N)ÚsuperÚ__init__r   r   ©ÚselfÚoptionsÚ	__class__s     €rF   ru   ÚDObjdumpLexer.__init__½   ó   ø€ Ü‰Òœ¤Ñ9°Ó9rI   rJ   ©rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   ru   rf   Ú__classcell__©ry   s   @rF   r   r   ²   s9   ø† ñð €DØˆm€GØ�€IØ#Ð$€IØ
1€CØ€M÷:ó :rI   r   c                   óN   ^ • \ rS rSrSrSr/ SQr/ SQrS/rSr	Sr
U 4S	 jrS
rU =r$ )r   éÁ   z:
For the output of ``objdump -Sr`` on compiled C++ files.
úcpp-objdump)r�   zc++-objdumbzcxx-objdump)z*.cpp-objdumpz*.c++-objdumpz*.cxx-objdumpztext/x-cpp-objdumpr+   r,   c                 ó:   >• [         TU ]  " [        [        40 UD6  g rs   )rt   ru   r
   r   rv   s     €rF   ru   ÚCppObjdumpLexer.__init__Ì   s   ø€ Ü‰Òœ¤<Ñ;°7Ó;rI   rJ   r|   r~   s   @rF   r   r   Á   s5   ø† ñð €DÚ;€GÚC€IØ%Ð&€IØ
1€CØ€M÷<ó <rI   r   c                   óJ   ^ • \ rS rSrSrSrS/rS/rS/rSr	Sr
U 4S jrS	rU =r$ )
r   éÐ   z8
For the output of ``objdump -Sr`` on compiled C files.
z	c-objdumpz*.c-objdumpztext/x-c-objdumpr+   r,   c                 ó:   >• [         TU ]  " [        [        40 UD6  g rs   )rt   ru   r   r   rv   s     €rF   ru   ÚCObjdumpLexer.__init__Ü   r{   rI   rJ   r|   r~   s   @rF   r   r   Ð   s9   ø† ñð €DØˆm€GØ�€IØ#Ð$€IØ
1€CØ€M÷:ó :rI   r   c                   ó   • \ rS rSrSrSrSS/rS/rS/rSr	S	r
S
rSrSrS\-   S-   rSrSrSrSrSrSrSrSr\" S5      \" S5      \\4S\-   S-   \R4                  4\\R6                  R8                  4\" S5      S\-   \R6                  R:                  4S\-   \R6                  4\\R>                  4S\R>                  4\\R@                  4\\R@                  4S\RB                  4S \"4/S!\#4/S"\$RJ                  4S#\$RL                  4/S$\-   \'RP                  4S%\'4\)" S&S'S(9\'4\\'4\\'4S)\-   S*-   \-   S+-   \'4S,\'4S-\'4\)" S.5      \'4S/\'4/
S0.r*S1r+g2)3r   éà   z
For HSAIL assembly code.
ÚHSAILÚhsailÚhsaz*.hsailztext/x-hsailzVhttps://en.wikipedia.org/wiki/Heterogeneous_System_Architecture#HSA_Intermediate_Layerz2.2ú"[^"]*?"z[a-zA-Z_][\w.]*ú[0-9]+z(\$(c|s|d|q)z)\bz(align\(\d+\))z(width\((\d+|all)\))z(alloc\(agent\))z ((_ftz)?(_up|_down|_zero|_near))zò_(u8x4|s8x4|u16x2|s16x2|u8x8|s8x8|u16x4|s16x4|u32x2|s32x2|u8x16|s8x16|u16x8|s16x8|u32x4|s32x4|u64x2|s64x2|f16x2|f16x4|f16x8|f32x2|f32x4|f64x2|u8|s8|u16|s16|u32|s32|u64|s64|b128|b8|b16|b32|b64|b1|f16|f32|f64|roimg|woimg|rwimg|samp|sig32|sig64)z ((\d+\.)|(\d*\.\d+))[eE][+-]?\d+zL0[xX](([0-9a-fA-F]+\.[0-9a-fA-F]*)|([0-9a-fA-F]*\.[0-9a-fA-F]+))[pP][+-]?\d+z>0(?:[hH][0-9a-fA-F]{4}|[fF][0-9a-fA-F]{8}|[dD][0-9a-fA-F]{16})r3   Úcommentsr9   z:?ÚkeywordÚ&r1   z0[xX][a-fA-F0-9]+ú\d+z[=<>{}\[\]()*.,:;!]|x\br>   z	/\*.*?\*/z//.*?\nÚkernargz+\$(full|base|small|large|default|zero|near))ÚmoduleÚ	extensionÚpragmaÚprogÚindirectÚ	signatureÚdeclÚkernelÚfunctionÚenablebreakexceptionsÚenabledetectexceptionsÚmaxdynamicgroupsizeÚmaxflatgridsizeÚmaxflatworkgroupsizeÚrequireddimÚrequiredgridsizeÚrequiredworkgroupsizeÚrequirenopartialworkgroupsr2   ©Úsuffixz_(Ú|Ú)Ú_kernargz(nop|imagefence)\b)äÚcleardetectexceptÚclockÚcuidÚ	debugtrapÚdimÚgetdetectexceptÚgroupbaseptrÚkernargbaseptrÚlaneidÚmaxcuidÚ	maxwaveidÚpacketidÚsetdetectexceptÚwaveidÚworkitemflatabsidÚworkitemflatidÚnullptrÚabsÚbitrevÚcurrentworkgroupsizeÚcurrentworkitemflatidÚfractÚncosÚnegÚnexp2Únlog2ÚnrcpÚnrsqrtÚnsinÚnsqrtÚ
gridgroupsÚgridsizeÚnotÚsqrtÚworkgroupidÚworkgroupsizeÚworkitemabsidÚ
workitemidÚceilÚfloorÚrintÚtruncÚaddÚbitmaskÚborrowÚcarryÚcopysignÚdivÚremÚsubÚshlÚshrÚandÚorÚxorÚunpackhiÚunpackloÚmaxÚminÚfmaÚmadÚ
bitextractÚ	bitselectÚshuffleÚcmovÚbitalignÚ	bytealignÚlerpÚnfmaÚmulÚmulhiÚmul24hiÚmul24Úmad24Úmad24hiÚ	bitinsertÚcombineÚexpandÚldaÚmovÚpackÚunpackÚpackcvtÚ	unpackcvtÚsadÚsementpÚftosÚstofÚcmpÚldÚstÚ_eqÚ_neÚ_ltÚ_leÚ_gtÚ_geÚ_equÚ_neuÚ_ltuÚ_leuÚ_gtuÚ_geuÚ_numÚ_nanÚ_seqÚ_sneÚ_sltÚ_sleÚ_sgtÚ_sgeÚ_snumÚ_snanÚ_sequÚ_sneuÚ_sltuÚ_sleuÚ_sgtuÚ_sgeuÚatomicÚ_ldÚ_stÚ_casÚ_addÚ_andÚ_exchÚ_maxÚ_minÚ_orÚ_subÚ_wrapdecÚ_wrapincÚ_xorÚretÚcvtÚ	_readonlyrª   Ú_globalÚbrÚcbrÚsbrÚ_scacqÚ_screlÚ_scarÚ_rlxÚ_waveÚ_wgÚ_agentÚ_systemÚldimageÚstimageÚ_v2Ú_v3Ú_v4Ú_1dÚ_2dÚ_3dÚ_1daÚ_2daÚ_1dbÚ_2ddepthÚ	_2dadepthÚ_widthÚ_heightÚ_depthÚ_arrayÚ_channelorderÚ_channeltypeÚquerysamplerÚ_coordÚ_filterÚ_addressingÚbarrierÚwavebarrierÚinitfbarÚjoinfbarÚwaitfbarÚ
arrivefbarÚ	leavefbarÚreleasefbarÚldfÚactivelaneidÚactivelanecountÚactivelanemaskÚactivelanepermuteÚcallÚscallÚicallÚallocaÚpacketcompletionsigÚaddqueuewriteindexÚcasqueuewriteindexÚldqueuereadindexÚstqueuereadindexÚreadonlyÚglobalÚprivateÚgroupÚspillÚargÚ_upiÚ_downiÚ_zeroiÚ_neariÚ_upi_satÚ
_downi_satÚ
_zeroi_satÚ
_neari_satÚ_supiÚ_sdowniÚ_szeroiÚ_sneariÚ	_supi_satÚ_sdowni_satÚ_szeroi_satÚ_sneari_satÚ_ppÚ_psÚ_spÚ_ssÚ_sÚ_pÚ_pp_satÚ_ps_satÚ_sp_satÚ_ss_satÚ_s_satÚ_p_satú	i[1-9]\d*)r?   r3   r�   r�   rJ   N),rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rX   Úregister_numberrZ   Ú	alignQualÚ	widthQualÚ	allocQualÚroundingModÚdatatypeModÚfloatÚhexfloatÚ	ieeefloatr   r   r   r[   r`   Ú	AnonymousÚGlobalr   rc   ÚFloatr_   r   r   r   rb   ra   r   ÚTyper   re   rf   rJ   rI   rF   r   r   à   s  † ñð €DØ˜Ð€GØ�€IØÐ €IØ
b€CØ€Mà€FØ#€Jà€OØ Ñ0°6Ñ9€Hà!€IØ'€IØ#€Ià6€Kð
:€Kð 0€EØ^€HØQ€Iñ �LÓ!Ù�JÓà�VÐà�JÑ Ñ% t§z¡zÐ2à�t—}‘}×.Ñ.Ð/á�IÓà�JÑ §¡× 4Ñ 4Ð5Ø�JÑ §¡Ð.à�v—z‘zÐ"Ø! 6§:¡:Ð.Ø˜Ÿ™Ð%Ø�F—L‘LÐ!Ø�V—^‘^Ð$à'¨Ð5ð+
ð0 �ZÐ ð
ð ˜7×,Ñ,Ð-Ø˜Ÿ™Ð(ð
ð ˜+Ñ% w§|¡|Ð4ð <¸WÐEÙð Gð ñð  'ð(ð ˜'Ð"Ø˜'Ð"Ø�YÑ Ñ$ yÑ0°3Ñ6¸Ð@Ø˜'Ð"Ø" GÐ,Ùð %Eó %FðJ HOðK%PðP ˜7Ð#ðy=
ñ?]ƒFrI   r   c                   óf  • \ rS rSrSrSrSrS/rS/rS/r	Sr
S	rS
\-   S-   rS\-   S-   r\" S5      \S-   \R                   4\" S5      S\-   \R"                  4S\-   \R"                  R$                  4S\R"                  R&                  4S\R"                  R$                  4S\R"                  R$                  4S\-   \R"                  4S\R"                  R&                  4S\-   \4S\4S\4S\4/S\4S\4S\S4/S \4S!\S"4S#\4/\" S$S%S&9\4\" S'5      \R6                  4S(\R6                  4/S).rS*rg+),r   ig  z
For LLVM assembly code.
ÚLLVMz"https://llvm.org/docs/LangRef.htmlÚllvmz*.llztext/x-llvmr,   r�   z([-a-zA-Z$._][\w\-$.]*|r©   rh   z|(\d+))r3   z\s*:r�   r1   r9   z%\d+z@\d+z#\d+Ú!z!\d+zc?z0[xX][KLMHR]?[a-fA-F0-9]+z,-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?z[=<>{}\[\]()*.,!]|x\br>   ú;.*?\nz/\*ú	c-commentz[^*]+z\*/r:   z\*(‰  Úaarch64_sve_vector_pcsÚaarch64_vector_pcsÚacq_relÚacquirerÕ   Ú	addrspaceÚaddrspacecastÚafnÚaliasÚaliaseeÚalignÚ	alignLog2Ú
alignstackrf  Ú	allocsizeÚallOnesÚalwaysinlineÚalwaysInlineÚ	amdgpu_csÚ	amdgpu_esÚ
amdgpu_gfxÚ	amdgpu_gsÚ	amdgpu_hsÚamdgpu_kernelÚ	amdgpu_lsÚ	amdgpu_psÚ	amdgpu_vsrß   ÚanyÚanyregccÚ	appendingÚarcpÚ
argmemonlyÚargsÚarm_aapcs_vfpccÚarm_aapcsccÚ
arm_apcsccÚashrr)   r"  Ú	atomicrmwÚ
attributesÚavailable_externallyÚ
avr_intrccÚavr_signalccÚbitÚbitcastÚbitMaskÚblockaddressÚ
blockcountr4  ÚbranchFunnelÚbuiltinÚbyArgÚbyrefÚbyteÚ	byteArrayÚbyvalÚcrc  ÚcallbrÚcalleeÚcallerÚcallsÚcanAutoHideÚcatchÚcatchpadÚcatchretÚcatchswitchÚccÚcccÚcfguard_checkccÚcleanupÚ
cleanuppadÚ
cleanupretÚcmpxchgÚcoldÚcoldccÚcomdatÚcommonÚconstantÚcontractÚ
convergentÚcriticalÚcxx_fast_tlsccÚ
datalayoutÚdeclarer	   ÚdefineÚdeplibsÚdereferenceableÚdereferenceable_or_nullÚdistinctÚ	dllexportÚ	dllimportÚ	dso_localÚdso_local_equivalentÚdso_preemptableÚdsoLocalÚeqÚexactÚ
exactmatchÚextern_weakÚexternalÚexternally_initializedÚextractelementÚextractvalueÚfaddÚfalseÚfastÚfastccÚfcmpÚfdivÚfenceÚfilterÚflagsÚfmulÚfnegÚfpextÚfptosiÚfptouiÚfptruncÚfreezeÚfremÚfromÚfsubÚ	funcFlagsrœ   ÚgcÚgetelementptrÚghcccrm  ÚguidÚgvÚhashÚhhvm_cccÚhhvmccÚhiddenÚhotÚhotnessÚicmpÚifuncÚinaccessiblemem_or_argmemonlyÚinaccessiblememonlyÚinallocaÚinboundsÚindirÚ
indirectbrÚinfoÚinitialexecÚinlineÚ
inlineBitsÚ
inlinehintÚinrangeÚinregÚinsertelementÚinsertvalueÚinstsÚintel_ocl_biccÚinteldialectÚinternalÚinttoptrÚinvokeÚ	jumptableÚkindÚ
landingpadÚlargestÚlinkageÚlinkonceÚlinkonce_odrÚliveÚloadÚlocal_unnamed_addrÚlocaldynamicÚ	localexecÚlshrrä   Úmetadatarå   Úminsizer”   Ú	monotonicÚmsp430_intrccrð   ÚmustprogressÚmusttailÚnakedrP   ÚnandÚneÚnestÚninfÚnnanÚnoaliasÚ	nobuiltinÚ
nocallbackÚ	nocaptureÚ
nocf_checkÚnoduplicateÚnoduplicatesÚnofreeÚnoimplicitfloatÚnoinlineÚnoInlineÚnomergeÚnoneÚnonlazybindÚnonnullÚ	noprofileÚ	norecurseÚ	noRecurseÚ	noredzoneÚnoreturnÚnosyncÚnotailÚnotEligibleToImportÚnoundefÚnounwindÚnswÚnszÚnullÚnull_pointer_is_validÚnuwÚoeqÚoffsetÚogeÚogtÚoleÚoltÚoneÚopaqueÚoptforfuzzingÚoptnoneÚoptsizerà   ÚordÚparamÚparamsÚ	partitionÚpathÚpersonalityÚphiÚpoisonÚpreallocatedÚprefixÚpreserve_allccÚpreserve_mostccrn  ÚprologueÚ	protectedÚptrtointÚ
ptx_deviceÚ
ptx_kernelÚreadnoneÚreadNonerl  ÚreadOnlyÚreassocÚrefsÚrelbfÚreleaseÚresByArgÚresumer0  ÚreturnDoesNotAliasÚreturnedÚreturns_twiceÚ	safestackÚsamesizeÚsanitize_addressÚsanitize_hwaddressÚsanitize_memoryÚsanitize_memtagÚsanitize_threadÚsdivÚsectionÚselectÚseq_cstÚsextÚsgeÚsgtÚshadowcallstackrÝ   ÚshufflevectorÚ
sideeffectÚsignextÚsingleÚ
singleImplÚsingleImplNameÚsitofpÚsizeM1ÚsizeM1BitWidthÚsleÚsltÚsource_filenameÚspeculatableÚspeculative_load_hardeningÚ	spir_funcÚspir_kernelÚsplatÚsremÚsretÚsspÚsspreqÚ	sspstrongÚstoreÚstrictfprÜ   Ú	summariesÚsummaryÚswiftccÚ
swifterrorÚ	swiftselfÚswitchÚ	syncscopeÚtailÚtailccÚtargetÚthread_localÚtoÚtokenÚtripleÚtruerÔ   ÚtypeÚtypeCheckedLoadConstVCallsÚtypeCheckedLoadVCallsÚtypeidÚtypeidCompatibleVTableÚ
typeIdInfoÚtypeTestAssumeConstVCallsÚtypeTestAssumeVCallsÚtypeTestResÚ	typeTestsÚudivÚueqÚugeÚugtÚuitofpÚuleÚultÚumaxÚuminÚundefÚuneÚuniformRetValÚuniqueRetValÚunknownÚunnamed_addrÚunoÚ	unorderedÚunreachableÚunsatÚunwindÚuremÚuselistorderÚuselistorder_bbÚuwtableÚva_argÚvarFlagsÚvariableÚvcall_visibilityÚvFuncIdÚvirtFuncÚvirtualConstPropÚvoidÚvolatileÚvscaleÚvTableFuncsÚweakÚweak_odrÚwebkit_jsccÚwin64ccÚwithinÚwpdResÚwpdResolutionsÚ	writeonlyÚxÚx86_64_sysvccÚx86_fastcallccÚ
x86_intrccÚx86_mmxÚx86_regcallccÚx86_stdcallccÚx86_thiscallccÚx86_vectorcallccÚxchgrá   ÚzeroextÚzeroinitializerÚzextÚimmargÚ
willreturnr2   r¦   )rù  ÚhalfÚbfloatr•  ÚdoubleÚfp128Úx86_fp80Ú	ppc_fp128ÚlabelrH  r	  Úx86_amxrÍ  ÚptrrŽ  )r?   r3   r¡  r�   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   rV   rX   Úblock_labelr   r   r[   r`   r™  r˜  r   r   r   r   r   r   r   r›  re   rf   rJ   rI   rF   r   r   g  sÅ  † ñð €DØ
.€CØˆh€GØ�€IØ�€IØ€Mð €FØ+¨fÑ4°sÑ:€JØ˜Ñ# jÑ0€Kñ �LÓ!ð ˜7Ñ" D§J¡JÐ/á�IÓà�JÑ §¡Ð.Ø�JÑ §¡× 4Ñ 4Ð5Ø�d—m‘m×-Ñ-Ð.Ø�d—m‘m×*Ñ*Ð+Ø�d—m‘m×*Ñ*Ð+Ø�JÑ §¡Ð.Ø�d—m‘m×-Ñ-Ð.Ø�V‰^˜VÐ$à)¨6Ð2Ø<¸fÐEà% {Ð3ð)
ð. �ZÐ Ø˜Ð Ø�W˜kÐ*ð
ð �wÐØ�W˜fÐ%à�GÐð	
ñ ð TCðj ñkUðj  'ðkU(ñp ð /ó 0ð —<‘<ð!ð ˜7Ÿ<™<Ð(ðAa
ñEDƒFrI   r   c                   ó@  • \ rS rSrSrSrSrS/r/ r/ r	Sr
\" SSS	9\4S
\R                  4S\R                  4S\R                  4S\4S\4S\R                  S4\" S5      S\R                  R"                  4\" SSSS9\R$                  4\" SSSS9\R$                  4S\R(                  4S\4S\R$                  4S\R$                  4\" S5      \4S\" \R.                  \5      S4S \R.                  S!4\" S"5      S#\" \\5      S$4S%\4S&\4S'\4/\" S"5      S(\S)4/\" S*5      S(\S)4/S+\" \\5      S,4S-\" \\5      S.4S(\S)4/S/\" \\R                  R6                  5      4S0\" \\R                  5      4S-\" \\5      S.4S(\S)4/S1\" \\R.                  5      4S2\" \\R.                  5      4S\S)4S(\S)4/S3\4S4\4\" S55      \4S6\4S7\4S8\4\" S"5      \" S5      S9\4S:\4S\S)4/S;\R<                  4/S<\R>                  4/S=\R                  R"                  4/S>.
r S?r!g@)Ar   iþ  z1
For LLVM MIR examples without the YAML wrapper.
zLLVM-MIR Bodyú%https://llvm.org/docs/MIRLangRef.htmlzllvm-mir-bodyú2.6)ÚliveinsÚ
successorsr4   r¦   z4bb\.[0-9]+(\.[a-zA-Z0-9_.-]+)?( \(address-taken\))?:z5bb\.[0-9]+ \(%[a-zA-Z0-9_.-]+\)( \(address-taken\))?:z%bb\.[0-9]+(\.\w+)?z%stack\.[0-9]+(\.\w+\.addr)?z%subreg\.\w+z%[a-zA-Z0-9_]+ *Úvregrm  zintrinsic\(\@[a-zA-Z0-9_.]+\))
rý  rP  r§  r¦  r³  r²  rÝ  rÜ  rà  rß  z	intpred\(z\))r†  r§   )
rr  rx  ru  rt  rw  rv  rÝ  rÜ  rà  rß  zfloatpred\(z\$\w+Ú=a  (G_ANYEXT|G_[SZ]EXT|G_SEXT_INREG|G_TRUNC|G_IMPLICIT_DEF|G_PHI|G_FRAME_INDEX|G_GLOBAL_VALUE|G_INTTOPTR|G_PTRTOINT|G_BITCAST|G_CONSTANT|G_FCONSTANT|G_VASTART|G_VAARG|G_CTLZ|G_CTLZ_ZERO_UNDEF|G_CTTZ|G_CTTZ_ZERO_UNDEF|G_CTPOP|G_BSWAP|G_BITREVERSE|G_ADDRSPACE_CAST|G_BLOCK_ADDR|G_JUMP_TABLE|G_DYN_STACKALLOC|G_ADD|G_SUB|G_MUL|G_[SU]DIV|G_[SU]REM|G_AND|G_OR|G_XOR|G_SHL|G_[LA]SHR|G_[IF]CMP|G_SELECT|G_GEP|G_PTR_MASK|G_SMIN|G_SMAX|G_UMIN|G_UMAX|G_[US]ADDO|G_[US]ADDE|G_[US]SUBO|G_[US]SUBE|G_[US]MULO|G_[US]MULH|G_FNEG|G_FPEXT|G_FPTRUNC|G_FPTO[US]I|G_[US]ITOFP|G_FABS|G_FCOPYSIGN|G_FCANONICALIZE|G_FMINNUM|G_FMAXNUM|G_FMINNUM_IEEE|G_FMAXNUM_IEEE|G_FMINIMUM|G_FMAXIMUM|G_FADD|G_FSUB|G_FMUL|G_FMA|G_FMAD|G_FDIV|G_FREM|G_FPOW|G_FEXP|G_FEXP2|G_FLOG|G_FLOG2|G_FLOG10|G_FCEIL|G_FCOS|G_FSIN|G_FSQRT|G_FFLOOR|G_FRINT|G_FNEARBYINT|G_INTRINSIC_TRUNC|G_INTRINSIC_ROUND|G_LOAD|G_[ZS]EXTLOAD|G_INDEXED_LOAD|G_INDEXED_[ZS]EXTLOAD|G_STORE|G_INDEXED_STORE|G_ATOMIC_CMPXCHG_WITH_SUCCESS|G_ATOMIC_CMPXCHG|G_ATOMICRMW_(XCHG|ADD|SUB|AND|NAND|OR|XOR|MAX|MIN|UMAX|UMIN|FADD|FSUB)|G_FENCE|G_EXTRACT|G_UNMERGE_VALUES|G_INSERT|G_MERGE_VALUES|G_BUILD_VECTOR|G_BUILD_VECTOR_TRUNC|G_CONCAT_VECTORS|G_INTRINSIC|G_INTRINSIC_W_SIDE_EFFECTS|G_BR|G_BRCOND|G_BRINDIRECT|G_BRJT|G_INSERT_VECTOR_ELT|G_EXTRACT_VECTOR_ELT|G_SHUFFLE_VECTOR)\bz6(COPY|PHI|INSERT_SUBREG|EXTRACT_SUBREG|REG_SEQUENCE)\b)ÚkilledÚimplicitz(i[0-9]+)( +)Úconstantintz(half|float|double) +ÚconstantfloatÚintegerz(::)( *)Úmmoú;.*z[a-zA-Z0-9_]+z	[(), \n]+z(?=.)r:   r•  z( *)(:(?!:)))r:   Úvreg_bank_or_classz( *)(\()Ú	vreg_typez( *)(_)z( *)([a-zA-Z0-9_]+)z( *)([sp][0-9]+)z( *)(<[0-9]+ *x *[sp][0-9]+>)z\(z +)rC  r¿  ÚonÚintor  r«  rJ  r¥  r”  r¤  r¤  z%ir\.[a-zA-Z0-9_.-]+z%ir-block\.[a-zA-Z0-9_.-]+z[-+]Ú,z\), \(z-?[0-9]+z-?[0-9]+\.[0-9]+(e[+-][0-9]+)?z\@[a-zA-Z0-9_.]+)
r?   r'  r(  r#  r,  r-  r*  r)  r•  rm  rJ   N)"rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   r   r   r[   r`   r   r™  ÚBuiltinr   ra   r   r   r›  r   r   r   ÚMagicr   r   r_   rš  re   rf   rJ   rI   rF   r   r   þ  s!  † ñð €DØ
1€CØÐ€GØ€IØ€IØ€Mñ
 Ð,°SÑ9¸7ÐCàDÀdÇjÁjÐQØEÀtÇzÁzÐRØ# T§Z¡ZÐ0à,¨dÐ3à˜dÐ#à  $§-¡-°Ð8á�HÓà-¨t¯}©}×/CÑ/CÐDáð Ø#/¸ñ?Ø@DÇÁðNáð "Ø*8ÀñHà�\‰\ðð �v—}‘}Ð%à�8Ðð$ð0 �\‰\ð1ð4 GØ�\‰\ðñ Ð)Ó*¨GÐ4à™x¨¯©°jÓAÀ=ÐQà% w§|¡|°_ÐEá�IÓà™( 8¨ZÓ8¸%Ð@à�WÐà˜tÐ$à˜4Ð ðOH
ñV �IÓØ�t˜VÐ$ð
ñ �GÓØ�t˜VÐ$ð
ð ™h z°7Ó;Ð=[Ð\à™( :¨tÓ4°kÐBØ�t˜VÐ$ð
ð ™ *¨d¯m©m×.AÑ.AÓBÐCØ#¡X¨j¸$¿-¹-Ó%HÐIà™( :¨tÓ4°kÐBØ�t˜VÐ$ð
ð !¡(¨:°w·|±|Ó"DÐEØ-©x¸
ÀGÇLÁLÓ/QÐRØ�D˜&Ð!Ø�t˜VÐ$ð
ð �DˆMØ�JÐÙð @ó Aàðð % dÐ+Ø*¨DÐ1Ø�hÐÙ�IÓÙ�HÓØ�;ÐØ˜ÐØ�D˜&Ð!ð
ð  ! &§.¡.Ð1Ð3Ø4°f·l±lÐCÐDØ'¨¯©×)=Ñ)=Ð>Ð?ñy}ƒFrI   r   c                   óx  • \ rS rSrSrSrSrS/rS/rSr	S\
4S	\S
4S\S4S\4/S\S4S\" \" \5      5      4/S\
4S\S4S\S4\" SSS9\S4\" SSS9\S4\" SSS9\4S\S4S\4S\4/	S\4\" S5      /S\R(                  4\" S5      /S \4\" S5      /S\S!4S"\" \" \5      5      4S#\" \" \5      5      4/S$.rS%rg&)'r   i‰  a;  
Lexer for the overall LLVM MIR document format.

MIR is a human readable serialization format that's used to represent LLVM's
machine specific intermediate representation. It allows LLVM's developers to
see the state of the compilation process at various points, as well as test
individual pieces of the compiler.
zLLVM-MIRr  zllvm-mirz*.mirr   ú#.*z--- \|$Úllvm_irz---Úllvm_mirz[^-#]+|.z(\.\.\.|(?=---))r:   z([\s\S]+?)(?=(\.\.\.|---))zname:rP   )Ú	alignmentr4   r¦   rY   )Ú	legalizedÚregBankSelectedÚtracksRegLivenessÚselectedÚexposesReturnsTwiceÚboolean)Ú	registersÚstackÚ
fixedStackr!  Ú	frameInfoÚmachineFunctionInfoz	body: *\|Úllvm_mir_bodyz.+r=   z[^\n]+z *(true|false)z *[0-9]+z#pop:2z([\s\S]+?)(?=\.\.\.|---)z(?!\.\.\.|---)([\s\S]+))r?   r5  r6  rP   r=  rY   rC  rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rU   r   r   r   r   r   r   r   r   r   r	   r1  r   r   re   rf   rJ   rI   rF   r   r   ‰  s„  † ñð €DØ
1€CØˆl€GØ�	€IØ€Mð
 �WÐà˜ )Ð,à�W˜jÐ)à˜$Ðð	
ð ! '¨6Ð2à*©H±U¸9Ó5EÓ,FÐGð	
ð �WÐà  '¨6Ð2à�w Ð'Ù�?ØñØ '¨ð3áð 7àñà '¨ð4ñ ð +àñà 'ð)ð ˜7 OÐ4à�DˆMØ�JÐð)
ð. ˜ÐÙ�F‹Oð
ð
  §¡Ð-Ù�F‹Oð
ð
 ˜&Ð!Ù�F‹Oð
ð ! '¨8Ð4à(©(±5Ð9IÓ3JÓ*KÐLð (©±%Ð8HÓ2IÓ)JÐKð	
ñg=ƒFrI   r   c                   ód  • \ rS rSrSrSrS/r/ SQrS/rSr	Sr
S	rS
rSrSrSrSr\S-   \-   rSrSrSrSrSrSr\R2                  \R4                  -  rS\R:                  S4\" S5      \S-   \R@                  4S\ S3\!" \RD                  \#\$RJ                  5      S4\\$S4\\$RJ                  S4\\RL                  S4S\#4/\\'4\\(RR                  4\\(RT                  4\\(RV                  4\\(RX                  4\\(RZ                  4\" S5      \\R\                  4\\R^                  4S\#S4\" S5      /S \R:                  4S!\R`                  S4S"\R:                  S4/S"\#4S#\#4S$\R`                  4S%\R`                  4/S&\14S'\24S(\$RD                  4\\2Rf                  4\\$Rh                  4/S).r5S* r6S+r7g,)-r    iØ  z!
For Nasm (Intel) assembly code.
ÚNASMÚnasm)ú*.asmú*.ASMz*.nasmztext/x-nasmzhttps://nasm.usr,   g      ð?z[a-z$._?][\w$.?#@~]*ú,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)ú[0-7]+qú[01]+brŽ   ú\.e?ú/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`ú(?:res|d)[bwdqt]|timeszŸ(r[0-9][0-5]?[bwd]?|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]|k[0-7]|[xyz]mm(?:[12][0-9]?|3[01]?|[04-9]))\bzseg|wrt|strict|rel|absúbyte|[dq]?wordz’(?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE)(?=\s)ú^\s*%Úpreprocr3   r4   rh   z)(\s+)(equ)r7   r8   r;   r:   ú[^;\n]+r   r=   ú[ \t]+r+  r4  z[,{}():\[\]]+z[&|^<>+*/%~-]+ú[$]+©r?   r7   rQ  r3   r;   c                 ó\   • [         R                  " SU [         R                  5      (       a  gg )NÚPROCF)rA   ÚmatchÚ
IGNORECASErD   s    rF   rG   ÚNasmLexer.analyse_text*  s!   € ä�8Š8�G˜T¤2§=¡=×1Ñ1Øð 2rI   rJ   N)8rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   ÚpriorityrX   ÚhexnÚoctnÚbinnÚdecnÚfloatnrV   ÚdeclkwrZ   ÚwordoprÐ  Ú
directivesrA   rY  Ú	MULTILINEr  r   ÚPreprocr   r   r[   r   r^   r   r   ÚDeclarationr]   r   r   rc   ÚOctÚBinrš  r_   r1  r`   ra   r   r   ÚWordr›  re   rG   rf   rJ   rI   rF   r    r    Ø  sD  † ñð €DØˆh€GÚ,€IØ�€IØ
€CØ€Mð €Hà(€JØ:€DØ€DØ€DØ€DØ�G‰^˜dÑ"€FØK€FØ&€Fð:€Hð '€FØ€Dð2€Jð �M‰M˜BŸL™LÑ(€Eð �w—‘¨	Ð2Ù�LÓ!Ø˜#Ñ˜tŸz™zÐ*Ø�*�˜[Ð)Ù˜Ÿ™¨
°G×4GÑ4GÓHØ"ð$ð ˜Ð"4Ð5Ø�W×(Ñ(Ð*<Ð=Ø˜Ÿ™Ð(:Ð;Ø˜Ð$ð
ð �VÐØ�6—:‘:ÐØ�6—:‘:ÐØ�6—:‘:ÐØ�V—\‘\Ð"Ø�6—>‘>Ð"Ù�MÓ"Ø�t—|‘|Ð$Ø˜Ÿ™Ð'Ø˜ VÐ,Ù�LÓ!ð
ð ˜Ÿ™Ð)Ø˜Ÿ™¨Ð/Ø�G—O‘O VÐ,ð
ð �JÐØ˜
Ð#Ø�W—^‘^Ð$Ø�W—^‘^Ð$ð	
ð ˜{Ð+Ø Ð)Ø�g×&Ñ&Ð'Ø�X—]‘]Ð#Ø�7—<‘<Ð ð
ñK,€Fõ\rI   r    c                   óF   • \ rS rSrSrSrS/rS/rS/rSr	Sr
\" \5      rSrg	)
r!   i0  z,
For the output of ``objdump -d -M intel``.
zobjdump-nasmz*.objdump-intelztext/x-nasm-objdumpr+   z2.0rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rl   r    re   rf   rJ   rI   rF   r!   r!   0  s:   † ñð €DØÐ€GØ"Ð#€IØ&Ð'€IØ
1€CØ€Má" 9Ó-ƒFrI   r!   c                   ó�  • \ rS rSrSrSrS/r/ SQrS/rSr	Sr
S	rS
rSrSrSr\S-   \-   rSrSrSrSrSrSrSr\R2                  \R4                  -  rS\R:                  S4\" S5      \S-   \R@                  4\\!S4S\ S\ S3\"" \RF                  \$\!RJ                  5      S4\\!RJ                  S4\\RL                  S4S\$4/\\'4\\(RR                  4\\(RT                  4\\(RV                  4\\(RX                  4\\(RZ                  4\" S5      \\R\                  4\\R^                  4S \"" \0\$\Rb                  \$5      4S\$S!4\" S5      /S"\R:                  4S#\Rb                  S!4S$\R:                  S!4/S%\$4S&\"" \0\$5      4S'\$4S(\Rb                  4/S)\24S*\34S+\!RF                  4\\3Rh                  4\\!Rj                  4/S,.r6S- r7S.r8g/)0r"   i>  z+
For Tasm (Turbo Assembler) assembly code.
ÚTASMÚtasm)rG  rH  z*.tasmztext/x-tasmz-https://en.wikipedia.org/wiki/Turbo_Assemblerr,   z[@a-z$._?][\w$.?#@~]*rI  rJ  rK  rŽ   rL  rM  rN  zs(r[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7])\bzseg|wrt|strictrO  zÛBITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|ENDS|COMMON|CPU|GROUP|UPPERCASE|INCLUDE|EXPORT|LIBRARY|MODULE|PROC|ENDP|USES|ARG|DATASEG|UDATASEG|END|IDEAL|P386|MODEL|ASSUME|CODESEG|SIZEzdb|dd|dw|T[A-Z][a-z]+rP  rQ  r3   r4   r7   rh   z)(\s+)(r©   r8   r;   z(\\)(\s*)(;.*)([\r\n])r:   rR  r   r=   z[\n\r]z(\\)([\n\r])rS  r+  z[,():\[\]]+z[&|^<>+*=/%~-]+rT  rU  c                 ó\   • [         R                  " SU [         R                  5      (       a  gg )NrW  T)rA   rX  ÚIrD   s    rF   rG   ÚTasmLexer.analyse_text�  s!   € ä�8Š8�G˜T¤2§4¡4×(Ñ(Øð )rI   rJ   N)9rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rX   r\  r]  r^  r_  r`  rV   ra  rZ   rb  rÐ  rc  ÚdatatyperA   rY  rd  r  r   re  r   r   r[   r   r   r^   r   rf  r]   r   r   rc   rg  rh  rš  r_   r1  r`   r   ra   r   r   ri  r›  re   rG   rf   rJ   rI   rF   r"   r"   >  sf  † ñð €DØˆh€GÚ,€IØ�€IØ
9€CØ€Mà)€JØ:€DØ€DØ€DØ€DØ�G‰^˜dÑ"€FØK€FØ&€Fð8€Hð €FØ€Dð4€Jð )€Hà�M‰M˜BŸL™LÑ(€Eð �w—‘¨	Ð2Ù�LÓ!Ø˜#Ñ˜tŸz™zÐ*Ø˜Ð"4Ð5Ø�*�˜W X J¨aÐ0Ù˜Ÿ™¨
°G×4GÑ4GÓHØ"ð$ð �W×(Ñ(Ð*<Ð=Ø˜Ÿ™Ð(:Ð;Ø˜Ð$ð
ð �VÐØ�6—:‘:ÐØ�6—:‘:ÐØ�6—:‘:ÐØ�V—\‘\Ð"Ø�6—>‘>Ð"Ù�MÓ"Ø�t—|‘|Ð$Ø˜Ÿ™Ð'à&Ù�d˜J¨¯©¸
ÓCðEà˜ VÐ,Ù�LÓ!ð
ð" ˜Ÿ™Ð)Ø˜Ÿ™¨Ð/Ø�G—O‘O VÐ,ð
ð ˜
Ð#Ø™h t¨ZÓ8Ð9Ø˜
Ð#Ø�W—^‘^Ð$ð	
ð ˜[Ð)Ø Ð*Ø�g×&Ñ&Ð'Ø�X—]‘]Ð#Ø�7—<‘<Ð ð
ñQ/€FõbrI   r"   c                   ó0  • \ rS rSrSrSrS/rS/rSrSr	\
R                  rSS	\R                  4S
\4S\R"                  4S\4S\R&                  4S\4S\4S\R,                  4S\R0                  4S\R2                  4S\R4                  4S\4S\4/0rS rSrg)r#   i–  z
For ca65 assembler sources.
zca65 assemblerÚca65r*   zhttps://cc65.github.ioz1.6r?   r+  r>   z[a-z_.@$][\w.@$]*:z·((ld|st)[axy]|(in|de)[cxy]|asl|lsr|ro[lr]|adc|sbc|cmp|cp[xy]|cl[cvdi]|se[cdi]|jmp|jsr|bne|beq|bpl|bmi|bvc|bvs|bcc|bcs|p[lh][ap]|rt[is]|brk|nop|ta[xy]|t[xy]a|txs|tsx|and|ora|eor|bit)\bz\.\w+z[-+~*/^&|!<>=]z	"[^"\n]*.z	'[^'\n]*.z\$[0-9a-f]+|[0-9a-f]+h\br’   z%[01]+z[#,.:()=\[\]]z[a-z_.@$][\w.@$]*c                 ó\   • [         R                  " SU[         R                  5      (       a  gg )Nz^\s*;gÍÌÌÌÌÌì?)rA   rB   rd  )rw   rE   s     rF   rG   ÚCa65Lexer.analyse_text·  s!   € ä�9Š9�X˜t¤R§\¡\×2Ñ2Øð 3rI   rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rT   rU   rA   rY  r  r   ra   r   r   r[   r   ÚPseudor   r   rd   r   rc   r_   rh  r   re   rG   rf   rJ   rI   rF   r#   r#   –  sÒ   † ñð €DØˆh€GØ�€IØ
"€CØ€Mà�M‰M€Eð 	Ø�W—^‘^Ð$Ø�ZÐ Ø" D§J¡JÐ/ðð !ð"ð �w—~‘~Ð&Ø Ð)Ø˜6Ð"Ø˜6Ÿ;™;Ð'Ø(¨&¯*©*Ð5Ø�V—^‘^Ð$Ø˜Ÿ
™
Ð#Ø˜{Ð+Ø! 4Ð(ð!
ð€Fõ*rI   r#   c                   óZ  • \ rS rSrSrSrSrS/rSS/rS/r	S	r
/ S
Qr/ SQrSrS\-   S-   \-   S-   rSrSrSSR#                  \5      -   S-   rS\-   S-   rSrS r\" S5      S\-   \R0                  4\S-   \R0                  4\\R2                  S4S\-   \R2                  S4S\4/\\R8                  4\\R8                  4\\4/\\4\" S5      /S \4S!\S"4\" S#5      \" S5      /S\S"4S$\S"4\" S5      /S%\4S&\S'4\" S#5      \" S(5      /S%\4\" S5      \\4\" S(5      /S)\4S*\4S+\4/S,.r S-r!g.)/r$   i½  z
For DCPU-16 Assembly.
ÚDASM16z http://0x10c.com/doc/dcpu-16.txtÚdasm16z*.dasm16z*.dasmztext/x-dasm16z2.4)$ÚSETÚADDÚSUBÚMULÚMLIÚDIVÚDVIÚMODÚMDIÚANDÚBORÚXORÚSHRÚASRÚSHLÚIFBÚIFCÚIFEÚIFNÚIFGÚIFAÚIFLÚIFUÚADXÚSBXÚSTIÚSTDÚJSRÚINTÚIAGÚIASÚRFIÚIAQÚHWNÚHWQÚHWI)ÚAÚBÚCÚXÚYÚZro  ÚJÚSPÚPCÚEXÚPOPÚPEEKÚPUSHz[a-zA-Z0-9_$@.]r.   r/   r0   z[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)z0b[01_]+z(?i)(r¨   r©   z'\\?Ú'r-   c              #   óÒ   #   • UR                  S5      nUR                  5       U R                  ;   a  [        R                  O[        R
                  nUR                  5       X24v •  g 7f)Nr   )ro  ÚupperÚ	REGISTERSr   r`   r[   Ústart)ÚlexerrX  ÚidentÚklasss       rF   Úguess_identifierÚDasm16Lexer.guess_identifierè  sC   é € Ø—‘˜A“ˆØ!&§¡£°%·/±/Ó!A”—’ÄtÇzÁzˆØ�k‰k‹m˜UÐ)Ó)ùs   ‚A%A'r3   r4   r7   r5   ú	data-argsr8   Únumericz\+z\]r:   rq  z;.*?$r0  z\[Úderefúinstruction-liner=   r>   r   )r?   r¶  rq  r·  r¸  r7   rµ  r3   rJ   N)"rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   ÚINSTRUCTIONSr®  rW   rX   rY   Úbinary_numberÚjoinÚinstructionÚsingle_charrV   r³  r   r   r[   r]   r   r   r_   r   r   r   re   rf   rJ   rI   rF   r$   r$   ½  sö  † ñð €DØ
,€CØˆj€GØ˜XÐ&€IØ Ð!€IØ€Mò€Lò€Ið €DØ! DÑ(¨7Ñ2°TÑ9¸DÑ@€JØ.€FØ€MØ˜SŸX™X lÓ3Ñ3°cÑ9€KØ˜D‘. 3Ñ&€KØ€Fò*ñ �LÓ!Ø�:Ñ˜tŸz™zÐ*Ø˜#Ñ˜tŸz™zÐ*Ø˜$Ÿ-™-Ð);Ð<Ø�ZÑ §¡°Ð<Ø˜Ð$ð
ð ˜FŸN™NÐ+Ø�V—^‘^Ð$Ø˜&Ð!ð
ð Ð)Ð*Ù�IÓð
ð �KÐ Ø�K Ð(Ù�E‹NÙ�LÓ!ð	
ð ˜ VÐ,Ø�w Ð'Ù�LÓ!ð
ð �;ÐØ�K Ð)Ù�E‹NÙÐ&Ó'ð	
ð �;ÐÙ�IÓØ�VÐÙÐ&Ó'ð	
ð �JÐØ�ZÐ Ø˜Ð ð
ña5ƒFrI   r$   )*rO   rA   Úpygments.lexerr   r   r   r   r   r   r	   Úpygments.lexers.c_cppr
   r   Úpygments.lexers.dr   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Ú__all__r   rl   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   rJ   rI   rF   Ú<module>rÃ     s   ðñó 
÷÷ ñ ç 2Ý $÷)÷ )÷ )ò'€ôRˆzô Ròj2ôj-�:ô -ô:�Oô :ô<�oô <ô:�Oô :ô D�ô DôNT�
ô TônH�zô HôVL�:ô Lô^U�
ô Uôp.�|ô .ôU�
ô Uôp$�
ô $ôNe�*õ erI   