
    "fn                         d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 eegef         Zeegef         Z G d de
          Zd	S )
zBIPv4/Ipv6 object to bytes and bytes to IPv4/Ipv6 object transform.    )IPv4Address)AnyCallableUnion   )ByteOrderHint)ObjectXc                   R     e Zd ZdZ	 	 d
dededdf fdZedefd	            Z xZ	S )IPv4AddressXz8IPv4Address to bytes and bytes to IPv4Address transform.bigr   	byteordernamereturnNc                     ddt           t          t          t          f         dt          ffd}dt          dt          ffd}t                                          |||d           | _        d S )	N   ipv4addressr   c                 d    t          t          |                                                   S )zxPack IPv4 address as formatted bytes.

            :raises: ``PackError`` if type error, value error, etc.

            )intr   to_bytes)r   r   nbytess    R/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/plum/ipaddress.pypackz#IPv4AddressX.__init__.<locals>.pack   s+     {;//0099&)LLL    bufferc                 T    t          t                              |                     S )zUnpack IPv4Address from formatted bytes.

            :raises: ``UnpackError`` if insufficient bytes, excess bytes, or value error

            )r   r   
from_bytes)r   r   s    r   unpackz%IPv4AddressX.__init__.<locals>.unpack#   s!     s~~fi@@AAAr   r   )hint)r   r   strr   bytessuper__init____byteorder__)selfr   r   r   r   r   	__class__s    `   @r   r"   zIPv4AddressX.__init__   s    
 	MeCk$9: 	Mu 	M 	M 	M 	M 	M 	M 	M	B5 	B[ 	B 	B 	B 	B 	B 	B 	vvt-HHH,5r   c                     | j         S )zByte order ("little" or "big").)r#   )r$   s    r   r   zIPv4AddressX.byteorder/   s     !!r   )r   r   )
__name__
__module____qualname____doc__r   r   r"   propertyr   __classcell__)r%   s   @r   r   r      s        BB $)!6 6 6 6 
	6 6 6 6 6 66 "= " " " X" " " " "r   r   N)r*   	ipaddressr   typingr   r   r   _typingr   objectr	   r    PackType
UnpackTyper    r   r   <module>r4      s    I H ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' " " " " " "      SE5L!ugsl#
"" "" "" "" ""7 "" "" "" "" ""r   