Ë
    !täiíÆ  ã                   óz  — d Z ddl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mZ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 ddlmZ g d¢Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z!d„ Z" G d„ de«      Z# G d„ de«      Z$ G d„ de«      Z% G d„ de«      Z& G d„ de«      Z' G d„ de«      Z( G d„ d e«      Z) G d!„ d"e«      Z* G d#„ d$e«      Z+ G d%„ d&e«      Z, G d'„ d(e«      Z- G d)„ d*e«      Z. G d+„ d,e«      Z/ G d-„ d.e«      Z0 G d/„ d0e«      Z1 G d1„ d2e«      Z2 G d3„ d4e«      Z3y)5zÜ
    pygments.lexers.configs
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for configuration file formats.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚExtendedRegexLexerÚ
RegexLexerÚdefaultÚwordsÚbygroupsÚincludeÚusingÚline_re)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚLiteralÚErrorÚGeneric)Ú	BashLexer)Ú	JsonLexer)ÚIniLexerÚSystemdLexerÚDesktopLexerÚRegeditLexerÚPropertiesLexerÚKconfigLexerÚCfengine3LexerÚApacheConfLexerÚSquidConfLexerÚNginxConfLexerÚLighttpdConfLexerÚDockerLexerÚTerraformLexerÚTermcapLexerÚTerminfoLexerÚPkgConfigLexerÚPacmanConfLexerÚAugeasLexerÚ	TOMLLexerÚNestedTextLexerÚSingularityLexerÚUnixConfigLexerc                   ó†  — e Zd ZdZdZg d¢Zg d¢ZddgZdZdZ	d	e
fd
ej                  fd eee
«      fd eej                   e
ee
e«      dfd eej                   e
ee
eee
«      dfd eej                   e
ee
e«      fdej                   fgd eeee
«      dfd
ej                  fdedfgd	e
fd ee
eee
«      fdedfgdœZd„ Zy)r   z5
    Lexer for configuration files in INI style.
    ÚINI)ÚiniÚcfgÚdosini)z*.iniz*.cfgz*.infz.editorconfigz
text/x-iniztext/infz&https://en.wikipedia.org/wiki/INI_fileÚ ú\s+ú[;#].*z(\[.*?\])([ \t]*)$z!(.*?)([ \t]*)([=:])([ \t]*)(["'])Úquoted_valuez.(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)Úvaluez6(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)z(.+?)$z([^"'\n]*)(["'])(\s*)ú#popÚ$z(\s*)(.*)(\\)([ \t]*)z.*$)Úrootr7   r8   c                 óZ   — | j                  d«      }|dk  ry| d   dk(  r| |dz
     dk(  ryy)	NÚ
é   Fr   Ú[é   Ú]gš™™™™™é?)Úfind)ÚtextÚnposs     úf/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/configs.pyÚanalyse_textzIniLexer.analyse_textI   s9   € Ø�y‰y˜‹ˆØ�!Š8ØØ�‰7�cŠ>˜d 4¨¡6™l¨cÒ1ØØó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   ÚSingler   r   r   Ú	Attributer   r   r   ÚtokensrF   © rG   rE   r   r      s=  „ ñð €DÚ&€Gò€Ið ˜zÐ*€IØ
2€CØ€Mð �ZÐ Ø˜Ÿ™Ð'Ø"¡H¨W°jÓ$AÐBØ5Ù�d—n‘n j°(¸JÈÓOØðð ?Ù�d—n‘n j°(¸JÈØ˜Jó(àðð GÙ�d—n‘n j°(¸JÈÓOðQð ˜Ÿ™Ð'ð
ð" *Ù�f˜f jÓ1°6ð;à˜Ÿ™Ð'Ø�6˜6Ð"ð	
ð �ZÐ Ø%Ù�j &¨$°
Ó;ð=à�V˜VÐ$ð	
ñ/€Fó>rG   r   c                   óÄ   — e Zd ZdZdZdZdgZdgZdgZdZ	dd	e
fd
 eej                  e
«      fd eee
«      fd eej                   ej"                  e
ee
ee
«      fgiZd„ Zy)r   z#
    Lexer for .desktop files.
    zDesktop filezXhttps://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.htmlÚdesktopz	*.desktopzapplication/x-desktopú2.16r;   ú	^[ \t]*\nz
^(#.*)(\n)ú(\[[^\]\n]+\])(\n)zG([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)c                 óz   — | j                  d«      ryt        j                  d| d d t        j                  «      �yy)Nz[Desktop Entry]ç      ð?z^\[Desktop Entry\][ \t]*$éô  çÍÌÌÌÌÌì?ç        ©Ú
startswithÚreÚsearchÚ	MULTILINE©rC   s    rE   rF   zDesktopLexer.analyse_texth   s6   € Ø�?‰?Ð,Ô-ØÜ�9‰9Ð1°4¸¸°:¼r¿|¹|ÓLÐXØØrG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   rR   r   r   rS   Ú	Namespacer   r   rT   rF   rU   rG   rE   r   r   R   s•   „ ñð €DØ
d€CØˆk€GØ�€IØ(Ð)€IØ€Mð 	Ø˜:Ð&Ø™H W§^¡^°ZÓ@ÐAØ"¡H¨W°jÓ$AÐBØWÙ�d—n‘n d§n¡n°jÀ(ÈJÐX^Ð`jÓkðmð	
ð€FórG   r   c                   ó8  — e Zd ZdZdZdZdgZg d¢ZdZde	fd e
ej                  e	«      fd	 e
ee	«      fd
 e
ej                  e	ee	eee	«      dfd e
ej                  e	ee	ee	«      fgd e
ej                  e	«      fd e
e	eee	«      fd e
e	ee	«      dfgdœZd„ Zy)r   z'
    Lexer for systemd unit files.
    ÚSystemdzDhttps://www.freedesktop.org/software/systemd/man/systemd.syntax.htmlÚsystemd)z	*.servicez*.socketz*.devicez*.mountz*.automountz*.swapz*.targetz*.pathz*.timerz*.slicez*.scoperX   rY   z^([;#].*)(\n)rZ   z*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r8   z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r9   ©r;   r8   c                 óz   — | j                  d«      ryt        j                  d| d d t        j                  «      �yy)Nz[Unit]r\   z^\[Unit\][ \t]*$r]   r^   r_   r`   re   s    rE   rF   zSystemdLexer.analyse_text”   s5   € Ø�?‰?˜8Ô$ØÜ�9‰9Ð(¨$¨t°¨*´b·l±lÓCÐOØØrG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   r   r   r   rR   r   r   rS   r   r   r   rT   rF   rU   rG   rE   r   r   p   só   „ ñð €DØ
P€CØˆk€Gò€Ið €Mð ˜:Ð&Ø™x¨¯©¸
ÓCÐDØ"¡H¨W°jÓ$AÐBØ:Ù�d—n‘n j°(¸JÈØ˜Jó(àðð 7Ù�d—n‘n j°(¸JÈÐPZÓ[ð]ð

