§
    XŠtjš  ã                   óÂ   — 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 ddlmZ g d¢Z G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        ZdS )zÑ
    pygments.lexers.make
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Makefiles and similar.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexerÚ
RegexLexerÚincludeÚbygroupsÚdo_insertionsÚusing)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚPunctuationÚ
Whitespace)Ú	BashLexer)ÚMakefileLexerÚBaseMakefileLexerÚ
CMakeLexerc                   ó€   — e Zd ZdZdZg d¢Zg d¢ZdgZdZdZ	 e
j        d¦  «        Z e
j        d	¦  «        Zd
„ Zd„ ZdS )r   z�
    Lexer for BSD and GNU make extensions (lenient enough to handle both in
    the same file even).

    *Rewritten in Pygments 0.10.*
    ÚMakefile)ÚmakeÚmakefileÚmfÚbsdmake)z*.makz*.mkr   r   z
Makefile.*ÚGNUmakefileztext/x-makefileú-https://en.wikipedia.org/wiki/Make_(software)Ú z¥^(?:\.\s*(include|undef|error|warning|if|else|elif|endif|for|endfor)|\s*(ifeq|ifneq|ifdef|ifndef|else|endif|-?include|define|endef|:|vpath)|\s*(if|else|endif))(?=\s)z^\s*@?#c              #   óF  K  — g }|                      d¬¦  «        }d}t          di | j        ¤Ž}d}|D ]Å}| j                             |¦  «        s|rZ|                     t          |¦  «        dt          j        |fgf¦  «         | 	                    ¦   «          
                    d¦  «        }Œx| j                             |¦  «        r.|                     t          |¦  «        dt          |fgf¦  «         ŒÀ||z  }ŒÆt          ||                     |¦  «        ¦  «        E d {V —† d S )NT)Úkeependsr   Fr   ú\© )Ú
splitlinesr   ÚoptionsÚ	r_specialÚmatchÚappendÚlenr
   ÚPreprocÚstripÚendswithÚ	r_commentr   Úget_tokens_unprocessed)ÚselfÚtextÚinsÚlinesÚdoneÚlexÚbackslashflagÚlines           úR/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/make.pyr,   z$MakefileLexer.get_tokens_unprocessed/   s4  è è € ØˆØ—’¨�Ñ.Ô.ˆØˆÝÐ/Ð/ $¤,Ð/Ð/ˆØˆØð 	ð 	ˆDØŒ~×#Ò# DÑ)Ô)ð ¨]ð Ø—
’
�C ™IœI¨­G¬O¸TÐ(BÐ'CÐDÑEÔEÐEØ $§
¢
¡¤× 5Ò 5°dÑ ;Ô ;��Ø”×%Ò% dÑ+Ô+ð Ø—
’
�C ™IœI¨­G°TÐ(:Ð';Ð<Ñ=Ô=Ð=Ð=à˜‘��Ý   c×&@Ò&@ÀÑ&FÔ&FÑGÔGÐGÐGÐGÐGÐGÐGÐGÐGÐGó    c                 ó4   — t          j        d| ¦  «        rdS d S )Nz\$\([A-Z_]+\)gš™™™™™¹?)ÚreÚsearch)r.   s    r5   Úanalyse_textzMakefileLexer.analyse_text?   s&   € åŒ9Ð% tÑ,Ô,ð 	Ø�3ð	ð 	r6   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr8   Úcompiler$   r+   r,   r:   r!   r6   r5   r   r      s™   € € € € € ðð ð €DØ3Ð3Ð3€GØVÐVÐV€IØ"Ð#€IØ
9€CØ€Mà�”
ð	%ñ&ô &€Ið �”
˜:Ñ&Ô&€IðHð Hð Hð ð ð ð ð r6   r   c                   óŒ  — e Zd ZdZdZdgZg Zg ZdZdZ	d e
e¦  «        fdefdefd	efd
 eee¦  «        dfdefd eej        eee e
e¦  «        ¦  «        fdej        fdej        fd eej        ee¦  «        dfdedfgdefdej        fdefdedfdedfgdej        fdedfdefgdefd	edfdefdedfdefdedfd efgd!œZd"S )#r   z8
    Lexer for simple Makefiles (no preprocessing).
    zBase MakefileÚbasemaker   z0.10z^(?:[\t ]+.*\n|\n)+z\$[<@$+%?|*]z\s+z#.*?\nz&((?:un)?export)(\s+)(?=[\w${}\t -]+\n)Úexportz(?:un)?export\s+z7([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z([^\n:]+)(:+)([ \t]*)úblock-headerz\$\(Ú	expansionz[^\w$().-]+z[\w.-]+z\$ú\(ú#pushú\)ú#popz	[\w${}-]+ú\nz[,|]z\\\nz
[a-zA-Z_]+ú.)ÚrootrJ   rH   rI   N)r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   r   r   r   r   r
   r   r   ÚVariabler   r   ÚDoubleÚSingleÚFunctionr	   r   Útokensr!   r6   r5   r   r   E   s§  € € € € € ðð ð €DØˆl€GØ€IØ€IØ
