Ë
    !täiiB  ã                   ó"  — d Z ddlZddlmZ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mZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ g d	¢Zd
 ee
j>                  e«      f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.csound
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Csound languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚbygroupsÚdefaultÚincludeÚusingÚwords)
ÚCommentÚErrorÚKeywordÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚ
Whitespace)ÚOPCODESÚDEPRECATED_OPCODESÚREMOVED_OPCODES)Ú	HtmlLexer)ÚPythonLexer)ÚLuaLexer)ÚCsoundScoreLexerÚCsoundOrchestraLexerÚCsoundDocumentLexerz((?:(?:;|//).*)*)(\n)c            
       óŒ  — e Zd ZdZi ddefdej                  fdej                  fd ee	e«      fg“ddej                  fd	ej                  d
fdej                  dfdej                  dfdej                  dfg“d ed«      dedfg“d
 ed«      dedfg“ddef ed«      d eej                  e«      dfdej                  dfg“d ed«      dej                  fdefdedfg“ddef ed«      dedfg“d d!ej                  fd"ej                  fd#edfg“d ed«      dej                  dfg“d$d% eej                  e«      d&fd'ej                  fg“d&d(ej                  fdefded)fd*ed+fd,ej                  d-fdedfg“d)d.ej                  fd/ef ed0«      g“d+d.ej                  fd/ef ed1«      g“d-d2ej                  fd,ej                  d3fdej                  dfg“d4 ed«       ed$«      g“d5d6ej                   fd7 eej$                  ej&                  «      fd8ej(                  fg“d0dedfd9ef ed$«      d:efg“d1g i¥Zy;)<ÚCsoundLexerzhttps://csound.com/Ú
whitespacez[ \t]+z/[*](?:.|\n)*?[*]/ú(?:;|//).*$z(\\)(\n)úpreprocessor directivesz)#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+z#includestrzincludestr directivez#includezinclude directivez#[ \t]*definezdefine directivez#(?:ifn?def|undef)\bzmacro directivez([^ \t]).*?\1ú#popÚ")r!   úquoted stringú\nz([A-Z_a-z]\w*)(\())r!   úmacro parameter name listú[A-Z_a-z]\w*)r!   úbefore macro bodyr%   z['#]z\)r'   Ú#)r!   ú
macro bodyr)   z(?:\\(?!#)|[^#\\]|\n)+z\\#z(?<!\\)#ú
macro usesz(\$[A-Z_a-z]\w*\.?)(\()zmacro parameter value listz\$[A-Z_a-z]\w*(?:\.|\b)z(?:[^\'#"{()]|\{(?!\{))+z#macro parameter value quoted stringú\{\{z#macro parameter value braced stringz\(z#macro parameter value parentheticalz\\[#'()]z[#'()]r#   úbraced stringz(?:[^\\()]|\\\))+z#pushúwhitespace and macro usesÚnumbersz2\d+[Ee][+-]?\d+|(\d+\.\d*|\d*\.\d+)([Ee][+-]?\d+)?z(0[Xx])([0-9A-Fa-f]+)ú\d+z[^"$]+z[$]N)Ú__name__Ú
__module__Ú__qualname__Úurlr   r	   Ú	MultilineÚSingler   r   ÚPreprocr   r   r   r
   r   ÚFloatr   ÚTypeÚHexÚIntegerÚtokens© ó    úe/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/csound.pyr   r      s¾  „ Ø
€CðhØØ˜
Ð#Ø" G×$5Ñ$5Ð6Ø˜WŸ^™^Ð,Ø™( 4¨Ó4Ð5ð	
ðhð 	"Ø9¸7¿?¹?ÐKØ˜WŸ_™_Ð.DÐEØ˜'Ÿ/™/Ð+>Ð?Ø˜wŸ™Ð0BÐCØ$ g§o¡oÐ7HÐIð$
ðhð  	Ù�LÓ!Ø˜v vÐ.ð
ð!hð( 	Ù�LÓ!Ø�6Ð4Ð5ð!
ð)hð2 	Ø�JÐÙ�LÓ!Ø"¡H¨W¯_©_¸kÓ$JØ2ð4à˜gŸo™oÐ/LÐMð
ð3hð@ 	$Ù�LÓ!Ø˜gŸo™oÐ.Ø�kÐ"Ø�KÐ!>Ð?ð	&
ðAhðL 	Ø�JÐÙ�LÓ!Ø�;Ð 6Ð7ð
ðMhðV 	Ø&¨¯©Ð8Ø�W—_‘_Ð%Ø˜+ vÐ.ð
ðWhðb 	Ù�LÓ!Ø˜gŸo™o¨vÐ6ð
ðchðl 	Ø'©°'·/±/À;Ó)OØ)ð+à'¨¯©Ð9ð
ðmhðv 	%Ø(¨'¯/©/Ð:Ø�kÐ"Ø�6Ð@ÐAØ�fÐCÐDØ�G—O‘OÐ%JÐKØ�K Ð(ð'
ðwhðF 	.Ø˜'Ÿ/™/Ð*Ø˜ÐÙ�OÓ$ð0
ðGhðP 	.Ø˜'Ÿ/™/Ð*Ø˜ÐÙ�OÓ$ð0
ðQhðZ 	.Ø! 7§?¡?Ð3Ø�G—O‘O WÐ-Ø�G—O‘O VÐ,ð0
ð[hðf 	$Ù�LÓ!Ù�LÓ!ð&
ðghðp 	ØBÀFÇLÁLÐQØ%¡x°·±¸f¿j¹jÓ'IÐJØ�V—^‘^Ð$ð
ðqhð| 	Ø�6˜6Ð"Ø˜ÐÙ�LÓ!Ø�VÐð	
ð}hðJ 	ð 
ñKh�Fr=   r   c                   ó¤  — e Zd ZdZdZddgZdgZdZdef e	d«       e	d	«      d
e
fde
j                  fd ee
ej                  «      fde
df e	d«      defdefdedfdej&                  dfg e	d«      dej*                  fdedfg e	d«      dej                  dfg e	d«      dej&                  dfgdej&                  df e	d«      gdedfdefgdœZy )!r   z4
    For `Csound <https://csound.com>`_ scores.
    zCsound Scorezcsound-scorez
csound-scoz*.scoú2.1r$   r-   r    z[aBbCdefiqstvxy]Úzz([nNpP][pP])(\d+)z[mn]úmark statementr.   z[!+\-*/^%&|<>#~.]z[()\[\]]r"   r#   z\{úloop after left bracer&   r!   r/   )r!   úloop after repeat count)r!   Úloopz\}Úrootú\}\}z[^}]|\}(?!\}))rF   rB   rC   rD   rE   r,   N)r0   r1   r2   Ú__doc__ÚnameÚaliasesÚ	filenamesÚversion_addedr   r   r   ÚConstantr   r   r:   r   r   r   r	   r6   r   ÚLabelr;   r<   r=   r>   r   r   ˆ   sO  „ ñð €DØ˜|Ð,€GØ�	€IØ€Mð �JÐÙÐ/Ó0ÙÐ-Ó.à  'Ð*ð �7×#Ñ#Ð$ð "¡8¨G°V·^±^Ó#DÐEà�gÐ/Ð0á�IÓØ! 8Ð,Ø˜+Ð&Ø�6˜?Ð+Ø�G—O‘OÐ%<Ð=ð/
ñ6 Ð/Ó0Ø˜dŸj™jÐ)Ø�J Ð'ð
ñ Ð/Ó0Ø�V—^‘^Ð%HÐIð"
ñ
 Ð/Ó0Ø˜gŸo™oÐ/?Ð@ð$
ð
 �G—O‘O VÐ,Ù�F‹Oð
ð �f˜fÐ%Ø˜vÐ&ð
ña4�Fr=   r   c                   ó  — e Zd ZdZdZddgZddgZdZ e«       Z	d„ Z
d	„ Zi d
defd eeej                  ee«      f ed«       ed«      dej&                  dfdej&                  dfdej&                  f ed«      g“ddej(                  j*                  f ed«      defdefdedfdedf eddd¬«      ef ed dd¬«      ej2                  fd!ed"fd# eej2                  e«      d"fd$ eej2                  e«      d%fd& eej2                  e«      d'fd( eej2                  e«      d)fd*ej4                  d+fd,ej4                  d-fd.ej4                  d/fd0ej4                  d1fd2ej(                  j6                  fd3efg“d ed«      d4ej8                  fd5efded6fg“d ed«      d7e
d8fded6fg“d9 ed«      d:ej:                  fd;efded6fg“dded6fd<ef ed=«       ed>«       ed?«      d@efg“ddAed6fdBef ed>«       ed?«      dCefg“d>dDej<                  fg“d?dEej>                  fdFej<                  fg“dG ed«      d;ed6f ed«      g“d" ed«      dHej                  d6f e d6«      g“d+ ed«      dedIf e d6«      g“dIdJej<                  fdKej<                  f ed«      g“d- ed«      dedfdedLfded6fg“dLdAed6fdM e!e"«      fg“d/ ed«      dedfdedNfded6fg“dNdAed6fdM e!e#«      fg“ ed«      dedfdedOfded6fgdAed6fdM e!e$«      fgdPœ¥Z%yQ)Rr   z8
    For `Csound <https://csound.com>`_ orchestras.
    zCsound OrchestraÚcsoundz
csound-orcz*.orcz*.udor@   c              #   óª   K  — |j                  d«      }| j                  j                  |«       |j                  «       t        j
                  |f–— y ­w)Nr   )ÚgroupÚuser_defined_opcodesÚaddÚstartr   ÚFunction)ÚlexerÚmatchÚopcodes      r>   Úopcode_name_callbackz)CsoundOrchestraLexer.opcode_name_callbackÕ   s>   è ø€ Ø—‘˜Q“ˆØ×"Ñ"×&Ñ& vÔ.Ø�k‰k‹mœTŸ]™]¨FÐ2Ó2ùs   ‚AAc              #   ó  K  — t         j                  }|j                  d«      }|t        v s|t        v s|t
        v r$|j                  «       t        j                  |f–— nÆ|| j                  v r$|j                  «       t        j                  |f–— n”t        }t        j                  d|«      }|r]|j                  d«      t         j                  |j                  d«      f–— |j                  d«      t        |j                  d«      f–— n|j                  «       t        |f–— |j                  d«      rO|j                  d«      t        |j                  d«      f–— |j                  d«      ||j                  d«      f–— y y ­w)Né   z^(g?[afikSw])(\w+)é   é   )r   r8   rR   r   r   r   rU   r   ÚBuiltinrS   rV   ÚreÚsearchr   )rW   rX   Útype_annotation_tokenrI   Ú