ð ™x¨¯©¸
ÓCÐDØ(Ù�j &¨$°
Ó;ð=à$Ù�j &¨*Ó5°vð?ð
ñ€Fó,rG   r   c                   ó6  — e Zd ZdZdZdZdgZdgZdgZdZ	de
fd	efd
ej                  fd eeeej$                  e«      fd eej&                  eee«      dfd eej&                  eee«      dfgdedfd eej(                  ee«      dfdedf ed«      gdœZd„ Zy)r   z?
    Lexer for Windows Registry files produced by regedit.
    Úregz8http://en.wikipedia.org/wiki/Windows_Registry#.REG_filesÚregistryz*.regztext/x-windows-registryú1.6zWindows Registry Editor.*r5   r6   z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r8   z(.*?)([ \t]*)(=)([ \t]*)Ú-r9   z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)ú.+rj   c                 ó$   — | j                  d«      S )NzWindows Registry Editor)ra   re   s    rE   rF   zRegeditLexer.analyse_textÂ   s   € Ø�‰Ð8Ó9Ð9rG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   rR   r   r   r   r   ÚBuiltinrS   ÚVariabler   r   r   r   rT   rF   rU   rG   rE   r   r   œ   sõ   „ ñð €DØ
D€CØˆl€GØ�	€IØ*Ð+€IØ€Mð *¨4Ð0Ø�ZÐ Ø˜Ÿ™Ð'Ø.Ù�g˜x¨¯©°wÓ?ðAð :Ù�d—n‘n j°(¸JÓGØðð )Ù�d—n‘n j°(¸JÓGØðð
ð  �8˜VÐ$ØAÙ�d—m‘m [°&Ó9¸6ðCð �F˜FÐ#Ù�F‹Oð
ñ!€Fó4:rG   r   c            	       ó   — e Zd ZdZdZddgZdgZdgZdZdZ	d	e
j                  fd
efdef ed«      gdej                  f ed«      d eeee«      dfdedfd
edfgdef ed«      d
edfgd eej(                  e«      fdej(                  fgdœZy)r   z‹
    Lexer for configuration files in Java's properties format.

    Note: trailing whitespace counts as part of the value as per spec
    Ú
PropertiesÚ
propertiesÚjpropertiesz*.propertiesztext/x-java-propertiesz)https://en.wikipedia.org/wiki/.propertiesz1.4z[!#].*|/{2}.*ú\nz	^[^\S\n]+Úkeyz
[^\\:=\s]+Úescapesz([^\S\n]*)([:=])([^\S\n]*))r9   r8   ú[^\S\n]+r9   z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n))r;   rz   r8   r{   N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   rR   r   r   r   rS   r   r   r   r   ÚEscaperT   rU   rG   rE   r   r   Æ   sö   „ ñð €DØ˜]Ð+€GØÐ €IØ)Ð*€IØ
5€CØ€Mð
 ˜wŸ~™~Ð.à�JÐà˜:Ð&á�E‹Nð	
ð ˜DŸN™NÐ+á�IÓð +Ù�j (¨JÓ7Øð ð ˜*Ð&7Ð8à�J Ð'ð
ð  ˜&Ð!á�IÓà�J Ð'ð
ð !¡(¨6¯=©=¸*Ó"EÐFà˜&Ÿ-™-Ð(ð	
ñC'�FrG   r   c                 óZ   — d}|dk(  rd}nd|dz
  z  }| dk(  rd}nd| › d�}d	|› d
|› d|› d�S )Né   é   Ú+z{1,%d}r@   r4   Ú{Ú}z(?:\t| z\t| {z})z.*\nrU   )ÚlevelÚ	tab_widthÚspace_repeatÚlevel_repeats       rE   Ú
_rx_indentrˆ   þ   sY   € ð €Ið �A‚~Ø‰à 9¨q¡=Ñ1ˆØ�‚zØ‰à˜E˜7 "�~ˆØ�l�^ 6¨)¨°C¸°~ÀTÐJÐJrG   c                   óÜ  — e Zd ZdZdZg d¢ZdZg d¢ZdgZdZ	dZ
d	„ Zd
„ Zdefdej                  f edd¬«      efdedfdej&                  fdefdefdej.                  fdej                  fdej2                  fdefgdef ed«       ed«       ed«       ed«       ed«       ed«       ed «       ed!«      g	 ed«       ed«       ed«       ed«       ed«       ed«       ed «      d"œ	Zy#)$r   z(
    For Linux-style Kconfig files.
    ÚKconfig)ÚkconfigÚ
menuconfigzlinux-configzkernel-configro   )zKconfig*z*Config.in*zexternal.in*zstandard-modules.inztext/x-kconfigzChttps://www.kernel.org/doc/html/latest/kbuild/kconfig-language.htmlr   c                 ó@   — t        | «      t        j                  d| › �fS )NÚindent)rˆ   r   ÚDoc©r„   s    rE   Úcall_indentzKconfigLexer.call_indent#  s   € ä˜5Ó!¤6§:¡:°¸°wÐ/?Ð@Ð@rG   c                 ó\   — t        | «      t        j                  fdt        ft	        d«      gS )Nú\s*\nú#pop:2)rˆ   r   r�   r   r   r�   s    rE   Ú	do_indentzKconfigLexer.do_indent'  s/   € ô ˜Ó¤§
¡
Ð+Ø”tÐÜ�HÓð
ð 	
rG   r5   ú#.*?\n)ÚmainmenuÚconfigrŒ   ÚchoiceÚ	endchoiceÚcommentÚmenuÚendmenuz
visible ifÚifÚendifÚsourceÚpromptÚselectz
depends onr   ÚrangeÚoptionú\b©Úsuffixz(---help---|help)[\t ]*\nÚhelpz;(bool|tristate|string|hex|int|defconfig_list|modules|env)\bz[!=&|]z[()]ú[0-9]+z'(''|[^'])*'z"(""|[^"])*"ú\S+r“   é   é   é   é   r>   r€   r@   r9   )	r;   r¨   Úindent7Úindent6Úindent5Úindent4Úindent3Úindent2Úindent1N)rH   rI   rJ   rK   rL   rM   rQ   rN   rO   rP   Úflagsr‘   r•   r   r   rR   r   r   r   rs   r   r   r   ÚIntegerr   ÚDoubler   r   rT   rU   rG   rE   r   r     sO  „ ñð €DÚH€GØ€Mò(€Ià!Ð"€IØ
O€Cð €EòAò
ð �ZÐ Ø˜Ÿ™Ð'Ùð #ð ,1ô	2ð
 ðð *¨7°FÐ;ØKØ�\‰\ðà˜Ð!Ø�kÐ"Ø˜Ÿ™Ð'Ø˜fŸm™mÐ,Ø˜fŸm™mÐ,Ø�TˆNð#
ð. �tÐñ ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ˜‹NÙ�F‹Oð
ñ  ˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<Ù˜Q“<ñY-�FrG   r   c                   óú  — e Zd ZdZdZdZddgZdgZg ZdZ	de
fd	 eeeeee«      fd
 eeeeeej                  e«      dfd eeeeeej                  «      fd eeej"                  eeej$                  eee«      fd eej(                  eee«      fdedfd eej                  e«      fd eej.                  e«      fd eej0                  e«      fdej"                  fdefdefdefdej4                  fdej6                  fdej                  fdefgdej8                  dfdej:                  fdedfd efd!efgdej8                  d"fd#ej8                  dfd$ej8                  fgd%edfd&efdej"                  fdefgd'œZy())r   z+
    Lexer for CFEngine3 policy files.
    Ú	CFEngine3zhttp://cfengine.orgÚ	cfengine3Úcf3z*.cfz1.5r–   z(body)(\s+)(\S+)(\s+)(control)z%(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()Úarglistz!(body|bundle)(\s+)(\S+)(\s+)(\w+)z7(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)z(\S+)(\s*)(=>)(\s*)Ú"Ústringz	(\w+)(\()z([\w.!&|()]+)(::)z(\w+)(:)z@[{(][^)}]+[})]z[(){},;]z=>z->z\d+\.\d+ú\d+ú\w+r5   z\$[{(]Úinterpolú\\.r9   ry   Ú.ú#pushz[})]z	[^${()}]+z\)Ú,)r;   r¿   rÂ   r½   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   r   r   ÚFunctionr   rt   ÚTyper   ÚReservedr   r   ÚClassÚDeclarationr   ÚFloatr·   ÚInterpolr}   rT   rU   rG   rE   r   r   `  s  „ ñð €DØ
