File: //lib64/python3.8/__pycache__/ipaddress.cpython-38.opt-2.pyc
U
e5d @ s d Z ddlZdZdZG dd deZG dd deZd d
Zd<dd
Zdd Z dd Z
dd Zdd Zdd Z
dd Zdd Zdd Zdd Zd d! ZG d"d# d#ZejG d$d% d%eZejG d&d' d'eZG d(d) d)ZG d*d+ d+eeZG d,d- d-eZG d.d/ d/eeZG d0d1 d1Zee_G d2d3 d3ZG d4d5 d5eeZG d6d7 d7eZG d8d9 d9eeZ G d:d; d;Z!e!e_dS )=z1.0 N c @ s e Zd ZdS )AddressValueErrorN__name__
__module____qualname__ r r !/usr/lib64/python3.8/ipaddress.pyr s r c @ s e Zd ZdS )NetmaskValueErrorNr r r r r
r s r c C sX z
t | W S ttfk
r" Y nX z
t| W S ttfk
rF Y nX td| d S )Nz0%r does not appear to be an IPv4 or IPv6 address)IPv4Addressr r IPv6Address
ValueErroraddressr r r
ip_address s
r Tc C s\ zt | |W S ttfk
r$ Y nX zt| |W S ttfk
rJ Y nX td| d S )Nz0%r does not appear to be an IPv4 or IPv6 network)IPv4Networkr r IPv6Networkr )r strictr r r
ip_network9 s r c C sX z
t | W S ttfk
r" Y nX z
t| W S ttfk
rF Y nX td| d S )Nz2%r does not appear to be an IPv4 or IPv6 interface)
IPv4Interfacer r
IPv6Interfacer r r r r
ip_interfaceW s
r c C s0 z| ddW S tk
r* tdY nX d S )N bigz&Address negative or too large for IPv4to_bytes
OverflowErrorr r r r r
v4_int_to_packedz s r c C s0 z| ddW S tk
r* tdY nX d S )N r z&Address negative or too large for IPv6r r r r r
v6_int_to_packed s
r c C s* t | d}t|dkr&td| |S )N/ zOnly one '/' permitted in %r)strsplitlenr )r addrr r r
_split_optional_netmask s r' c c sN t | }t| }}|D ]&}|j|jd kr:||fV |}|}q||fV d S N )iternext_ip) addressesitfirstlastipr r r
_find_address_range s
r2 c C s$ | dkr|S t || | d @ S )Nr r) )min
bit_length)Znumberbitsr r r
_count_righthand_zero_bits s r6 c c s t | trt |tstd| j|jkr8td| |f | |krHtd| jdkrXt}n| jdkrht}ntd| j}| j}|j}||krt t
|||| d d }|||| f}|V |d|>