
    ui                         S r SSKrSSKrSSKrSSKr\R                  R                  S5      r\R                  R                  S5      r	\\	4S jr
\\	4S jrg)zDNS Reverse Map Names.    Nzin-addr.arpa.z	ip6.arpa.c                 R    [         R                  R                  U 5      n[         R                  R                  U5      (       a  USS  Vs/ s H  nSU-  PM
     nnUnO?[	        [
        R                  " U5      R                  5       5       Vs/ s H  owPM     nnUn [         R                  R                  SR                  [        U5      5      US9$ s  snf s  snf ! [         a=    [         R                  R                  U 5       Vs/ s H  nSU-  PM
     Os  snf nnUn Nf = f)ay  Convert an IPv4 or IPv6 address in textual form into a Name object whose
value is the reverse-map domain name of the address.

*text*, a ``str``, is an IPv4 or IPv6 address in textual form
(e.g. '127.0.0.1', '::1')

*v4_origin*, a ``dns.name.Name`` to append to the labels corresponding to
the address if the address is an IPv4 address, instead of the default
(in-addr.arpa.)

*v6_origin*, a ``dns.name.Name`` to append to the labels corresponding to
the address if the address is an IPv6 address, instead of the default
(ip6.arpa.)

Raises ``dns.exception.SyntaxError`` if the address is badly formed.

Returns a ``dns.name.Name``.
   Nz%d.)origin)dnsipv6	inet_aton	is_mappedstrbinasciihexlifydecode	Exceptionipv4name	from_textjoinreversed)text	v4_origin	v6_originv6bytepartsr   xs           F/home/kodi/.kodi/addons/script.module.dnspython/lib/dns/reversename.pyfrom_addressr      s   *XX%88b!!-/W5WTTD[WE5F #H$4$4R$8$?$?$A BC B1Q BECF
 88chhx7GG 6 D "%(("4"4T":<":$ ":< <sB   A
C CC  /C CC 
C +D&
D
D&%D&c           	         U R                  U5      (       aq  U R                  U5      n SR                  [        U R                  5      5      n[
        R                  R                  [
        R                  R                  U5      5      $ U R                  U5      (       a  U R                  U5      n [        [        U R                  5      5      n/ n[        S[        U5      S5       H(  nUR                  SR                  XFUS-    5      5        M*     SR                  U5      n[
        R                  R                  [
        R                  R                  U5      5      $ [
        R                  R                  S5      e)a  Convert a reverse map domain name into textual address form.

*name*, a ``dns.name.Name``, an IPv4 or IPv6 address in reverse-map name
form.

*v4_origin*, a ``dns.name.Name`` representing the top-level domain for
IPv4 addresses, instead of the default (in-addr.arpa.)

*v6_origin*, a ``dns.name.Name`` representing the top-level domain for
IPv4 addresses, instead of the default (ip6.arpa.)

Raises ``dns.exception.SyntaxError`` if the name does not have a
reverse-map form.

Returns a ``str``.
   .r             :z"unknown reverse-map address family)is_subdomain
relativizer   r   labelsr   r   	inet_ntoar	   listrangelenappendr   	exceptionSyntaxError)r   r   r   r   r%   r   is          r   
to_addressr.   B   s   & ##y)yy$++./xx!!#(("4"4T":;;			9	%	%y)ht{{+,q#f+q)ALL&1q5/23 *yyxx!!#(("4"4T":;;mm''(LMMr!   )__doc__r   dns.namer   dns.ipv6dns.ipv4r   r   ipv4_reverse_domainipv6_reverse_domainr   r.    r!   r   <module>r6      s]   $     hh((9 hh((5  "5.!HH  3,"Nr!   