€CØ˜EÐ"€GØ�€IØ€IØ€Mð ˜Ð Ø.Ù�g˜z¨7°JÀÓHðJà5Ù�g˜z¨7°JÀÇÁÈ{Ó[Øðð 2Ù�g˜z¨7°JÀÇÁÓNðPàGÙ�k 4§=¡=°+Ø  '§,¡,°
¸HÀjóRðSð $Ù�g×&Ñ&¨
°H¸dÓCðEà�6˜8Ð$Ø™8 D§M¡M°;Ó?Ð@Ø!¡8¨D¯J©J¸Ó#DÐEØ™( 7×#6Ñ#6¸ÓDÐEØ §¡Ð/Ø˜+Ð&Ø�HÐØ�HÐØ˜&Ÿ,™,Ð'Ø�V—^‘^Ð$Ø�T—]‘]Ð#Ø�ZÐ ð3
ð8 ˜Ÿ™¨Ð4Ø�V—]‘]Ð#Ø�6˜6Ð"Ø�FˆOØ�6ˆNð
ð ˜Ÿ™¨Ð1Ø�f—o‘o vÐ.Ø˜6Ÿ?™?Ð+ð
ð �K Ð(Ø�;ÐØ�T—]‘]Ð#Ø�ZÐ ð	
ñQ.�FrG   r   c                   ó~  — e Zd ZdZdZg d¢Zg d¢ZdgZdZdZ	e
j                  e
j                  z  Zdefd	efd
 eej$                  eeej$                  «      fd eej$                  ej$                  «      fdej(                  dfdefgdefdedfdefdefdefdefdej.                  fdefdej2                  fdefg
dœZy)r    zT
    Lexer for configuration files following the Apache config file
    format.
    Ú
ApacheConf)Ú
apacheconfÚaconfÚapache)z	.htaccesszapache.confzapache2.confztext/x-apacheconfz6https://httpd.apache.org/docs/current/configuring.htmlz0.6r5   z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(</[^\s>]+)(>)z[a-z]\w*r8   z\.+z\\\nz\n+r9   z\\r|   ú\d+\.\d+\.\d+\.\d+(?:/\d+)?rÀ   z/([*a-z0-9][*\w./-]+)z¢(on|off|none|any|all|double|email|dns|min|minimal|os|productonly|full|emerg|alert|crit|error|warn|notice|info|debug|registry|script|inetd|standalone|user|group)\bz"([^"\\]*(?:\\(.|\n)[^"\\]*)*)"z	[^\s"\\]+rj   N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rb   rd   Ú
IGNORECASEr¶   r   r   r   r   ÚTagr   rs   r   r   ÚOtherr   r¸   rT   rU   rG   rE   r    r    �  s  „ ñð
 €DÚ/€GÚ<€IØ$Ð%€IØ
B€CØ€MØ�L‰L˜2Ÿ=™=Ñ(€Eð �ZÐ Ø% wÐ/Ø2Ù�d—h‘h 
¨F°D·H±HÓ=ð?àÙ�d—h‘h §¡Ó)ð+à˜$Ÿ,™,¨Ð0Ø�TˆNð	
ð �dˆOØ�Z Ð(Ø�DˆMØ˜*Ð%Ø+¨VÐ4Ø�VÐØ% v§|¡|Ð4ðð  'ð(ð 0°·±Ð?Ø˜4Ð ð
ñ�FrG   r    c                   óÂ  — e Zd ZdZdZdZg d¢ZdgZdgZdZ	e
j                  ZdZd	Zd
ZdZdZdZdZde› de› d�ZdZde› de› d�Zde› de› d�Ze› de› d�Zdefdedf eedd¬«      ef eedd¬«      ej<                  f eedd¬«      ef eedd¬«      ef eedd ¬«      ef eedd¬«      efee jB                  fd!e fd"e"fgd#ejF                  d$fd%ed$f e$d$«      gd&œZ%y')(r!   z.
    Lexer for squid configuration files.
    Ú	SquidConfzhttp://www.squid-cache.org/)Ú	squidconfú
squid.confÚsquidrÚ   ztext/x-squidconfz0.9)ºÚ
access_logÚaclÚalways_directÚannounce_hostÚannounce_periodÚannounce_portÚannounce_toÚanonymize_headersÚappend_domainÚas_whois_serverÚauth_param_basicÚauthenticate_childrenÚauthenticate_programÚauthenticate_ttlÚbroken_postsÚbuffered_logsÚcache_access_logÚcache_announceÚ	cache_dirÚcache_dns_programÚcache_effective_groupÚcache_effective_userÚ
cache_hostÚcache_host_aclÚcache_host_domainÚ	cache_logÚ	cache_memÚcache_mem_highÚcache_mem_lowÚ	cache_mgrÚcachemgr_passwdÚ
cache_peerÚcache_peer_accessÚcache_replacement_policyÚcache_stoplistÚcache_stoplist_patternÚcache_store_logÚ
cache_swapÚcache_swap_highÚcache_swap_logÚcache_swap_lowÚ	client_dbÚclient_lifetimeÚclient_netmaskÚconnect_timeoutÚcoredump_dirÚdead_peer_timeoutÚdebug_optionsÚdelay_accessÚdelay_classÚdelay_initial_bucket_levelÚdelay_parametersÚdelay_poolsÚ	deny_infoÚdns_childrenÚdns_defnamesÚdns_nameserversÚdns_testnamesÚemulate_httpd_logÚerr_html_textÚfake_user_agentÚfirewall_ipÚforwarded_forÚforward_snmpd_portÚfqdncache_sizeÚftpget_optionsÚftpget_programÚftp_list_widthÚftp_passiveÚftp_userÚhalf_closed_clientsÚheader_accessÚheader_replaceÚhierarchy_stoplistÚhigh_response_time_warningÚhigh_page_fault_warningÚ
hosts_fileÚ	htcp_portÚhttp_accessÚhttp_anonymizerÚhttpd_accelÚhttpd_accel_hostÚhttpd_accel_portÚhttpd_accel_uses_host_headerÚhttpd_accel_with_proxyÚ	http_portÚhttp_reply_accessÚ
icp_accessÚicp_hit_staleÚicp_portÚicp_query_timeoutÚident_lookupÚident_lookup_accessÚident_timeoutÚincoming_http_averageÚincoming_icp_averageÚinside_firewallÚipcache_highÚipcache_lowÚipcache_sizeÚlocal_domainÚlocal_ipÚlogfile_rotateÚlog_fqdnÚlog_icp_queriesÚlog_mime_hdrsÚmaximum_object_sizeÚmaximum_single_addr_triesÚmcast_groupsÚmcast_icp_query_timeoutÚmcast_miss_addrÚmcast_miss_encode_keyÚmcast_miss_portÚmemory_poolsÚmemory_pools_limitÚmemory_replacement_policyÚ
mime_tableÚmin_http_poll_cntÚmin_icp_poll_cntÚminimum_direct_hopsÚminimum_object_sizeÚminimum_retry_timeoutÚmiss_accessÚnegative_dns_ttlÚnegative_ttlÚneighbor_timeoutÚneighbor_type_domainÚ
netdb_highÚ	netdb_lowÚnetdb_ping_periodÚnetdb_ping_rateÚnever_directÚno_cacheÚpassthrough_proxyÚpconn_timeoutÚpid_filenameÚpinger_programÚpositive_dns_ttlÚprefer_directÚ
proxy_authÚproxy_auth_realmÚ
query_icmpÚquick_abortÚquick_abort_maxÚquick_abort_minÚquick_abort_pctÚrange_offset_limitÚread_timeoutÚredirect_childrenÚredirect_programÚredirect_rewrites_host_headerÚreference_ageÚrefresh_patternÚreload_into_imsÚrequest_body_max_sizeÚrequest_sizeÚrequest_timeoutÚshutdown_lifetimeÚsingle_parent_bypassÚsiteselect_timeoutÚsnmp_accessÚsnmp_incoming_addressÚ	snmp_portÚsource_pingÚ	ssl_proxyÚstore_avg_object_sizeÚstore_objects_per_bucketÚstrip_query_termsÚswap_level1_dirsÚswap_level2_dirsÚtcp_incoming_addressÚtcp_outgoing_addressÚtcp_recv_bufsizeÚtest_reachabilityÚudp_hit_objÚudp_hit_obj_sizeÚudp_incoming_addressÚudp_outgoing_addressÚunique_hostnameÚunlinkd_programÚuri_whitespaceÚuseragent_logÚvisible_hostnameÚ
wais_relayÚwais_relay_hostÚwais_relay_port)z
proxy-onlyÚweightÚttlzno-queryr   zround-robinzmulticast-responderÚonÚoffÚallÚdenyÚallowÚviaÚparentz	no-digestÚheapÚlruÚrealmÚchildrenÚq1Úq2ÚcredentialsttlÚnoneÚdisableÚoffline_toggleÚdiskd)ÚshutdownÚinfoÚ	parameterÚserver_listÚclient_listrÚ   )ÚobjectsÚ
vm_objectsÚutilizationÚipcacheÚ	fqdncacheÚdnsÚ
redirectorÚioÚreply_headersÚfiledescriptorsÚnetdb)ÚstatusÚenabler§  Úclear)Ú	url_regexÚurlpath_regexÚreferer_regexÚportÚprotoÚreq_mime_typeÚrep_mime_typeÚmethodÚbrowserÚuserÚsrcÚdstÚtimeÚ	dstdomainÚidentÚsnmp_communityz(\d+|0x[0-9a-f]+)Ú(z(\.z){3})z([0-9a-f]{0,4})z(:z){1,7})Ú|Ú)z(/(z|\d+))?r5   Ú#r›   r¥   ©Úprefixr§   zstats/zlog/Ú=z(?:\b\d+\b(?:-\b\d+|%)?)rª   z	\s*TAG:.*r9   rq   )r;   r›   N)&rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   rb   rÔ   r¶   ÚkeywordsÚoptsÚactionsÚactions_statsÚactions_logÚaclsÚ
ipv4_groupÚipv4Ú
ipv6_groupÚipv6Úbare_ipÚipr   r   r   r   r   ÚConstantr   r   rÌ   r   r}   r   rT   rU   rG   rE   r!   r!   È  s‡  „ ñð €DØ
'€CÚ2€GØ�€IØ#Ð$€IØ€MØ�M‰M€Eð9€Hðv€Dð€Gð
€Mð
 ;€Kð€Dð &€JØ�
ˆ|˜3˜z˜l¨'Ð2€DØ#€JØ�
ˆ|˜2˜j˜\¨Ð3€DØ�4�&˜˜$˜˜qÐ!€Gð ˆI�S˜˜	 Ð	)€Bð �ZÐ Ø�7˜IÐ&Ù�8 E°%Ô8¸'ÐBÙ�4 ¨eÔ4°d·m±mÐDá�7 5°Ô7¸Ð@Ù�=¨¸5ÔAÀ6ÐJÙ�; w°tÔ<¸fÐEÙ�4 ¨eÔ4°gÐ>Ø�—‘ÐØ(¨&Ð1Ø�TˆNð
ð ˜6Ÿ=™=¨&Ð1Ø�G˜VÐ$Ù�F‹Oð
ñ�FrG   r!   c                   ó˜  — e Zd ZdZdZdZdgZdgZdgZdZ	d e
eee«      fd	ed
f ed«      gdedfd	ej                   d
f ed«      gdedfdedf ed«      gdej$                  fdej&                  fdej(                  fd e
eeej,                  «      fdefdej,                  fd e
eeej0                  «      fdefdefdefdefdefgdœZy) r"   z.
    Lexer for Nginx configuration files.
    zNginx configuration filezhttp://nginx.net/Únginxz
nginx.confztext/x-nginx-confú0.11z(include)(\s+)([^\s;]+)z[^\s;#]+ÚstmtÚbaseú\}r”   ú\{ÚblockÚ;r9   ú#.*\nzon|offz\$[^\s;#()]+z([a-z0-9.-]+)(:)([0-9]+)z[a-z-]+/[a-z-+]+z[0-9]+[km]?\bz(~)(\s*)([^\s{]+)z[:=~]z[^\s;#{}$]+z	/[^\s;#]*r5   z[$;])r;   rè  rä  rå  N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   r   r   r   r   r   rf   r   rR   rà  rt   r   r·   r   ÚRegexr   rT   rU   rG   rE   r"   r"   I  s;  „ ñð &€DØ
€CØˆi€GØ�€IØ$Ð%€IØ€Mð (©°'¸:ÀtÓ)LÐMØ˜' 6Ð*Ù�F‹Oð
ð �K Ð*Ø˜'×+Ñ+¨VÐ4Ù�F‹Oð
ð �K Ð)Ø�; Ð'Ù�F‹Oð
ð �w—~‘~Ð&Ø˜Ÿ™Ð&Ø˜dŸm™mÐ,Ø(Ù�d˜K¨¯©Ó8ð:à  &Ð)à˜vŸ~™~Ð.Ø!¡8¨K¸ÀVÇ\Á\Ó#RÐSØ�{Ð#Ø˜VÐ$Ø˜4Ð Ø�ZÐ Ø�dˆOð
ñ! �FrG   r"   c                   ó°   — e Zd ZdZdZdZddgZdgZdgZdZ	d	d
e
j                  fdefdefdefdefdefdej                   fdefdej&                  fdefg
iZy)r#   z1
    Lexer for Lighttpd configuration files.
    zLighttpd configuration filezhttp://lighttpd.net/ÚlighttpdÚlightyzlighttpd.confztext/x-lighttpd-confrã  r;   rê  z/\S*z[a-zA-Z._-]+rÓ   r©   z=>|=~|\+=|==|=|\+z\$[A-Z]+z[(){}\[\],]z"([^"\\]*(?:\\.[^"\\]*)*)"r5   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   rR   r   r   r   r   rs   r   r   r¸   r   rT   rU   rG   rE   r#   r#   w  sž   „ ñð )€DØ
 €CØ˜8Ð$€GØ Ð!€IØ'Ð(€IØ€Mð 	Ø�w—~‘~Ð&Ø�dˆOØ˜gÐ&Ø+¨VÐ4Ø˜ÐØ! 8Ð,Ø˜$Ÿ,™,Ð'Ø˜[Ð)Ø*¨F¯M©MÐ:Ø�ZÐ ð
ð�FrG   r#   c                   óª  — e Zd ZdZdZdZddgZddgZdgZd	Z	d
Z
dZdZej                  ej                  z  Zddefd eeeeeeee«      fde› d� eee ee«      «      fde› de› d� eee ee«      «      fde› d� eee ee«       ee«      «      fde› de› d� eee ee«      «      fde
› d� eeee«      fde› d� eee«      fd ee«      fg	iZy)r$   z/
    Lexer for Docker configuration files.
    ÚDockerzhttp://docker.ioÚdockerÚ
