
    5h                     z   S r SSKrSSKJrJrJrJr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JrJr  SSK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 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( " S S \5      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/ " S- S.\5      r0 " S/ S0\5      r1 " S1 S2\5      r2 " S3 S4\5      r3g)5z
pygments.lexers.configs
~~~~~~~~~~~~~~~~~~~~~~~

Lexers for configuration file formats.

:copyright: Copyright 2006-2025 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                      \ rS rSrSrSr/ SQr/ SQrSS/rSr	S	r
S
\4S\R                  4S\" \\5      4S\" \R"                  \\\\5      S4S\" \R"                  \\\\\\5      S4S\" \R"                  \\\\5      4S\R"                  4/S\" \\\5      S4S\R                  4S\S4/S
\4S\" \\\\5      4S\S4/S.rS rSrg)r      z-
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.*$)rootr8   r9   c                 ^    U R                  S5      nUS:  a  gU S   S:X  a  XS-
     S:X  a  gg)	N
   Fr   [   ]g?)find)textnposs     b/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/configs.pyanalyse_textIniLexer.analyse_textI   s7    yy!87c>d6lc1     N)__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_addedr   r   Singler   r   r   	Attributer   r   r   tokensrG   __static_attributes__rJ   rI   rF   r   r      s=    D&GI z*I
2CM Z '"HWj$AB5dnnj(JO ?dnnj(JJ( Gdnnj(JOQ '
" *ffj16;'66"	
 Z %j&$
