
    5h<                         S r SSKrSSKJrJr  SSKJrJrJr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SKJr  / SQ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.textfmts
~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for various text formats.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)guess_lexerget_lexer_by_name)
RegexLexerbygroupsdefaultinclude)
TextCommentOperatorKeywordNameStringNumberGenericLiteralPunctuation)ClassNotFound)IrcLogsLexerTodotxtLexer	HttpLexerGettextLexerNotmuchLexerKernelLogLexerc                      \ rS rSrSrSrS/rS/rS/rSr	Sr
\R                  \R                  -  rS	rS
\4S\-   S-   \" \R$                  \R(                  5      4S\-   S-   \" \R$                  \R(                  5      S4S\-   S-   \" \R$                  \\R.                  5      4S\-   S-   \" \R$                  \\\5      4S\4/S\R4                  4S\S4/S.rSrg)r      z<
Lexer for IRC logs in *irssi*, *xchat* or *weechat* style.
zIRC logsircz*.weechatlogztext/x-irclogz1https://en.wikipedia.org/wiki/Internet_Relay_Chat af  
        (
          # irssi / xchat and others
          (?: \[|\()?                  # Opening bracket or paren for the timestamp
            (?:                        # Timestamp
                (?: (?:\d{1,4} [-/])*  # Date as - or /-separated groups of digits
                    (?:\d{1,4})
                 [T ])?                # Date/time separator: T or space
                (?: \d?\d [:.])*       # Time as :/.-separated groups of 1 or 2 digits
                    (?: \d?\d)
            )
          (?: \]|\))?\s+               # Closing bracket or paren for the timestamp
        |
          # weechat
          \d{4}\s\w{3}\s\d{2}\s        # Date
          \d{2}:\d{2}:\d{2}\s+         # Time + Whitespace
        |
          # xchat
          \w{3}\s\d{2}\s               # Date
          \d{2}:\d{2}:\d{2}\s+         # Time + Whitespace
        )?
    z^\*\*\*\*(.*)\*\*\*\*$^z(\s*<[^>]*>\s*)$z/
                (\s*<.*?>\s*)          # Nick msgzo
                (\s*[*]\s+)            # Star
                (\S+\s+.*?\n)          # Nick + rest of message z
                (\s*(?:\*{3}|<?-[!@=P]?->?)\s*)  # Star(s) or symbols
                (\S+\s+)                     # Nick + Space
                (.*?\n)                         # Rest of message z^.*?\nz
\S+:(?!//)z.*\n#pop)rootr    N)__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_addedreVERBOSE	MULTILINEflags	timestampr
   r   Preprocr   Tagr   r   Insertedr   r	   	Attributetokens__static_attributes__r"       c/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/textfmts.pyr   r      s2    DgG I !I
=CMJJ%EI2 '09_22HW__dhh4WX9_  2 2gootxx0%9 9_  D D goow0@0@AC
 9_  F F goow@	B
 )
. DNN+dF#
/Fr9   r   c                   B   \ rS rSrSrSrSS/rSS/r/ SQrS	r	S
r
SS\R                  4S\R                  4S\R                  4S\" \\R&                  \5      4S\4S\" \R(                  \\5      4S\" \R(                  \R.                  \R(                  \\5      4/0rSrg)r   X   z"
Lexer for Gettext catalog files.
zGettext Catalogpotpoz*.potz*.po)zapplication/x-gettextztext/x-gettextztext/gettextz$https://www.gnu.org/software/gettextz0.9r!   z	^#,\s.*?$z	^#:\s.*?$z^(#|#\.\s|#\|\s|#~\s|#\s).*$z^(")([A-Za-z-]+:)(.*")$z^".*"$z0^(msgid|msgid_plural|msgstr|msgctxt)(\s+)(".*")$z^(msgstr\[)(\d)(\])(\s+)(".*")$r"   N)r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r   TypeDeclarationr
   Singler   r   r   PropertyVariabler	   r   Integerr7   r8   r"   r9   r:   r   r   X   s     DdmG&!IKI