dockerfileÚ
Dockerfilez*.dockerztext/x-dockerfile-configz2.0z-(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)z-(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)z(?:\s*\\?\s*)r;   ú#.*z1(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?z(ONBUILD)(\s+)(rÏ  z(HEALTHCHECK)(\s+)((z	--\w+=\w+z)*)z#(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)(z
)(\[.*?\])z(LABEL|ENV|ARG)(\s+)((z\w+=\w+rÍ  z|VOLUME)\b(\s+)(.*)z)(\s+)z(.*\\\n)*.+N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   Ú	_keywordsÚ_bash_keywordsÚ_lbrb   rÔ   rd   r¶   r   r   r   r   r   r	   r   r   rT   rU   rG   rE   r$   r$   “  si  „ ñð €DØ
€CØ˜Ð&€GØ˜zÐ*€IØ+Ð,€IØ€MàA€IØF€NØ
€CØ�M‰M˜BŸL™LÑ(€Eð 	Ø�WÐØAÙ�g˜z¨6°:¸wÈ
ÐTZÓ[ð]à ˜u AÐ&©°¸*ÁeÈIÓFVÓ(WÐXØ$ S E¨°3°%°sÐ;Ù˜ *©e°IÓ.>Ó?ðAà3°C°5¸
ÐCÙ˜ *©e°IÓ.>ÁÀiÓ@PÓQðSà& s e¨7°3°%°sÐ;Ù˜ *©e°IÓ.>Ó?ðAà�)�Ð/Ð0±(¸7ÀJÐPVÓ2WÐXØ�.Ð! Ð(©(°7¸JÓ*GÐHØ™U 9Ó-Ð.ð
ð�FrG   r$   c                   óh  — e Zd ZdZdZdZg d¢ZddgZddgZd	Z	d
Z
dj                  dj                  e
«      «      ZdZdZdZdZdZdZdZdZdZdZeez   ez   ez   ez   ez   ez   ez   ez   Zdj                  dj                  e«      «      Zd„ Z ed«       ed«      d eej<                  «      f eddd¬«      e jB                  f eedd¬«      e"jF                  f ed«       ed«      d e$fgd!e%jL                  d"fd#e%jN                  f ed«      d$ ee(e jR                  e(e*e(e+«      fd% ee(e jX                  e(e*e(«      fd& ee(e-j:                  j<                  e(e*e(«      fed'z    ee j\                  e+«      fd( ee+e jR                  e+«      fed)z    ee"j^                  e(e j`                  e(e jb                  e(e+«      fd*efg
d+ ee jb                  «      fd, ee jb                  «      fgd-e+fgd.e%jL                  fd/e%jL                  d0fd1e%jL                  d2fd3e%jL                  fgd4e(fd5e(fd6 ee2e(«      fgd7œZ3y8)9r%   z-
    Lexer for terraformi ``.tf`` files.
    Ú	Terraformzhttps://www.terraform.io/)Ú	terraformÚtfÚhclz*.tfz*.hclzapplication/x-tfzapplication/x-terraformú2.1)ÚbackendÚdataÚmoduleÚoutputÚproviderÚprovisionerÚresourceÚvariablez({})rÎ  )	r¿   ÚnumberÚboolÚlistÚtupleÚmapÚsetÚobjectÚnull)	ÚabsÚceilÚfloorÚlogÚmaxÚmixÚparseintÚpowÚsignum)ÚchompÚformatÚ
formatlistrŽ   ÚjoinÚlowerÚregexÚregexallÚreplaceÚsplitÚstrrevÚsubstrÚtitleÚtrimÚ
trimprefixÚ
trimsuffixÚ	trimspaceÚupper)ÚalltrueÚanytrueÚ	chunklistÚcoalesceÚcoalescelistÚcompactÚconcatÚcontainsÚdistinctÚelementÚflattenÚindexÚkeysÚlengthr  Úlookupr
  Ú	matchkeysÚmerger£   ÚreverseÚsetintersectionÚ
setproductÚsetsubtractÚsetunionÚsliceÚsortÚsumÚ	transposeÚvaluesÚzipmap)Úbase64decodeÚbase64encodeÚ
base64gzipÚ	csvdecodeÚ
jsondecodeÚ
jsonencodeÚtextdecodebase64Útextencodebase64Ú	urlencodeÚ
yamldecodeÚ
yamlencode)	ÚabspathÚdirnameÚ
pathexpandÚbasenameÚfileÚ
fileexistsÚfilesetÚ
filebase64Útemplatefile)Ú
formatdateÚtimeaddÚ	timestamp)Úbase64sha256Úbase64sha512ÚbcryptÚfilebase64sha256Úfilebase64sha512Úfilemd5Úfilesha1Ú
filesha256Ú
filesha512Úmd5Ú
rsadecryptÚsha1Úsha256Úsha512ÚuuidÚuuidv5)ÚcidrhostÚcidrnetmaskÚ
cidrsubnetÚcidrsubnets)	ÚcanÚdefaultsÚtoboolÚtolistÚtomapÚtonumberÚtosetÚtostringÚtryc              #   óh  K  — |j                  d«      }|t        |j                  d«      f–— |j                  d«      t        j                  |j                  d«      f–— |j                  d«      |_        |j                  d«      |_        |j
                  t        j                  |j                  d«      f–— |j                  «       |_        |j                  d«      }d}g }t        j                  |j                  |j
                  «      D ]×  }|r|j                  «       j                  «       }n|j                  «       j                  «       }||k(  r€|D ]3  }|j                  «       t        j                  |j                  «       f–— Œ5 |j                  «       t        j                  |j                  «       f–— |j                  «       |_         nA|j                  |«       ŒÙ |D ])  }|j                  «       t        |j                  «       f–— Œ+ t        |j                  «      |_        y ­w)Nr@   r€   r>   T)Ústartr   Úgroupr   Ú	DelimiterÚposÚendÚHeredocr
   ÚfinditerrC   ÚstripÚrstripÚappendr   Úlen)	ÚselfÚmatchÚctxry  ÚhdnameÚtolerantÚlinesÚcheckÚamatchs	            rE   Úheredoc_callbackzTerraformLexer.heredoc_callbackñ  s“  è ø€ ð —‘˜A“ˆØ”X˜uŸ{™{¨1›~Ð-Ò-Ø�k‰k˜!‹nœf×.Ñ.°·±¸A³Ð>Ò>à—+‘+˜a“.ˆŒØ—)‘)˜A“,ˆŒØ�g‰g”v—~‘~ u§{¡{°1£~Ð5Ò5Ø—)‘)“+ˆŒà—‘˜Q“ˆØˆàˆä×%Ñ% c§h¡h°·±Ö8ˆEÙØŸ™›×+Ñ+Ó-‘àŸ™›×,Ñ,Ó.�Ø˜ŠÛ#�FØ Ÿ,™,›.¬&¯.©.¸&¿,¹,».ÐHÓHð $à—k‘k“m¤V×%5Ñ%5°u·{±{³}ÐDÒDØŸ)™)›+�”Ùà—‘˜UÕ#ð 9ó  �Ø—l‘l“n¤e¨V¯\©\«^Ð;Ó;ð  ä�c—h‘h“-ˆ�ùs   ‚H0H2ÚbasicÚ