;=VV$	
/F>rI   r   c                       \ rS 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\" \\5      4S\" \R"                  \R$                  \\\\\5      4/0rS rSrg)r   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                     U R                  S5      (       a  g[        R                  " SU S S [        R                  5      b  gg)Nz[Desktop Entry]      ?z^\[Desktop Entry\][ \t]*$  ?        
startswithresearch	MULTILINErD   s    rF   rG   DesktopLexer.analyse_texth   s9    ??,--9914:r||LXrI   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   r   r   rV   r   r   rW   	Namespacer   r   rX   rG   rY   rJ   rI   rF   r   r   R   s     D
dCkGI()IM 	:&HW^^Z@A"HWj$ABWdnndnnj(JX^`jkm	
FrI   r   c                   @   \ rS rSrSrSrSrS/r/ SQrSr	S\
4S	\" \R                  \
5      4S
\" \\
5      4S\" \R                   \
\\
\\\
5      S4S\" \R                   \
\\
\\
5      4/S	\" \R                  \
5      4S\" \
\\\
5      4S\" \
\\
5      S4/S.rS rSrg)r   p   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*.scoper]   r^   z^([;#].*)(\n)r_   z*([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)r9   z&([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)z([ \t]*)([^\n]*)(\\)(\n)z([ \t]*)([^\n]*)(\n)r:   r<   r9   c                     U R                  S5      (       a  g[        R                  " SU S S [        R                  5      b  gg)Nz[Unit]ra   z^\[Unit\][ \t]*$rb   rc   rd   re   rj   s    rF   rG   SystemdLexer.analyse_text   s8    ??8$$99($t*bllCOrI   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rU   r   r   r   rV   r   r   rW   r   r   r   rX   rG   rY   rJ   rI   rF   r   r   p   s     D
PCkGI M :&x
CD"HWj$AB:dnnj(JJ( 7dnnj(JPZ[]

 x
CD(j&$
;=$j&*5v?
F,rI   r   c                   >   \ rS rSrSrSrSrS/rS/rS/r	Sr
S	\4S
\4S\R                  4S\" \\\R&                  \5      4S\" \R(                  \\\5      S4S\" \R(                  \\\5      S4/S\S4S\" \R*                  \\5      S4S\S4\" S5      /S.rS rSrg)r      z7
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.*r6   r7   z(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$z)("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)r9   z(.*?)([ \t]*)(=)([ \t]*)-r:   z1(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+).+rq   c                 $    U R                  S5      $ )NzWindows Registry Editor)rf   rj   s    rF   rG   RegeditLexer.analyse_text   s    899rI   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   r   r   rV   r   r   r   r   BuiltinrW   Variabler   r   r   r   rX   rG   rY   rJ   rI   rF   r   r      s     D
DClG	I*+IM *40Z '.gxw?A :dnnj(JG )dnnj(JG
  8V$Admm[&96C FF#FO
!F4:rI   r   c            	       (   \ rS rSrSrSrSS/rS/rS/rSr	S	r
S
\R                  4S\4S\4\" S5      /S\R                   4\" S5      S\" \\\5      S4S\S4S\S4/S\4\" S5      S\S4/S\" \R*                  \5      4S\R*                  4/S.rSrg)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]*))r:   r9   [^\S\n]+r:   z[^\\\n]+z(\\\n)([^\S\n]*)z\\(.|\n))r<   r   r9   r   rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r   rV   r   r   r   rW   r   r   r   r   EscaperX   rY   rJ   rI   rF   r   r      s     D]+G I)*I
5CM
 w~~.J:&EN	
 DNN+I +j(J7  *&78J'
  &!IJ'
 !(6==*"EF&--(	
C'FrI   r   c                 ^    SnUS:X  a  SnOSUS-
  -  nU S:X  a  SnOSU  S3nS	U S
U SU S3$ )N      +z{1,%d}rA   r5   {}z(?:\t| z\t| {z})z.*\nrJ   )level	tab_widthspace_repeatlevel_repeats       rF   
_rx_indentr      sY     I A~9q=1zE7"~l^6)C~TJJrI   c                      \ rS rSrSrSr/ SQrSr/ SQrS/r	Sr
S	rS
 rS rS\4S\R                   4\" SSS9\4S\S4S\R(                  4S\4S\4S\R0                  4S\R                   4S\R4                  4S\4/S\4\" S5      \" S5      \" S5      \" S5      \" S5      \" S 5      \" S!5      \" S"5      /	\" S5      \" S5      \" S5      \" S5      \" S5      \" S 5      \" S!5      S#.	rS$rg%)&r   i  z 
For Linux-style Kconfig files.
Kconfig)kconfig
menuconfigzlinux-configzkernel-configrx   )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                 @    [        U 5      [        R                  SU  34$ )Nindent)r   r   Docr   s    rF   call_indentKconfigLexer.call_indent#  s    5!6::w/?@@rI   c                 \    [        U 5      [        R                  4S[        4[	        S5      /$ )N\s*\n#pop:2)r   r   r   r   r   r   s    rF   	do_indentKconfigLexer.do_indent'  s/     

+tH
 	
rI   r6   #.*?\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   rA   r:   )	r<   r   indent7indent6indent5indent4indent3indent2indent1rJ   N)rK   rL   rM   rN   rO   rP   rQ   rU   rR   rS   rT   flagsr   r   r   r   rV   r   r   r   r}   r   r   r   Integerr   Doubler   r   rX   rY   rJ   rI   rF   r   r     sO    DHGM(I!"I
OC EA
 Z ' # ,1	2
  *7F;K\\!k"'fmm,fmm,TN#
. t NNNNNNNFO
  Q<Q<Q<Q<Q<Q<Q<Y-FrI   r   c                      \ rS rSrSrSrSrSS/rS/r/ r	Sr
S	\4S
\" \\\\\5      4S\" \\\\\R                   \5      S4S\" \\\\\R                   5      4S\" \\R$                  \\\R&                  \\\5      4S\" \R*                  \\\5      4S\S4S\" \R                   \5      4S\" \R0                  \5      4S\" \R2                  \5      4S\R$                  4S\4S\4S\4S\R6                  4S\R8                  4S\R                   4S\4/S\R:                  S4S\R<                  4S\S 4S!\4S"\4/S\R:                  S#4S$\R:                  S 4S%\R:                  4/S&\S 4S'\4S\R$                  4S\4/S(.rS)r g*)+r   i`  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+r6   z\$[{(]interpol\\.r:   r   .#pushz[})]z	[^${()}]+z\),)r<   r   r   r   rJ   N)!rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   r   r   r   r   Functionr   r~   Typer   Reservedr   r   ClassDeclarationr   Floatr   Interpolr   rX   rY   rJ   rI   rF   r   r   `  s    D
CE"GIIM  .gz7JHJ5gz7J{[ 2gz7JNPGk4==+ ',,
HjRS $g&&
HdCE68$8DMM;?@!8DJJ#DE(7#6#6DE/+&HH&,,'V^^$T]]#Z 3
8 4V]]#66"FO6N
 1foov.6??+
 K(;T]]#Z 	
Q.FrI   r   c                      \ rS rSrSrSr/ SQr/ SQrS/rSr	Sr
\R                  \R                  -  rS	\4S
\4S\" \R&                  \\\R&                  5      4S\" \R&                  \R&                  5      4S\R*                  S4S\4/S\4S\S4S\4S\4S\4S\4S\R0                  4S\4S\R4                  4S\4/
S.rSrg)r    i  zH
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.6r6   z#(.*\\\n)+.*$|(#.*?)$z"(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)z(</[^\s>]+)(>)z[a-z]\w*r9   z\.+z\\\nz\n+r:   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"\\]+rq   rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rg   ri   
IGNORECASEr   r   r   r   r   Tagr   r}   r   r   Otherr   r   rX   rY   rJ   rI   rF   r    r      s   
 D/G<I$%I
