
    |e                         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
mZ ddlmZmZmZ dgZg dZddj%                  e      z   d	z   Z G d
 de      Zy)z
    pygments.lexers.dns
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for DNS

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)	CommentOperatorKeywordNameStringNumberPunctuation
WhitespaceLiteral)
RegexLexerbygroupsincludeDnsZoneLexer)INCSCHHS(|)c                      e Zd ZdZej
                  ZdZdgZdgZ	dZ
dgZd eeej                  e      fded	fd
ed	fdej"                  dfded	fdez   dz    eeeej*                  eej.                  eej0                  e      d	fdez   dz    eeeej*                  eej.                  eej0                  e      d	fdez   dz    eeeej*                  eej.                  eej0                  e      d	fdez   dz    eeeej*                  eej.                  eej0                  e      d	fg	dedfdedf ed      gdedf ed      gd eej                  e      fdefdefdedfdej*                  fd  eej*                  e      fd!efgd" eeej:                  eeeej                        dfd# eeej:                  e      dfgd$efdedfd%efgd&Zd' Zy())r   z=
    Lexer for DNS zone file

    .. versionadded:: 2.16
    Zonezonez*.zonez-https://datatracker.ietf.org/doc/html/rfc1035ztext/dnsz([ \t]*)(;.*)(\n)z^\$ORIGIN\bvaluesz^\$TTL\bz^\$INCLUDE\br   z^\$[A-Z]+\bz,^(@)([ \t]+)(?:([0-9]+[smhdw]?)([ \t]+))?(?:z([ 	]+))?([A-Z]+)([ 	]+)z4^([^ \t\n]*)([ \t]+)(?:([0-9]+[smhdw]?)([ \t]+))?(?:z^(Operator)([ \t]+)(?:z4([ 	]+))?(?:([0-9]+[smhdw]?)([ 	]+))?([A-Z]+)([ 	]+)z^([^ \t\n]*)([ \t]+)(?:z\nz#popz\(nestedsimple-valuesz\)z	(;.*)(\n)z[ \t]+z@\b"stringz[0-9]+[smhdw]?$z([0-9]+[smhdw]?)([ \t]+)z\S+z9([ \t]+)([^ \t\n]+)([ \t]+)([-\._a-zA-Z]+)([ \t]+)(;.*)?$z([ \t]+)([^ \t\n]+)([ \t\n]+)$z\\"z[^"]+)rootr   r   r   r   r   c                 $    | j                  d      S )Nz$ORIGIN)
startswith)texts    5/usr/lib/python3/dist-packages/pygments/lexers/dns.pyanalyse_textzDnsZoneLexer.analyse_texti   s    y))    N) __name__
__module____qualname____doc__re	MULTILINEflagsnamealiases	filenamesurl	mimetypesr   r
   r   Singler   Preproc
CLASSES_REr   r   Integerr   ClassTyper	   r   r   r   PreprocFiletokensr$    r%   r#   r   r      s    LLEDhGI
9CI
 "8J
#STWh/'8,gooy9Wh/ =zILhh:v~~z4::Wacjcocoq{| EzQTppz6>>:tzzS]_f_k_kmwx '36ooz6>>:tzzS]_f_k_kmwx (*47ppz6>>:tzzS]_f_k_kmwx+
6 J'K*O$
 K(O$
 8GNNJ?@
#X&(#0((6>>:*NOW
 Jj'"5"5z4U\UcUcdfln.WEXEXZd0egmn
 V66"v
i9Fv*r%   )r)   r*   pygments.tokenr   r   r   r   r   r   r	   r
   r   pygments.lexerr   r   r   __all__CLASSESjoinr4   r   r:   r%   r#   <module>r@      s[    
- - - 8 8
 388G$$s*
L*: L*r%   