whitespacez(".*"))ÚtrueÚfalser¥   rÑ  Ú
identifierÚpunctuationr©   z\s*/\*r›   z\s*(#|//).*\nz'(\s*)([0-9a-zA-Z-_]+)(\s*)(=?)(\s*)(\{)z"(\s*)([0-9a-zA-Z-_]+)(\s*)(=)(\s*)z(\s*)("\S+")(\s*)([=:])(\s*)z(\()z(\[)([a-z_,\s]+)(\])z8(\s+)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)z(<<-?)\s*([a-zA-Z_]\w*)(.*?\n)z\b(var\.[0-9a-zA-Z-_\.\[\]]+)\bz.\b([0-9a-zA-Z-_\[\]]+\.[0-9a-zA-Z-_\.\[\]]+)\bz[\[\]()\{\},.?:!=]z[^*/]z/\*rÅ   z\*/r9   z[*/]ry   r5   ú(\\)(\n))r;   r�  r‘  r’  r›   rŽ  N)4rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   Úclassesr  r  Ú
classes_reÚtypesÚnumeric_functionsÚstring_functionsÚcollection_functionsÚencoding_functionsÚfilesystem_functionsÚdate_time_functionsÚhash_crypto_functionsÚip_network_functionsÚtype_conversion_functionsÚbuiltinsÚbuiltins_rerŒ  r   r   r   r¸   r   r   rà  r   rÈ   r   r   Ú	MultilinerR   r   rs   r   r   rS   r   rÇ   rÉ   rÊ   rt   r   rT   rU   rG   rE   r%   r%   ¶  s&  „ ñð €DØ
%€CÚ(€GØ˜Ð!€IØ#Ð%>Ð?€IØ€Mð6€Gà—‘ Ÿz™z¨'Ó2Ó3€JàY€Eð=ÐðÐðÐðWÐð[Ðð AÐð`Ðð TÐð!IÐð !Ð#3Ñ3Ð6JÑJÐM_Ñ_ØñØ2ñ3Ø5JñKØMañbà!ñ"€Hð —-‘- §
¡
¨8Ó 4Ó5€Kò# ñN �GÓÙ�LÓ!ð ™ §¡Ó/Ð0ñ Ð$¨U¸5ÔAÀ4Ç=Á=ÐQñ �5 ¨uÔ5°w·|±|ÐDá�LÓ!Ù�MÓ"Ø˜Ðð
ð$ ˜×)Ñ)¨9Ð5Ø˜wŸ~™~Ð.Ù�LÓ!ð 8Ù�j $§,¡,°
¸HÀjÐR]Ó^ð`ð 3Ù�j $§.¡.°*¸hÈ
ÓSðUð
 -Ù�j '§.¡.×"7Ñ"7¸ÀXÈzÓZð\ð ˜7Ñ"¡H¨T¯]©]¸KÓ$HÐIð %¡h¨{¸D¿L¹LÈ+Ó&VÐWð ÐUÑUÙ�g×&Ñ&¨
°D·J±JÀ
ÈDÏMÉMÐ[eÐgrÓsðuð /Ð0@ÐAð? 
ðD 0±¸$¿-¹-Ó1HÐIØ>Ù�d—m‘mÓ$ð&ð
ð # KÐ0ð
ð �w×(Ñ(Ð)Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ð �JÐØ�ZÐ Ø™( 4¨Ó4Ð5ð
ñCF�FrG   r%   c            	       ó  — e Zd ZdZdZdgZddgZg ZdZdZ	de
fdej                  d	fd
efgdedfdedfdefdej                  fgd eee«      fdedfd eee«      fdedfdefdej(                  fgdefdedfdefdefgdœZy)r&   zR
    Lexer for termcap database source.

    This is very simple and minimal.
    ÚTermcapÚtermcapztermcap.srcz%https://en.wikipedia.org/wiki/Termcaprý  ú^#.*z
^[^\s#:|]+Únamesr5   ry   r9   Ú:Údefsú\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*r”   ú(#)([0-9]+)rÓ  rÿ  z	[^\s:=#]+z\\072z[^:\\]+rÄ   ©r;   r§  r©  rÿ  N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   r   rÕ   r   r   rS   r   r   r   r   rÊ   r   rT   rU   rG   rE   r&   r&   _  sþ   „ ñð
 €DØˆk€GØ˜MÐ*€IØ€IØ
1€CØ€Mð �gÐØ˜DŸH™H gÐ.Ø�ZÐ ð
ð �J Ð'Ø�; Ð'Ø�KÐ Ø˜Ÿ™Ð'ð	
ð ¡¨¨zÓ :Ð;Ø˜* hÐ/Ø™X h°Ó7Ð8Ø�8˜VÐ$Ø�;ÐØ˜4Ÿ:™:Ð&ð
ð �wÐØ�; Ð'Ø˜Ð!Ø�7ˆOð	
ñ)�FrG   r&   c                   ó"  — e Zd ZdZdZdgZddgZg ZdZdZ	de
fdej                  d	fd
efgdedfd eee«      dfdefdej                   fgdefdedfd eee«      fdedfd eee«      fdej&                  fgdefd eee«      dfdefdefgdœZy)r'   zS
    Lexer for terminfo database source.

    This is very simple and minimal.
    ÚTerminfoÚterminfozterminfo.srcz&https://en.wikipedia.org/wiki/Terminforý  z^#.*$z
^[^\s#,|]+r§  r5   ry   r9   z(,)([ \t]*)r©  rª  z[^,|]+z\n[ \t]+r”   r«  rÓ  rÿ  z	[^\s,=#]+z\\[,\\]z[^\\,]+rÄ   r¬  N)rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   r   rÕ   r   r   r   rS   r   r   rÊ   r   rT   rU   rG   rE   r'   r'   Ž  s  „ ñð
 €DØˆl€GØ˜^Ð,€IØ€IØ
2€CØ€Mð �wÐØ˜DŸH™H gÐ.Ø�ZÐ ð
ð �J Ð'Ø™X k°:Ó>ÀÐGØ�KÐ Ø˜Ÿ™Ð'ð	
ð ˜*Ð%Ø�J Ð)Ø™X h°Ó7Ð8Ø�8˜VÐ$Ø™X k°:Ó>Ð?Ø˜4Ÿ:™:Ð&ð
ð ˜Ð!Ø™X k°:Ó>ÀÐGØ˜Ð!Ø�7ˆOð	
ñ)�FrG   r'   c            
       ób  — e Zd ZdZdZdZdgZdgZg ZdZ	de
j                  fd eej                  e«      fd	 eej                   e«      d
f ed«      defdefdefgdefdej,                  dfgdej,                  dfdej                  fg ed«      de
j                  dfdedfdefdefdefgdœZy)r(   ze
    Lexer for pkg-config
    (see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
    Ú	PkgConfigz4http://www.freedesktop.org/wiki/Software/pkg-config/Ú	pkgconfigz*.pcrý  ú#.*$z	^(\w+)(=)z^([\w.]+)(:)ÚspvalueÚinterpr5   z[^${}#=:\n.]+rÄ   z\$\$z\$\{Úcurlyræ  r9   rÁ   ry   z[^${}#\n\s]+)r;   rµ  r¶  r´  N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   rR   r   r   rS   r   rÕ   r   r   r   r   r   rÍ   rT   rU   rG   rE   r(   r(   ½  s  „ ñð
 €DØ
@€CØˆm€GØ�€IØ€IØ€Mð �g—n‘nÐ%ð ™8 D§N¡N°HÓ=Ð>ð Ù�d—h‘h Ó,¨ið9ñ �HÓð �ZÐ Ø˜tÐ$Ø�4ˆLð!
ð( �dˆOð �f—o‘o wÐ/ð
ð �F—O‘O VÐ,Ø�T—^‘^Ð$ð
ñ
 �HÓà�g—n‘n fÐ-Ø�J Ð'ð �ZÐ Ø˜dÐ#Ø�4ˆLð

ñ=)�FrG   r(   c            
       óî   — e Zd ZdZdZdZdgZdgZg ZdZ	dde
j                  fd	 eeee«      fd
 eej                   ee«      fd eeej                   e«      f edd¬«      ej&                  fdefdefgiZy)r)   a@  
    Lexer for pacman.conf.

    Actually, IniLexer works almost fine for this format,
    but it yield error token. It is because pacman.conf has
    a form without assignment like:

        UseSyslog
        Color
        TotalDownload
        CheckSpace
        VerbosePkgLists

    These are flags to switch on.
    Ú
PacmanConfz3https://www.archlinux.org/pacman/pacman.conf.5.htmlÚ
pacmanconfzpacman.confrý  r;   r³  z^(\s*)(\[.*?\])(\s*)$z(\w+)(\s*)(=)z^(\s*)(\w+)(\s*)$)z$repoz$archz%oz%ur¥   r¦   r5   rÄ   N)rH   rI   rJ   rK   rL   rP   rM   rN   rO   rQ   r   rR   r   r   r   r   rS   r   r   rt   r   rT   rU   rG   rE   r)   r)   ö  sÂ   „ ñð  €DØ
?€CØˆn€GØ�€IØ€IØ€Mð 	à�g—n‘nÐ%ð &¡x°
¸GÀZÓ'PÐQð Ù�d—n‘n j°(Ó;ð=ð "Ù�j $§.¡.°*Ó=ð?ñ ð ð
  ô!ð �]‰]ðð �ZÐ Ø�4ˆLð7
ð�FrG   r)   c                   óæ  — e Zd ZdZdZdZdgZdgZdZd e	e
j                  eej                  «      fd e	e
j                  eej                  «      fd	 e	ej                   e«      fd
 e	eej                  ee
j$                  e«      fdej(                  dfdefdefdej.                  dfdej0                  dfd e	ej                  eej                  «      fdej                  fdefgdej2                  fdej.                  fdej.                  dfgdej2                  fdej0                  fdej0                  dfgdej(                  fdej(                  dfdej(                  dfdej(                  fgdœZy) r*   z
    Lexer for Augeas.
    ÚAugeaszhttp://augeas.netÚaugeasz*.augú2.4z(module)(\s*)([^\s=]+)z(let)(\s*)([^\s=]+)zV(del|store|value|counter|seq|key|label|autoload|incl|excl|transform|test|get|put)(\s+)z8(\()([^:]+)(\:)(unit|string|regexp|lens|tree|filter)(\))z\(\*r›   z[*+\-.;=?|]z
[()\[\]{}]r¾   r¿   z\/r  z([A-Z]\w*)(\.)(\w+)rÄ   r5   rÃ   z[^"]r9   z[^/]z[^*)]rÅ   z\*\)z[)*])r;   r¿   r  r›   N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   r   r   rf   r   r   rË   rt   rs   r   rÈ   r   r¢  r   r   r¸   rë  r}   rT   rU   rG   rE   r*   r*   /  sÓ  „ ñð €DØ
€CØˆj€GØ�	€IØ€Mð '©°×1BÑ1BÀJÐPT×P^ÑP^Ó(_Ð`Ø#¡X¨g×.AÑ.AÀ:ÈtÏ}É}Ó%]Ð^ØfÑhpÐqu×q}Ñq}ð  @Jó  iKð  LØHÉ(ÐS^Ð`d×`mÑ`mÐozð  }D÷  }Iñ  }Ið  KVó  KWð  XØ�g×'Ñ'¨Ð3Ø˜XÐ&Ø˜HÐ%Ø�6—=‘= (Ð+Ø�F—L‘L 'Ð*Ø#¡X¨d¯n©n¸kÈ4Ï=É=Ó%YÐZØ�4—=‘=Ð!Ø�ZÐ ð
ð �V—]‘]Ð#Ø�f—m‘mÐ$Ø�6—=‘= &Ð)ð
ð �V—]‘]Ð#Ø�f—l‘lÐ#Ø�F—L‘L &Ð)ð
ð �w×(Ñ(Ð)Ø�g×'Ñ'¨Ð1Ø�g×'Ñ'¨Ð0Ø�g×'Ñ'Ð(ð	
ñ3�FrG   r*   c                   óÎ  — e Zd ZdZdZdgZg d¢ZdgZdZdZ	dZ
d	e
› d
�Zdefdej                  f ed«      d eee«      dfdedfgdefdej*                  dfdej                  dfdefgdefdej*                  dfdej                  dfdefdedfdefgeej0                  dfe
ej0                  dfdej4                  dfdej4                  dfdej4                  dfdej6                  dfdej8                  dfd ej:                  dfd!ej<                  dfd"ej*                  d#fdej*                  d$fd%ej                  d&fdej                  d'fd(ej>                  dfd)ed*fd+ed,fgdefdej                  fd-efd.edf e d«      gdefdej                  f ed«      d eee«      dfd-efd/edfgdej*                  df ed0«      d1ej*                  fgd2ej                  dfgd"ej*                  dfd3 eejB                  e«      f ed0«      d1ej*                  fdej*                  fgd%ej                  dfd4ej                  fdej                  fgd5ejB                  fd6ejB                  fgd7œZ"y8)9r+   z=
    Lexer for TOML, a simple language for config files.
    ÚTOMLÚtoml)z*.tomlÚPipfilezpoetry.lockzapplication/tomlzhttps://toml.ior½  z\d\d:\d\d(:\d\d(\.\d+)?)?zm(?x)
                  \d\d\d\d-\d\d-\d\d # date, e.g., 1988-10-27
                (
                  [Tt ] z™ # optional time
                  (
                    [Zz]|[+-]\d\d:\d\d # optional time offset
                  )?
                )?
              r5   rô  rz   z(=)(\s*)r8   z\[\[?ú	table-keyz[A-Za-z0-9_-]+r¾   úbasic-stringÚ'úliteral-stringz\.z\]\]?r9   ú[ \t]+z [+-]?\d[0-9_]*[eE][+-]?\d[0-9_]*z.[+-]?\d[0-9_]*\.\d[0-9_]*([eE][+-]?\d[0-9_]*)?z[+-]?(inf|nan)z
-?0b[01_]+z-?0o[0-7_]+z-?0x[0-9a-fA-F_]+z[+-]?[0-9_]+z""")r9   úmultiline-basic-string)r9   rÃ  z''')r9   úmultiline-literal-string)r9   rÅ  z
true|falseú\[)r9   Úarrayrç  )r9   úinline-tablerÆ   ú\]ræ  r{   z[^"\\]+z.*?'r“  z[^']+z5\\x[0-9a-fA-F]{2}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}rÃ   )r;   rz   rÂ  r8   rÊ  rË  rÃ  rÅ  rÇ  rÈ  r{   N)#rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   Ú_timeÚ	_datetimer   r   rR   r   r   r   r   r   r   r¸   r   r   ÚDater   rÌ   ÚBinÚOctÚHexr·   rà  r   r}   rT   rU   rG   rE   r+   r+   [  sj  „ ñð €DØˆh€GÚ4€IØ#Ð$€IØ
€CØ€Mð
 )€Eðð ˜ð  ð€Ið* �ZÐ ð �W—^‘^Ð$ñ �E‹Nð ™( 8¨ZÓ8¸'ÐBð �w Ð,ð-
ð4  Ð%à�6—=‘= .Ð1Ø�6—=‘=Ð"2Ð3à�KÐ ð
ð  Ð(Ø�6—=‘= .Ð1Ø�6—=‘=Ð"2Ð3Ø�GÐØ�w Ð'ð ˜
Ð#ð
ð" ˜Ÿ™ fÐ-Ø�G—L‘L &Ð)ð 1°&·,±,ÀÐGØ>Ø�\‰\˜6ð#ð  §¡¨fÐ5ð ˜FŸJ™J¨Ð/Ø˜VŸZ™Z¨Ð0Ø! 6§:¡:¨vÐ6Ø˜fŸn™n¨fÐ5ð �V—]‘]Ð$FÐGØ�6—=‘=Ð":Ð;Ø�V—]‘]Ð$HÐIØ�6—=‘=Ð"<Ð=ð ˜G×,Ñ,¨fÐ5ð �KÐ!2Ð3ð �KÐ!9Ð:ðC"
ðL �ZÐ Ø�W—^‘^Ð$ð �;Ðð �K Ð(ñ �GÓð
ð" �ZÐ Ø�W—^‘^Ð$ñ �E‹Nð ™( ;°
Ó;¸WÐEð �;Ðð �K Ð(ð
ð$ �6—=‘= &Ð)Ù�IÓØ˜Ÿ™Ð'ð
ð �f—m‘m VÐ,ð
ð �V—]‘] FÐ+Ø™( 6§=¡=°*Ó=Ð>Ù�IÓØ˜Ÿ™Ð'Ø�6—=‘=Ð!ð#
ð �V—]‘] FÐ+Ø�v—}‘}Ð%Ø�6—=‘=Ð!ð%
ð FÀvÇ}Á}ÐUØ�V—]‘]Ð#ð
ñQL�FrG   r+   c                   óB  — e Zd ZdZdZdZddgZdgZdZd e	e
e«      fd	 e	e
e«      d
fd e	e
e«      dfd e	e
e«      fd e	e
ee
ee
«      fd e	e
e«      fd e	e
ee
ee
«      fd e	e
e«      fd e	e
ee
ej                  e
«      fd e	e
ej                  e«      fd e	e
ej                  ee
ee
«      fg ed«      def ed«      defdedfdedfg ed«      dej                  fdedfdedfdedfg ed«      def ed«      dedfded fg ed«      d!ed
fd"edfgd#e
fgd$œZy%)&r,   zŠ
    Lexer for *NextedText*, a human-friendly data format.

    .. versionchanged:: 2.16
        Added support for *NextedText* v3.0.
    Ú
NestedTextzhttps://nestedtext.orgÚ
nestedtextÚntz*.ntz2.9z^([ ]*)(#.*)$z^([ ]*)(\{)Úinline_dictz^([ ]*)(\[)Úinline_listz^([ ]*)(>)$z^([ ]*)(>)( )(.*?)([ \t]*)$z^([ ]*)(-)$z^([ ]*)(-)( )(.*?)([ \t]*)$z^([ ]*)(:)$z^([ ]*)(:)( )([^\n]*?)([ \t]*)$z^([ ]*)([^\{\[\s].*?)(:)$z)^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$rŽ  z[^\{\}\[\],\s]+Úinline_valuerÆ   rÌ  r9   ry   z[^\{\}\[\],:\s]+r¨  Úinline_dict_valueræ  r”   rç  rÉ  rÆ  )r;   rØ  r×  rÚ  rÙ  rŽ  N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   r   r   r   r   r   r   rÕ   r   r   rT   rU   rG   rE   r,   r,     s  „ ñð €DØ
"€CØ˜TÐ"€GØ�€IØ€Mð
 ™x¨
°GÓ<Ð=ð ™X j°+Ó>ÀÐNð ™X j°+Ó>ÀÐNð ™X j°+Ó>Ð?ð ,©X°jÀ+ÈzÐ[_ÐakÓ-lÐmð ™X j°+Ó>Ð?ð ,©X°jÀ+ÈzÐ[_ÐakÓ-lÐmð ™X j°+Ó>Ð?ð 0±¸*ÀkÐS]Ð_c×_gÑ_gÐisÓ1tÐuð *©8°JÀÇÁÈ+Ó+VÐWð :¹8ÀJÐPT×PXÑPXÐZeÐgqÐswð  zDó  <Eð  FðA!
ñF �LÓ!Ø Ð&Ù�NÓ#Ø�;ÐØ�K Ð(Ø�E˜6Ð"ð
ñ �LÓ!Ø  $§(¡(Ð+Ø�;Ð 3Ð4Ø�K Ð(Ø�E˜6Ð"ð
ñ �LÓ!Ø  $Ð'Ù�NÓ#Ø�; Ð'Ø�K Ð*ð
ñ �LÓ!Ø�K Ð/Ø�K Ð/ð
ð ˜
Ð#ð
ñ}A�FrG   r,   c                   ó(  — e Zd ZdZdZdZdgZddgZdZe	j                  e	j                  z  e	j                  z  ZdZdZd	Ze eej&                  e«      d
fe eej&                  e«      d
fe eeee«      fdefdefdefdefgd ee«      dfgdœZd„ Zy)r-   z1
    Lexer for Singularity definition files.
    ÚSingularityzAhttps://www.sylabs.io/guides/3.0/user-guide/definition_files.htmlÚsingularityz*.defz2.6zS^(\s*)(bootstrap|from|osversion|mirrorurl|include|registry|namespace|includecmd)(:)zT^(%(?:pre|post|setup|environment|help|labels|test|runscript|files|startscript))(\s*)z6^(%app(?:install|help|run|labels|env|test|files))(\s*)Úscriptz	\s*#.*?\nz"\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\brÆ  z
(?!^\s*%).z(.+?(?=^\s*%))|(.*)r9   )r;   rÞ  c                 ó¶   — d}t        j                  d| t         j                  «      r|dz  }t        j                  t        j                  dd | «      r|dz  }|S )zlThis is a quite simple script file, but there are a few keywords
        which seem unique to this language.r   z&\b(?:osversion|includecmd|mirrorurl)\bg      à?r@   Ng\�Âõ(\ß?)rb   rc   rÔ   r-   Ú_section)rC   Úresults     rE   rF   zSingularityLexer.analyse_textt  sQ   € ð ˆÜ�9‰9Ð>ÀÄbÇmÁmÔTØ�c‰MˆFä�9‰9Ô%×.Ñ.¨q¨rÐ2°DÔ9Ø�d‰NˆFàˆrG   N)rH   rI   rJ   rK   rL   rP   rM   rN   rQ   rb   rÔ   rd   ÚDOTALLr¶   Ú_headersrà  Ú_appsectr   r   ÚHeadingr   r   r   r   r   r	   r   rT   rF   rU   rG   rE   r-   r-   U  s×   „ ñð €DØ
M€CØˆo€GØ˜-Ð(€IØ€MØ�M‰M˜BŸL™LÑ(¨2¯9©9Ñ4€Eàe€HØf€HØH€Hð ‘x §¡°Ó<¸hÐGØ‘x §¡°Ó<¸hÐGØ‘x 
¨G°TÓ:Ð;Ø˜7Ð#Ø2°FÐ;Ø˜
Ð#Ø˜DÐ!ð
ð $¡U¨9Ó%5°vÐ>ð
ñ€Fó
rG   r-   c                   óT   — e Zd ZdZdZddgZg ZdZdZdde	fd	e
fd
efdefdefdefgiZy)r.   z�
    Lexer for Unix/Linux config files using colon-separated values, e.g.

    * ``/etc/group``
    * ``/etc/passwd``
    * ``/etc/shadow``
    zUnix/Linux config filesÚ
unixconfigÚlinuxconfigzUhttps://en.wikipedia.org/wiki/Configuration_file#Unix_and_Unix-like_operating_systemsz2.12r;   r¦  ry   r¨  r©   z"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+N)rH   rI   rJ   rK   rL   rM   rN   rP   rQ   r   r   r   r   r   r   rT   rU   rG   rE   r.   r.   �  sh   „ ñð %€DØ˜]Ð+€GØ€IØ
a€CØ€Mð 	Ø�gÐØ�JÐØ�;ÐØ˜ÐØ2°DÐ9Ø˜Ð ð
ð	�FrG   r.   )4rK   rb   Úpygments.lexerr   r   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   r   r   Úpygments.lexers.shellr   Úpygments.lexers.datar   Ú__all__r   r   r   r   r   rˆ   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   rU   rG   rE   Ú<module>rî     sl  ðñó 
÷&÷ &ó &÷=÷ =÷ =ó =å +Ý *òE€ô3ˆzô 3ôl�:ô ô<)�:ô )ôX':�:ô ':ôT5�jô 5òpKô(K�:ô Kô\:�Zô :ôz(�jô (ôV~�Zô ~ôB+�Zô +ô\˜
ô ô8 �*ô  ôFfÐ'ô fôR,�:ô ,ô^,�Jô ,ô^6�Zô 6ôr6�jô 6ôr)�*ô )ôXf�
ô fôPO�jô Oôd)�zô )ôX�jõ rG   