BCMLL2==(E Z %w/2dhh
FDHH=?dhh)+$,,0TN	
 dOZ(DM*%+V4V%v||4  '( 0?4 
FrI   r    c                      \ rS rSrSrSrSr/ SQrS/rS/r	Sr
\R                  rS	rS
rSrSrSrSrSrS\ S\ S3rSrS\ S\ S3rS\ S\ S3r\ S\ S3rS\4S\S4\" \SSS9\4\" \SSS9\R>                  4\" \SSS9\ 4\" \SSS9\ 4\" \S S!S9\ 4\" \SSS9\4\\!RD                  4S"\!4S#\#4/S$\ RH                  S%4S&\S%4\%" S%5      /S'.r&S(r'g))*r!   i  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+))?r6   #r   r   prefixr   zstats/zlog/=z(?:\b\d+\b(?:-\b\d+|%)?)r   z	\s*TAG:.*r:   rz   )r<   r   rJ   N)(rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   rg   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   rX   rY   rJ   rI   rF   r!   r!     s    D
'C2GI#$IMMME9HvDG
M
 ;KD &J
|3zl'2D#J
|2j\3D4&$q!G IS		)B Z 7I&8E%8'B4e4dmmD757@=5A6J;wt<fE4e4g>(&1TN
 6==&1GV$FO
FrI   r!   c                      \ rS rSrSrSrSrS/rS/rS/r	Sr
S	\" \\\5      4S
\S4\" S5      /S\S4S
\R"                  S4\" S5      /S\S4S\S4\" S5      /S\R&                  4S\R(                  4S\R*                  4S\" \\\R.                  5      4S\4S\R.                  4S\" \\\R2                  5      4S\4S\4S\4S\4S\4/S.rS rg!)"r"   iI  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;r:   #.*\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;#]*r6   z[$;])r<   r  r  r  rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   r   r   r   r   r   rl   r   rV   r  r~   r   r   r   Regexr   rX   rY   rJ   rI   rF   r"   r"   I  s;    &D
CiGI$%IM (':t)LM'6*FO
 K*'++V4FO
 K);'FO
 w~~&&dmm,(dK8: &)v~~.!8KV\\#RS{#V$4 Z dO