name_matchs        r>   Úname_callbackz"CsoundOrchestraLexer.name_callbackÚ   s1  è ø€ Ü '§¡Ðà�{‰{˜1‹~ˆØ”7‰?˜dÔ&8Ñ8¸DÄOÑ<SØ—+‘+“-¤§¡¨tÐ3Ó3Ø�U×/Ñ/Ñ/Ø—+‘+“-¤§¡°Ð4Ó4ä$(Ð!ÜŸ™Ð#8¸$Ó?ˆJÙØ ×&Ñ& qÓ)¬7¯<©<¸×9IÑ9IÈ!Ó9LÐLÒLØ ×&Ñ& qÓ)¬4°×1AÑ1AÀ!Ó1DÐDÓDà—k‘k“m¤T¨4Ð/Ò/à�;‰;�qŒ>Ø—+‘+˜a“.¤+¨u¯{©{¸1«~Ð=Ò=Ø—+‘+˜a“.Ð"7¸¿¹ÀQ»ÐGÓGð ùs   ‚FFrF   r$   z^([ \t]*)(\w+)(:)([ \t]+|$)r-   r    z	\binstr\bz"instrument numbers and identifiersz
\bopcode\bzafter opcode keywordz\b(?:end(?:in|op))\bzpartial statementsz-\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\br.   u@   \+=|-=|\*=|/=|<<|>>|<=|>=|==|!=|&&|\|\||[~Â¬]|[=!+\-*/^%&|<>#?:]z	[(),\[\]]r"   r#   r+   r,   )ÚdoÚelseÚelseifÚendifÚenduntilÚfiÚifÚithenÚkthenÚodÚthenÚuntilÚwhilez\b)ÚprefixÚsuffix)ÚreturnÚrireturnz\b[ik]?goto\bú
goto labelz"\b(r(?:einit|igoto)|tigoto)(\(|\b)z\b(c(?:g|in?|k|nk?)goto)(\(|\b))rv   úgoto argumentz\b(timout)(\(|\b))rv   rw   rw   z\b(loop_[gl][et])(\(|\b))rv   rw   rw   rw   z\bprintk?s\bzprints opcodez"\b(?:readscore|scoreline(?:_i)?)\bzCsound score opcodez\bpyl?run[it]?\bzPython opcodez\blua_(?:exec|opdef)\bú
Lua opcodez\bp\d+\bz$\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\bz\d+|[A-Z_a-z]\w*z[+,]r!   r&   )r!   úopcode type signaturesry   z0|[afijkKoOpPStV\[\]]+Ú,z
[^\\"$%)]+r*   zescape sequenceszformat specifiersz[\\$%)]rG   z(?:[^\\%)}]|\}(?!\}))+z[\\%)]z\\(?:[\\abnrt"]|[0-7]{1,3})z'%[#0\- +]*\d*(?:\.\d+)?[AE-GXac-giosux]z%%rw   z\w+zprints quoted stringz\\\\[aAbBnNrRtT]z%[!nNrRtT]|[~^]{1,2}zCsound scorez([^}]+)|\}(?!\})ÚPythonÚLua)rx   r|   N)&r0   r1   r2   rH   rI   rJ   rK   rL   ÚsetrS   rZ   rd   r   r   r   rN   r   r   r   ÚDeclarationÚVariableÚGlobalr   r   r   ÚPseudor_   ÚInstancerV   r8   ÚEscapeÚInterpolr   r   r   r   r   r;   r<   r=   r>   r   r   É   sG  „ ñð €DØ˜Ð&€GØ˜'Ð"€IØ€Má›5Ðò3ò
Hð*hØØ�JÐà+©X°jÀ$Ç*Á*ÈkÐ[eÓ-fÐgáÐ/Ó0ÙÐ-Ó.à˜7×.Ñ.Ð0TÐUØ˜G×/Ñ/Ð1GÐHØ$ g×&9Ñ&9Ð:áÐ(Ó)ð
ðhð  	Ø=¸t¿}¹}×?SÑ?SÐTá�IÓàPÐRZÐ[Ø˜;Ð'à�6˜?Ð+Ø�f˜oÐ.áð ð  ¨ô/ð 18ð9ñ Ð)°%ÀÔFÈÏÉÐWà˜w¨Ð5Ø2±H¸W¿^¹^È[Ó4YØðà/±¸'¿.¹.È+Ó1VØ,ð.à!¡8¨G¯N©N¸KÓ#HØ=ð?à(©(°7·>±>À;Ó*OØNðPð ˜dŸl™l¨OÐ<Ø2°D·L±LÐBWÐXØ  $§,¡,°Ð@Ø&¨¯©°lÐCØ˜$Ÿ-™-×0Ñ0Ð1Ø4°mÐDðA!
ð!hðf 	-ÙÐ/Ó0Ø  $§-¡-Ð0Ø�kÐ"Ø�J Ð'ð	/
ðghðt 	ÙÐ/Ó0ØÐ2Ð4VÐWØ�J Ð'ð!
ðuhð~ 	!ÙÐ/Ó0ð '¨¯©Ð5à�;ÐØ�J Ð'ð#
ðhðR 	Ø�6˜6Ð"Ø˜FÐ#Ù�LÓ!ÙÐ&Ó'ÙÐ'Ó(Ø˜Ð ð
ðShðb 	Ø�f˜fÐ%Ø&¨Ð/ÙÐ&Ó'ÙÐ'Ó(Ø˜Ðð
ðchðp 	à+¨V¯]©]Ð;ð
ðqhðZ 	Ø7¸¿¹ÐIØ�F—M‘MÐ"ð
ð[hðd 	ÙÐ/Ó0Ø�; Ð'ÙÐ(Ó)ð
ðehðn 	ÙÐ/Ó0Ø�T—Z‘Z Ð(Ù�F‹Oð
ðohðz 	ÙÐ/Ó0Ø�6Ð1Ð2Ù�F‹Oð
ð{hðD 	Ø  &§-¡-Ð0Ø$ f§m¡mÐ4Ù�OÓ$ð!
ðEhðP 	ÙÐ/Ó0Ø�6˜?Ð+Ø�f˜nÐ-Ø�J Ð'ð	 
ðQhð\ 	Ø�f˜fÐ%Ø ¡%Ð(8Ó"9Ð:ð
ð]hðf 	ÙÐ/Ó0Ø�6˜?Ð+Ø�f˜hÐ'Ø�J Ð'ð	
ðghðr 	Ø�f˜fÐ%Ø ¡%¨Ó"4Ð5ð
ðshñ~ Ð/Ó0Ø�6˜?Ð+Ø�f˜eÐ$Ø�J Ð'ð	
ð �f˜fÐ%Ø ¡%¨£/Ð2ð
òIh�Fr=   r   c                   óæ  — e Zd ZdZdZddgZdgZdZdZde	j                  fd	e	j                  fd
efdej                  dfdej                  dfdej                  dfdej                  dfdej                  fgdej                  dfd ee«      fgdej                  dfd ee«      fgdej                  dfd ee«      fgdefdej(                  dfdej                  dfgdefdedfd edfd!edfgd"œZy#)$r   z
    For Csound documents.
    zCsound Documentzcsound-documentz
csound-csdz*.csdzhttps://csound.comr@   z/[*](.|\n)*?[*]/r   z[^/;<]+|/(?!/)z<\s*CsInstruments)Ú	orchestraÚtagz<\s*CsScore)Úscorer‡   z<\s*[Hh][Tt][Mm][Ll])ÚHTMLr‡   z<\s*[\w:.-]+r‡   z<\s*/\s*[\w:.-]+\s*>z<\s*/\s*CsInstruments\s*>r!   z%(.|\n)+?(?=<\s*/\s*CsInstruments\s*>)z<\s*/\s*CsScore\s*>z(.|\n)+?(?=<\s*/\s*CsScore\s*>)z<\s*/\s*[Hh][Tt][Mm][Ll]\s*>z((.|\n)+?(?=<\s*/\s*[Hh][Tt][Mm][Ll]\s*>)z\s+z[\w.:-]+\s*=Úattrz/?\s*>z".*?"z'.*?'z[^\s>]+)rF   r†   rˆ   r‰   r‡   rŠ   N)r0   r1   r2   rH   rI   rJ   rK   r3   rL   r	   r4   r5   r   r   ÚTagr   r   r   r   r   Ú	Attributer   r;   r<   r=   r>   r   r   š  s`  „ ñð €DØ  ,Ð/€GØ�	€IØ
€CØ€Mð ! '×"3Ñ"3Ð4Ø˜WŸ^™^Ð,Ø Ð%à! 4§8¡8Ð-AÐBØ˜TŸX™XÐ'7Ð8Ø$ d§h¡h°Ð@à˜dŸh™h¨Ð.Ø$ d§h¡hÐ/ð
ð *¨4¯8©8°VÐ<Ø5±uÐ=QÓ7RÐSð
ð
 $ T§X¡X¨vÐ6Ø/±Ð7GÓ1HÐIð
ð
 -¨d¯h©h¸Ð?Ø8¹%À	Ó:JÐKð
ð �ZÐ Ø˜dŸn™n¨fÐ5Ø˜Ÿ™ &Ð)ð
ð �ZÐ Ø�v˜vÐ&Ø�v˜vÐ&Ø˜ Ð(ð	
ñA&�Fr=   r   )%rH   r`   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   Ú pygments.lexers._csound_builtinsr   r   r   Úpygments.lexers.htmlr   Úpygments.lexers.pythonr   Úpygments.lexers.scriptingr   Ú__all__r5   Únewliner   r   r   r   r<   r=   r>   Ú<module>r•      s„   ðñó 
ç O× O÷÷ ÷ ç YÑ YÝ *Ý .Ý .â
M€à#¡X¨g¯n©n¸dÓ%CÐ
D€ôk�*ô kô\>�{ô >ôBN˜;ô Nôb8˜*õ 8r=   