
    ӊ^              	           d Z ddlmZ ddlmZ ddlmZ d Z edd       edd	      z    ed
d      z   g dz   Z e	 ee e
dd                  Zd Zd Zy)z&A basic implementation of RFC 1924 ;-)    )AddrFormatError)	IPAddress)_zipc                 |    t        t        |       t        |      dz         D cg c]  }t        |       c}S c c}w )z2Returns all characters between low and high chars.   )rangeordchr)lowhighis      4/usr/lib/python3/dist-packages/netaddr/ip/rfc1924.py	chr_ranger      s-    !#c(CIM:;qCF;;;s   909AZaz)!#$%&()*+-;<=>?@^_`{|}~V   c                    t        |       }t        |      }g }|dkD  r|j                  |dz         |dz  }|dkD  rdj                  t	        |      D cg c]  }t
        |    c}      }dt        |      z
  dz  }||z   S c c}w )z*Convert a regular IPv6 address to base 85.r   U       r   )r   intappendjoinreversedBASE_85len)addripint_val	remainderwencodedleading_zeroess          r   ipv6_to_base85r?      s    	4B"gGI
A+2&B A+ gg8I+>?awqz?@G3w<'3.NG## @s   Bc                     t        |       }t        |      dk7  rt        d|       d}t        t	        |            D ]  \  }}t
        |   }||d|z  z  z  } t        |d      }t        |      S )zC
    Convert a base 85 IPv6 address to its hexadecimal format.
    r1   zInvalid base 85 IPv6 address: r   r/      )listr7   r   	enumerater5   BASE_85_DICTr   str)r8   tokensresultr   numr9   s         r   base85_to_ipv6rI   -   s|     $ZF
6{bDJKKFHV,- "333q=!" 
61	Br7N    N)__doc__netaddr.corer   
netaddr.ipr   netaddr.compatr   r   r6   dictr   rD   r?   rI    rJ   r   <module>rQ      sq    - (   < c3)C--c322  D%2,/0$rJ   