! FrI   r"   c                       \ rS rSrSrSrSrSS/rS/rS/r	S	r
S
S\R                  4S\4S\4S\4S\4S\4S\R"                  4S\4S\R(                  4S\4/
0rSrg)r#   iw  z)
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"([^"\\]*(?:\\.[^"\\]*)*)"r6   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   rV   r   r   r   r   r}   r   r   r   r   rX   rY   rJ   rI   rF   r#   r#   w  s     )D
 C8$G !I'(IM 	w~~&dOg&+V4!8,$,,'[)*FMM:Z 
FrI   r#   c                      \ rS rSrSrSrSrSS/rSS/rS	/r	S
r
SrSrSr\R                  \R                   -  rSS\4S\" \\\\\\\5      4S\ S3\" \\\" \5      5      4S\ S\ S3\" \\\" \5      5      4S\ S3\" \\\" \5      \" \5      5      4S\ S\ S3\" \\\" \5      5      4S\ S3\" \\\5      4S\ S3\" \\5      4S\" \5      4/	0rSrg) r$   i  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)*.+rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   	_keywords_bash_keywords_lbrg   r   ri   r   r   r   r   r   r   r	   r   r   rX   rY   rJ   rI   rF   r$   r$     si    D
C&Gz*I+,IMAIFN
CMMBLL(E 	WAgz6:w
TZ[]uA&*eIFV(WX$SE3%s;*eI.>?A3C5
C*eI.>i@PQS&se73%s;*eI.>?A)/0(7JPV2WX.!((7J*GHU9-.
FrI   r$   c                   d   \ rS rSrSrSrSr/ SQrSS/rSS	/r	S
r
SrSR                  SR                  \5      5      rSrSrSrSrSrSrSrSrSrSr\\-   \-   \-   \-   \-   \-   \-   \-   rSR                  SR                  \5      5      rS r\" S5      \" S5      S\" \R>                  5      4\ " SSSS9\!RD                  4\ " \SSS9\#RH                  4\" S5      \" S 5      S!\%4/S"\&RN                  S#4S$\&RP                  4\" S5      S%\" \)\!RT                  \)\+\)\,5      4S&\" \)\!RZ                  \)\+\)5      4S'\" \)\.R<                  R>                  \)\+\)5      4\S(-   \" \!R^                  \,5      4S)\" \,\!RT                  \,5      4\S*-   \" \#R`                  \)\!Rb                  \)\!Rd                  \)\,5      4S+\4/
S,\" \!Rd                  5      4S-\" \!Rd                  5      4/S.\,4/S/\&RN                  4S0\&RN                  S14S2\&RN                  S34S4\&RN                  4/S5\)4S6\)4S7\" \3\)5      4/S8.r4S9r5g:);r%   i  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              #     #    UR                  S5      nU[        UR                  S5      4v   UR                  S5      [        R                  UR                  S5      4v   UR                  S5      Ul        UR                  S5      Ul        UR
                  [        R                  UR                  S5      4v   UR                  5       Ul        UR                  S5      nSn/ n[        R                  " UR                  UR
                  5       H  nU(       a  UR                  5       R                  5       nOUR                  5       R                  5       nXt:X  a  U H4  nUR                  5       [        R                  UR                  5       4v   M6     UR                  5       [        R                  UR                  5       4v   UR                  5       Ul          OEUR                  U5        M     U H*  nUR                  5       [        UR                  5       4v   M,     [        UR                  5      Ul        g 7f)NrA   r   r?   T)startr   groupr   	DelimiterposendHeredocr
   finditerrD   striprstripappendr   len)	selfmatchctxr  hdnametolerantlinescheckamatchs	            rF   heredoc_callbackTerraformLexer.heredoc_callback  s     AXu{{1~--kk!nf..A>>++a.))A,ggv~~u{{1~55))+Q%%chh8E++-,,.#F ,,.&..&,,.HH $kkmV%5%5u{{}DD))+U# 9  llneV\\^;;  chh-s   H<H>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\*/r:   z[*/]r   r6   (\\)(\n))r<   r  r  r  r   r  rJ   N)6rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   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   	MultilinerV   r   r}   r   r   rW   r   r   r   r   r~   r   rX   rY   rJ   rI   rF   r%   r%     s&    D
%C(G!I#%>?IM6Gzz'23JYE=W[ A` T!I !#336JJM__235JKMab!"H --

8 45K# N GL! /0 $U5A4==Q 5u5w||DL!M"
$ ))95w~~.L! 8j$,,
HjR]^` 3j$..*h
SU
 -j'.."7"7XzZ\ 7"HT]]K$HI %h{DLL+&VW UUg&&
DJJ
DMM[egrsu /0@A? 
D 0$--1HI>dmm$&
 #K0
 w(()W&&0W&&/g''(	
 JZ (445
CFFrI   r%   c            	          \ rS rSrSrSrS/rSS/r/ rSr	Sr
S\4S	\R                  S
4S\4/S\S4S\S4S\4S\R                   4/S\" \\5      4S\S4S\" \\5      4S\S4S\4S\R*                  4/S\4S\S4S\4S\4/S.rSrg)r&   i_  zF
Lexer for termcap database source.

This is very simple and minimal.
Termcaptermcapztermcap.srcz%https://en.wikipedia.org/wiki/Termcapr
  ^#.*z
^[^\s#:|]+namesr6   r   r:   :defs\|z[^:|]+z(\\)(\n[ \t]*)z\n[ \t]*r   (#)([0-9]+)r  r  z	[^\s:=#]+z\\072z[^:\\]+r   r<   r  r  r  rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r   r   r   r   r   rW   r   r   r   r   r   r   rX   rY   rJ   rI   rF   r&   r&   _  s    
 DkGM*II
1CM gDHHg.Z 
 J';'K '	
 z :;*h/Xh788V$;4::&
 w;'!7O	
)FrI   r&   c                   *   \ rS rSrSrSrS/rSS/r/ rSr	Sr
S\4S	\R                  S
4S\4/S\S4S\" \\5      S4S\4S\R"                  4/S\4S\S4S\" \\5      4S\S4S\" \\5      4S\R(                  4/S\4S\" \\5      S4S\4S\4/S.rSrg)r'   i  zG
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  r6   r   r:   z(,)([ \t]*)r  r  z[^,|]+z\n[ \t]+r   r  r  r  z	[^\s,=#]+z\\[,\\]z[^\\,]+r   r  rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r   r   r   r   r   r   rW   r   r   r   r   rX   rY   rJ   rI   rF   r'   r'     s   
 DlG^,II
2CM wDHHg.Z 
 J'Xk:>GK '	
 *%J)Xh788V$Xk:>?4::&
 !Xk:>G!7O	
)FrI   r'   c            
       j   \ rS rSrSrSrSrS/rS/r/ r	Sr
S\R                  4S	\" \R                  \5      4S
\" \R"                  \5      S4\" S5      S\4S\4S\4/S\4S\R.                  S4/S\R.                  S4S\R                  4/\" S5      S\R                  S4S\S4S\4S\4S\4/S.rSrg)r(   i  zY
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interpr6   z[^${}#=:\n.]+r   z\$\$z\$\{curlyr  r:   r   r   z[^${}#\n\s]+)r<   r  r  r  rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   rV   r   r   rW   r   r   r   r   r   r   r   r   rX   rY   rJ   rI   rF   r(   r(     s   
 D
@CmGIIM gnn% 8DNNH=> dhh,i9 H Z t$4L!
( dO foow/
 FOOV,T^^$

 Hgnnf-J' Z d#4L

=)FrI   r(   c            
           \ rS rSrSrSrSrS/rS/r/ r	Sr
SS	\R                  4S
\" \\\5      4S\" \R"                  \\5      4S\" \\R"                  \5      4\" SSS9\R(                  4S\4S\4/0rSrg)r)   i  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   r6   r   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rS   rU   r   rV   r   r   r   r   rW   r   r   r~   r   rX   rY   rJ   rI   rF   r)   r)     s      D
?CnGIIM 	gnn% &x
GZ'PQ dnnj(;= "j$..*=?  
  ! ]] Z 4L7
FrI   r)   c                      \ rS rSrSrSrSrS/rS/rSr	S\
" \R                  \\R                  5      4S	\
" \R                  \\R                   5      4S
\
" \R"                  \5      4S\
" \\R                   \\R&                  \5      4S\R*                  S4S\4S\4S\R0                  S4S\R2                  S4S\
" \R                  \\R                   5      4S\R                   4S\4/S\R4                  4S\R0                  4S\R0                  S4/S\R4                  4S\R2                  4S\R2                  S4/S\R*                  4S\R*                  S4S\R*                  S4S\R*                  4/S.rS rg!)"r*   i/  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   r6   r   z[^"]r:   z[^/]z[^*)]r   z\*\)z[)*])r<   r   r)  r   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rU   r   r   rl   r   r   r   r~   r}   r   r   r   r  r   r   r   r  r   rX   rY   rJ   rI   rF   r*   r*   /  s    D
CjG	IM '1B1BJPTP^P^(_`#Xg.A.A:t}}%]^fhpquq}q}  @J  iK  LH(S^`d`m`moz  }D  }I  }I  KV  KW  Xg''3X&H%6==(+FLL'*#Xdnnk4==%YZ4==!Z 
 V]]#fmm$6==&)
 V]]#fll#FLL&)
 w(()g''1g''0g''(	
3FrI   r*   c                      \ rS rSrSrSrS/r/ SQrS/rSr	Sr
S	rS
\ S3rS\4S\R                  4\" S5      S\" \\5      S4S\S4/S\4S\R,                  S4S\R                  S4S\4/S\4S\R,                  S4S\R                  S4S\4S\S4S\4/\\R2                  S4\\R2                  S4S\R6                  S4S\R6                  S4S\R6                  S4S\R8                  S4S \R:                  S4S!\R<                  S4S"\R>                  S4S#\R,                  S$4S\R,                  S%4S&\R                  S'4S\R                  S(4S)\R@                  S4S*\S+4S,\S-4/S\4S\R                  4S.\4S/\S4\!" S5      /S\4\" S5      S\" \\5      S4S.\4S0\S4/S\R,                  S4\" S15      S2\R,                  4/S3\R                  S4/S#\R,                  S4S4\" \RD                  \5      4\" S15      S2\R,                  4S\R,                  4/S&\R                  S4S5\R                  4S\R                  4/S6\RD                  4S7\RD                  4/S8.r#S9r$g:);r+   i[  z5
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
                  )?
                )?
              r6   r  r   z(=)(\s*)r9   z\[\[?	table-keyz[A-Za-z0-9_-]+r   basic-string'literal-stringz\.z\]\]?r:   [ \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""")r:   multiline-basic-string)r:   r  z''')r:   multiline-literal-string)r:   r  z
true|false\[)r:   arrayr  )r:   inline-tabler   \]r  r   z[^"\\]+z.*?'r  z[^']+z#\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}r   )r<   r   r  r9   r  r  r  r  r  r  r   rJ   N)%rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   _time	_datetimer   r   rV   r   r   r   r   r   r   r   r   r   Dater   r   BinOctHexr   r  r   r   rX   rY   rJ   rI   rF   r+   r+   [  s]    DhG4I#$I
CM
 &E   I* Z  W^^$ EN (8Z8'B w,-
4 %6==.16=="23K 
 (6==.16=="23Gw' 
#
" f-GLL&) 1&,,G>\\6# f5 FJJ/VZZ0!6::v6fnnf5 V]]$FG6==":;V]]$HI6=="<= G,,f5 K!23 K!9:C"
L Z W^^$ ; K( G
$ 
# EN (;
;WE ; K(
$ 6==&)I'
 fmmV,
 V]]F+(6==*=>I'6==!#
 V]]F+v}}%6==!%
 4V]]CV]]#