0CM 	7<<(7../,gnn='fdmmV46@dmmT624/dmmV^^T]]D&QS
Fr9   r   c                   2   \ rS rSrSrSrS/rSrSr\	R                  rSS jrS rS	 rS
 rS\" \R$                  \\R(                  \\R,                  \\\5      S4S\" \R,                  \\\\\\R2                  \5      S4/S\4S\4S\S4/S\4/S.rS rSrg)r   t   z
Lexer for HTTP sessions.
HTTPhttpzhttps://httpwg.org/specsz1.5c                 >    SU l         [        R                  " XU5      $ )zReset the content-type state.N)content_typer   get_tokens_unprocessed)selftextstacks      r:   rK    HttpLexer.get_tokens_unprocessed   s     00UCCr9   c              #     #    UR                  S5      R                  5       S:X  aM  UR                  S5      R                  5       nSU;   a"  US UR                  S5       R                  5       nX l        UR                  S5      [        R                  UR                  S5      4v   UR                  S5      [        UR                  S5      4v   UR                  S5      [        UR                  S5      4v   UR                  S5      [        UR                  S5      4v   UR                  S5      [        UR                  S5      4v   UR                  S5      [        UR                  S5      4v   g 7f)	N   zcontent-type   ;            )grouplowerstripfindrJ   startr   r6   r	   r   r   )rL   matchrJ   s      r:   header_callbackHttpLexer.header_callback   s    ;;q>!^3 ;;q>//1Ll"+,C\->->s-CDJJL ,kk!ndnnekk!n<<kk!ndEKKN22kk!nhA66kk!ndEKKN22kk!ngu{{1~55kk!ndEKKN22s   E2E4c              #     #    UR                  S5      [        UR                  S5      4v   UR                  S5      [        UR                  S5      4v   UR                  S5      [        UR                  S5      4v   g 7f)NrQ   rT   rU   )r\   r	   rX   r   )rL   r]   s     r:   continuous_header_callback$HttpLexer.continuous_header_callback   s\     kk!ndEKKN22kk!ngu{{1~55kk!ndEKKN22s   A=A?c              #     #    [        U SS 5      nUR                  5       nUR                  5       nU(       am  SSKJn  U/nSU;   a)  [
        R                  " SSU5      nUR                  U5        U H/  n U" U5      n	U	R                  U5       H  u  pnXJ-   X4v   M       g    U[        U4v   g ! [         a     ML  f = f7f)NrJ   r   )get_lexer_for_mimetype+z^(.*)/.*\+(.*)$z\1/\2)getattrrX   r\   pygments.lexersrd   r.   subappendrK   r   r	   )rL   r]   rJ   contentoffsetrd   possible_lexer_mimetypesgeneral_typeilexeridxtokenvalues                r:   content_callbackHttpLexer.content_callback   s     t^T:++->(4~$l"  "vv&8(&2 4(//=-215E .3-I-I'-R)E$lE88 .S . dG## % s*   A2C5B0=3C0
B>:C=B>>CzL([a-zA-Z][-_a-zA-Z]+)( +)([^ ]+)( +)(HTTP)(/)(1\.[01]|2(?:\.0)?|3)(\r?\n|\Z)headerszF(HTTP)(/)(1\.[01]|2(?:\.0)?|3)( +)(\d{3})(?:( +)([^\r\n]*))?(\r?\n|\Z)z(([^\s:]+)( *)(:)( *)([^\r\n]*)(\r?\n|\Z)z([\t ]+)([^\r\n]+)(\r?\n|\Z)z\r?\nrj   z.+)r!   ru   rj   c                 .   ^  [        U 4S jS 5       5      $ )Nc              3   T   >#    U H  n[         R                  " UT5      S Lv   M      g 7f)N)r.   search).0patternrM   s     r:   	<genexpr>)HttpLexer.analyse_text.<locals>.<genexpr>   s,      
 IIgt$D0s   %()zM^([a-zA-Z][-_a-zA-Z]+)( +)([^ ]+)( +)(HTTP)(/)(1\.[01]|2(?:\.0)?|3)(\r?\n|\Z)zG^(HTTP)(/)(1\.[01]|2(?:\.0)?|3)( +)(\d{3})(?:( +)([^\r\n]*))?(\r?\n|\Z))anyrM   s   `r:   analyse_textHttpLexer.analyse_text   s     

 
 	
r9   )rJ   N))r!   )r#   r$   r%   r&   r'   r(   r)   r,   r-   r.   DOTALLr1   rK   r^   ra   rs   r   r   Functionr	   	Namespacer   Reservedr   r   	Exceptionr7   r   r8   r"   r9   r:   r   r   t   s     DhG
$CMIIED
33
$69dmmT4>>4&&&$@	
 Wg&&&$nnd,

 9/J,.HItY'
 $%
#F,
r9   r   c            
          \ rS rSrSrSrSrS/rSrSS/r	S	/r
\r\r\R                   r\R$                  r\R(                  r\rS
rSrSrSrS\-   S-   r\S-   \-   S-   rS\-   S-   \-   S-   r\\" \\\\5      S4\\" \\5      S4\\" \\\5      S4\\S4\\S4\\S4\\S4S\S4/S\S4\\4\\4S\4S\4/S\S4\\4\\4S\4S\4/S.r Sr!g)r      z&
Lexer for Todo.txt todo list format.
Todotxtzhttp://todotxt.com/todotxtz2.0ztodo.txtz	*.todotxtztext/x-todoz\d{4,}-\d{2}-\d{2}z	\([A-Z]\)z\+\S+z@\S+z(x )()z( )((z)( )(complete
incompletez\S+z\s*\nr    z\s+)r!   r   r   r"   N)"r#   r$   r%   r&   r'   r(   r,   r)   r-   r*   r+   r   CompleteTaskTextr	   IncompleteTaskTextr   HeadingPriority
SubheadingDateErrorProjectr   Context
date_regexpriority_regexproject_regexcontext_regexcomplete_one_date_regexcomplete_two_date_regexpriority_date_regexr   r7   r8   r"   r9   r:   r   r      s    D
CkGM [)II   HD mmGG 'J!NMM '3d:6@) *,0 1/(:ZG$N %h/?/?'G %h/?&F
 !(85G"N X|4|,G\2G\2'6/
: '0G$G$%&%&

 )62G$G$'('(

U5Fr9   r   c                   J   \ rS rSrSrSrSrS/rSrS r	S\
S	4/S
\" \R                  \5      4S\" \R                  \R                   5      4S\" \R                  \5      4\" S5      /S\
S4S\
S4S\
S4/S\
S4S\" \R                  \5      4S\" \R&                  \\R*                  5      4/S\
S4S\
S4S\
S4/S\" \R                  \R                   5      4S\" \\R                  \5      4S\" \\R                  \5      4\" S5      /S\
S4S\
S 4S!\4S"\	4/S#.rS$ rS% rS&rg')(r   i4  z
For Notmuch email text format.

Additional options accepted:

`body_lexer`
    If given, highlight the contents of the message body with the specified
    lexer, else guess it according to the body content (default: ``None``).
Notmuchzhttps://notmuchmail.org/notmuchz2.5c              #     #    UR                  S5      n U R                  (       a  [        U R                  5      nO[        UR	                  5       5      n UR                  U5       S h  vN   g ! [
         a    [        S5      n N1f = f N 7f)NrQ   rM   )rX   
body_lexerr   r   rZ   r   rK   )rL   r]   codero   s       r:   _highlight_codeNotmuchLexer._highlight_codeD  sr     {{1~	.)$//:#DJJL1 //555  	.%f-E	. 	6s>   B&A0 BA0 B*B+B0BBBBz\fmessage\{\s*)messagemessage-attrz(\s*id:\s*)(\S+)z&(\s*(?:depth|match|excluded):\s*)(\d+)z(\s*filename:\s*)(.+\n)r    z\fmessage\}\nz\fheader\{\nheaderz
\fbody\{\nbodyz\fheader\}\nz'((?:Subject|From|To|Cc|Date):\s*)(.*\n)z(.*)(\s*\(.*\))(\s*\(.*\)\n)z
\fpart\{\npartz\f(part|attachment)\{\s*)r   	part-attrz
\fbody\}\nz(ID:\s*)(\d+)z*(,\s*)((?:Filename|Content-id):\s*)([^,]+)z(,\s*)(Content-type:\s*)(.+\n)z\f(?:part|attachment)\}\nz\f(?:part|attachment)\{\s*)z#pushr   z^Non-text part: .*\nz&(?s)(.*?(?=\f(?:part|attachment)\}\n)))r!   r   r   r   r   r   r   c                 6    U R                  S5      (       a  S$ S$ )Nz	message{g      ?g        )
startswithr~   s    r:   r   NotmuchLexer.analyse_text~  s    ool33s<<r9   c                 `    UR                  SS 5      U l        [        R                  " U 40 UD6  g )Nr   )getr   r   __init__)rL   optionss     r:   r   NotmuchLexer.__init__  s'    !++lD9D,G,r9   )r   N)r#   r$   r%   r&   r'   r(   r,   r)   r-   r   r   r   r   r6   r   r   rD   r   r   Strongr   r4   r   r
   r7   r   r   r8   r"   r9   r:   r   r   4  s    D
$CkGM6 )DE
 !(4>>6"BC6dnnfnn57'dnnf-/FO
 w/gx0GV,
 gv.7dnnf-/,gnngtxx8:	
 GV,('3HIGV,
 xGH:k4>>6:<.k4>>6:<FO
 *7F;*G5KL$g.6H	
K+FZ=-r9   r   c            
       2   \ rS rSrSrSrSS/rSS/rSrS	r	S
\
S4S\
S4S\
S4S\
S4S\
S4S\
S4S\
S4/S\
S4S\
S4\" S5      /S\4S\4S\
S4/\" S5      S\S4/\" S5      S\
S4/\" S5      S\R"                  S4/\" S5      S\R$                  S4/S.rSrg )!r   i  z(
For Linux Kernel log ("dmesg") output.
z
Kernel logkmsgdmesgz*.kmsgz*.dmesgz#https://fr.wikipedia.org/wiki/Dmesgz2.6z^[^:]+:debug : (?=\[)debugz^[^:]+:info  : (?=\[)infoz^[^:]+:warn  : (?=\[)warnz^[^:]+:notice: (?=\[)z^[^:]+:err   : (?=\[)errorz^[^:]+:crit  : (?=\[)z^(?=\[)unknownz(^(?=.+(warning|notice|audit|deprecated))z ^(?=.+(error|critical|fail|Bug))z\[[0-9. ]+\] z(?<=\] ).+?:z\nr    basez.+\n)r!   r   r   r   r   r   r   r"   N)r#   r$   r%   r&   r'   r(   r)   r*   r,   r-   r	   r   r   r   r   r
   r   r   r   r7   r8   r"   r9   r:   r   r     s,    DwG9%I
/CM &tW5%tV4%tV4%tV4%tW5%tW5y)
 9$G0$@FO
 v&g&D&!
 FOgv&

 FOdF#

 FOgnnf-

 FOgmmV,
A$Fr9   r   )r'   r.   rg   r   r   pygments.lexerr   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   r   r   pygments.utilr   __all__r   r   r   r   r   r   r"   r9   r:   <module>r      s    
 : A A* * * '->: >B: 8Y

 Y
xa: aHO-: O-d.Z .r9   