Ë
    !täi	  ã                   ó–   — d Z ddlZddl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 g d¢Z G d„ de«      Z G d„ d	e«      Z G d
„ de«      Zy)zÎ
    pygments.lexers.diff
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for diff/patch formats.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroups)ÚTextÚCommentÚOperatorÚKeywordÚNameÚGenericÚLiteralÚ
Whitespace)Ú	DiffLexerÚDarcsPatchLexerÚ
WDiffLexerc                   ó\  — e Zd ZdZdZddgZddgZddgZd	Zd
Z	dd e
eee«      fd e
ej                  e«      fd e
ej                  e«      fd e
ej                   e«      fd e
ej"                  e«      fd e
ej$                  e«      fd e
ej$                  e«      fd e
ee«      fgiZd„ Zy)r   z>
    Lexer for unified or context-style diffs or patches.
    ÚDiffÚdiffÚudiffz*.diffz*.patchztext/x-diffztext/x-patchz"https://en.wikipedia.org/wiki/DiffÚ Úrootz( )(.*)(\n)z(!.*|---)(\n)z((?:< |-).*)(\n)z((?:> |\+).*)(\n)z*(@.*|\d(?:,\d+)?(?:a|c|d)\d+(?:,\d+)?)(\n)z((?:[Ii]ndex|diff).*)(\n)z	(=.*)(\n)ú(.*)(\n)c                 ó:   — | d d dk(  ry| d d dk(  ry| d d dk(  ryy )	Né   zIndex: Té   zdiff é   z--- gÍÌÌÌÌÌì?© )Útexts    úc/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/diff.pyÚanalyse_textzDiffLexer.analyse_text0   s:   € Ø��ˆ8�yÒ ØØ��ˆ8�wÒØØ��ˆ8�vÒØð ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   r   r   ÚStrongÚDeletedÚInsertedÚ
SubheadingÚHeadingÚtokensr   r   r    r   r   r      sç   „ ñð €DØ�wÐ€GØ˜9Ð%€IØ Ð/€IØ
.€CØ€Mð 	Ø™X j°$¸
ÓCÐDØ™x¨¯©¸
ÓCÐDØ ¡(¨7¯?©?¸JÓ"GÐHØ!¡8¨G×,<Ñ,<¸jÓ#IÐJà=Ù˜×+Ñ+¨ZÓ8ðð *©8°G·O±OÀZÓ+PÐQØ™8 G§O¡O°ZÓ@ÐAØ™( 4¨Ó4Ð5ð
ð€Fó r    r   c                   óP  — e Zd ZdZdZdgZddgZdZdZdZ	d	e
fd
e
fde
fde
fd ee
eeeee
ej                   ee
«	      fd ee
eeeee
ej                   e«      dfdej$                  fdej$                  fdej$                  fdj'                  dj)                  e	«      «       eeeee«      fdej,                  dfdej.                  dfd eee«      fgdefde
dfgdedfde
fg ed«      d ej,                  fd!ej,                  fg ed«      d ej.                  fd!ej.                  fgd"œZy#)$r   zÈ
    DarcsPatchLexer is a lexer for the various versions of the darcs patch
    format.  Examples of this format are derived by commands such as
    ``darcs annotate --patch`` and ``darcs send``.
    zDarcs PatchÚdpatchz*.dpatchz*.darcspatchzhttps://darcs.netz0.10)ÚhunkÚaddfileÚadddirÚrmfileÚrmdirÚmoveÚreplaceÚ<Ú>z\{z\}z/(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)(\])z+(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)ÚcommentzNew patches:zContext:zPatch bundle hash:z(\s*)({})(.*)(\n)Ú|z\+ÚinsertÚ-Údeleter   z	[^\]].*\nz\]ú#popz\nz
\[_[^_]*_]ÚspecialTextz\[z[^\n\[]+)r   r<   rB   r>   r@   N)r!   r"   r#   r$   r%   r&   r'   r)   r*   ÚDPATCH_KEYWORDSr   r   r	   r
   r   r   ÚDater   r/   ÚformatÚjoinr   r-   r,   r   r   r0   r   r    r   r   r   9   s²  „ ñð €DØˆj€GØ˜^Ð,€IØ
€CØ€Mð"€Oð
 �8ÐØ�8ÐØ�HÐØ�HÐØ?Ù�h ¨¨z¸4ÀØ—l‘l J°ó:ð;ð <Ù�h ¨¨z¸4ÀØ—l‘l Jó0Ø1:ð<ð ˜gŸo™oÐ.Ø˜'Ÿ/™/Ð*Ø" G§O¡OÐ4Ø!×(Ñ(¨¯©°/Ó)BÓCÙ˜ W¨d°JÓ?ðAà�G×$Ñ$ hÐ/Ø�7—?‘? HÐ-Ø™( 4¨Ó4Ð5ð%
ð* ˜7Ð#Ø�H˜fÐ%ð
ð
 �J Ð'Ø˜HÐ%ð
ñ
 �MÓ"Ø�G×$Ñ$Ð%Ø˜'×*Ñ*Ð+ð
ñ �MÓ"Ø�G—O‘OÐ$Ø˜'Ÿ/™/Ð*ð
ñE'�Fr    r   c            	       ó
  — e Zd ZdZdZdZdgZdgZg ZdZ	e
j                  e
j                  z  ZdZdZd	Zd
ZdZeej(                  dfeej*                  dfeefdefgeej(                  dfeej(                  dfeej(                  dfeej(                  dfeej(                  fdej(                  fgeej*                  dfeej*                  dfeej*                  dfeej*                  dfeej*                  fdej*                  fgdœZy)r   zï
    A wdiff lexer.

    Note that:

    * It only works with normal output (without options like ``-l``).
    * If the target files contain "[-", "-]", "{+", or "+}",
      especially they are unbalanced, the lexer will get confused.
    ÚWDiffz#https://www.gnu.org/software/wdiff/Úwdiffz*.wdiffz2.2z\{\+z\+\}z\[\-z\-\]z[^{}[\]+-]+ÚinsertedÚdeletedÚ.z#pushrA   )r   rJ   rK   N)r!   r"   r#   r$   r%   r)   r&   r'   r(   r*   ÚreÚ	MULTILINEÚDOTALLÚflagsÚins_opÚins_clÚdel_opÚdel_clÚnormalr   r-   r,   r   r0   r   r    r   r   r   s   sL  „ ñð €DØ
/€CØˆi€GØ�€IØ€IØ€Mà�L‰L˜2Ÿ9™9Ñ$€Eð €FØ€FØ€FØ€FØ€Fð �W×%Ñ% zÐ2Ø�W—_‘_ iÐ0Ø�TˆNØ�4ˆLð	
ð �W×%Ñ% wÐ/Ø�W×%Ñ% wÐ/Ø�W×%Ñ% vÐ.à�W×%Ñ% vÐ.Ø�W×%Ñ%Ð&Ø�7×#Ñ#Ð$ð
ð �W—_‘_ gÐ.Ø�W—_‘_ gÐ.Ø�W—_‘_ fÐ-à�W—_‘_ fÐ-Ø�W—_‘_Ð%Ø�7—?‘?Ð#ð
ñ!�Fr    r   )r$   rM   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r   r    r   Ú<module>rY      sQ   ðñó 
ç 8Ñ 8÷÷ ó ò 9€ô"�
ô "ôJ7�jô 7ôt6�õ 6r    