QLFrI   r+   c                   J   \ rS rSrSrSrSrSS/rS/rSr	S	\
" \\5      4S
\
" \\5      S4S\
" \\5      S4S\
" \\5      4S\
" \\\\\5      4S\
" \\5      4S\
" \\\\\5      4S\
" \\5      4S\
" \\\\R                   \5      4S\
" \\R                   \5      4S\
" \\R                   \\\\5      4/\" S5      S\4\" S5      S\4S\S4S\S4/\" S5      S\R                   4S\S4S \S4S\S4/\" S5      S\4\" S5      S\S4S \S!4/\" S5      S"\S4S#\S4/S$\4/S%.rS&rg')(r,   i  zz
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  r:   r   z[^\{\}\[\],:\s]+r  inline_dict_valuer  r   r  r  r  )r<   r  r  r  r  r  rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rU   r   r   r   r   r   r   r   r   r   rX   rY   rJ   rI   rF   r,   r,     s    D
"CT"GIM
 x
G<= Xj+>N Xj+>N Xj+>? ,Xj+z[_ak-lm Xj+>? ,Xj+z[_ak-lm Xj+>? 0*kS]_c_g_gis1tu *8J++VW :8JPTPXPXZegqsw  zD  <E  FA!
F L!&N#;K(E6"
 L! $((+; 34K(E6"
 L! $'N#;'K*
 L!K/K/
 
#
}AFrI   r,   c                   0   \ rS rSrSrSrSrS/rSS/rSr	\
R                  \
R                  -  \
R                  -  rSrS	rS
r\\" \R(                  \5      S4\\" \R(                  \5      S4\\" \\\5      4S\4S\4S\4S\4/S\" \5      S4/S.rS rSrg)r-   iU  z)
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*%))|(.*)r:   )r<   r  c                     Sn[         R                  " SU [         R                  5      (       a  US-  n[         R                  " [        R                  SS U 5      (       a  US-  nU$ )zdThis 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      ?rA   Ng\(\?)rg   rh   r   r-   _section)rD   results     rF   rG   SingularityLexer.analyse_textt  sW     99>bmmTTcMF99%..qr2D99dNFrI   rJ   N)rK   rL   rM   rN   rO   rP   rT   rQ   rR   rU   rg   r   ri   DOTALLr   _headersr  _appsectr   r   Headingr   r   r   r   r   r	   r   rX   rG   rY   rJ   rI   rF   r-   r-   U  s     D
MCoG-(IMMMBLL(2994EeHfHHH x<hGx<hGx
GT:;7#2F;
#D!
 $U9%5v>
F
rI   r-   c                   \    \ rS rSrSrSrSS/r/ rSrSr	SS	\
4S
\4S\4S\4S\4S\4/0rSrg)r.   i  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  r   r  r   z"((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}z[^:\n]+rJ   N)rK   rL   rM   rN   rO   rP   rQ   rR   rT   rU   r   r   r   r   r   r   rX   rY   rJ   rI   rF   r.   r.     sh     %D]+GI
aCM 	gJ;2D9 
	FrI   r.   )4rO   rg   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.   rJ   rI   rF   <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 rI   