9€CØ€Mð
 $ U U¨9Ñ%5Ô%5Ð6à˜gÐ&Ø�ZÐ Ø˜Ð Ø6ØˆX�g˜zÑ*Ô*¨Hð6à  'Ð*àGØˆXØ”˜z¨8°ZØ��iÑ Ô ñ"ô "ð#ð
 )¨&¬-Ð8Ø(¨&¬-Ð8à% x xØ”˜x¨ñ(5ô (5àðð �g˜{Ð+ð/
ð4 ˜TÐ"Ø˜œÐ'Ø�GÐØ�G˜WÐ%Ø�G˜VÐ$ð
ð ˜4œ=Ð)Ø�D˜&Ð!Ø�ZÐ ð
ð �kÐ"Ø˜ Ð(Ø�dˆOØ�g˜{Ð+Ø˜DÐ!Ø�J Ð'Ø�4ˆLð
ðM/ð /€F€F€Fr6   r   c                   óŒ  — e Zd ZdZdZdZdgZddgZdgZdZ	d	 e
ej        ee¦  «        d
f ed¦  «         ed¦  «        gdedfdedfd e
eej        e¦  «        fd e
eej        e¦  «        fd e
eej        e¦  «        fdej        fdefdej        fdefdef ed¦  «         ed¦  «        gg defgdefdefdefgdœZd„ ZdS ) r   z 
    Lexer for CMake files.
    ÚCMakez https://cmake.org/documentation/Úcmakez*.cmakezCMakeLists.txtztext/x-cmakez1.2z\b(\w+)([ \t]*)(\()ÚargsÚkeywordsÚwsrK   rL   rM   rN   z(\$\{)(.+?)(\})z(\$ENV\{)(.+?)(\})z(\$<)(.+?)(>)z	(?s)".*?"z\\\S+z'\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z[^)$"# \t\n]+rO   z\\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\bz[ \t]+z(#\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z#.*\n)rQ   rZ   Ústringr[   r\   c                 ój   — d}t          j        || t           j        t           j        z  ¬¦  «        rdS dS )Nzu^[ \t]*CMAKE_MINIMUM_REQUIRED[ \t]*\([ \t]*VERSION[ \t]*\d+(\.\d+)*[ \t]*([ \t]FATAL_ERROR)?[ \t]*\)[ \t]*(#[^\n]*)?$)Úflagsgš™™™™™é?g        )r8   r9   Ú	MULTILINEÚ
IGNORECASE)r.   Úexps     r5   r:   zCMakeLexer.analyse_textË   s:   € ðð 	õ Œ9�S˜$¥b¤lµR´]Ñ&BÐCÑCÔCð 	Ø�3Øˆsr6   N)r;   r<   r=   r>   r?   rC   r@   rA   rB   rD   r   r   ÚBuiltinr   r   r   r   rR   r   rS   Ú	Multiliner   r
   rV   r:   r!   r6   r5   r   r   ƒ   s‡  € € € € € ðð ð €DØ
,€CØˆi€GØÐ,Ð-€IØÐ €IØ€Mð< $ X X¨d¬l¸JØ.9ñ&;ô &;Ø<BðDàˆG�JÑÔØˆG�D‰MŒMð=
ðB �K Ð)Ø�K Ð(Ø  ¨(°D´MÀ8Ñ!LÔ!LÐMØ" H H¨X°t´}ÀhÑ$OÔ$OÐPØ˜x˜x¨°$´-ÀÑJÔJÐKØ˜6œ=Ð)Ø�vÐØ7¸Ô9IÐJØ˜vÐ&Ø�JÐØˆG�JÑÔØˆG�D‰MŒMð
ð
ð/Ø07ð9ð
ð
 ˜
Ð#Ø8¸'ÐBØ�wÐð
ðm;ð ;€Fðz	ð 	ð 	ð 	ð 	r6   r   )r>   r8   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   Úpygments.lexers.shellr   Ú__all__r   r   r   r!   r6   r5   ú<module>ri      s  ððð ð 
€	€	€	ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð à +Ð +Ð +Ð +Ð +Ð +à
>Ð
>Ð
>€ð,ð ,ð ,ð ,ð ,�Eñ ,ô ,ð ,ð^;ð ;ð ;ð ;ð ;˜
ñ ;ô ;ð ;ð|Qð Qð Qð Qð Q�ñ Qô Qð Qð Qð Qr6   