
    (ph5                     D    S SK r S SKJr  S SKJr  S\" S5      4S jrS rg)    N)ValidationError)gettext_lazyFz!This is not a valid IPv6 address.c                 \    [         R                  " [        [         R                  " U 5      5      5      nU(       a&  UR
                  (       a  [        UR
                  5      $ UR
                  (       a  S[        UR
                  5      -  $ [        U5      $ ! [         a    [	        USS9ef = f)a  
Clean an IPv6 address string.

Raise ValidationError if the address is invalid.

Replace the longest continuous zero-sequence with "::", remove leading
zeroes, and make sure all hextets are lowercase.

Args:
    ip_str: A valid IPv6 address.
    unpack_ipv4: if an IPv4-mapped address is found,
    return the plain IPv4 address (default=False).
    error_message: An error message used in the ValidationError.

Return a compressed IPv6 address or the same value.
invalid)codez	::ffff:%s)	ipaddressIPv6Addressint
ValueErrorr   ipv4_mappedstr)ip_strunpack_ipv4error_messageaddrs       D/var/www/html/venv/lib/python3.13/site-packages/django/utils/ipv6.pyclean_ipv6_addressr      s    &=$$S)>)>v)F%GH t''4##$$			S!1!1222t9  =m)<<=s   3B B+c                 R     [         R                  " U 5        g! [         a     gf = f)zD
Return whether or not the `ip_str` string is a valid IPv6 address.
FT)r   r	   r   )r   s    r   is_valid_ipv6_addressr   '   s.    f%   s    
&&)r   django.core.exceptionsr   django.utils.translationr   _r   r        r   <module>r      s&     2 6 Q/R-S@r   