+
    4iJ"                         ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHtHtHtH	t	H
t
HtHt R tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR# )    )literal_evalN)iter_iprange	IPAddress
cidr_merge	IPNetworkIPRangeZEROFILLAddrFormatErrorc                     \        \        R R4      4      p \        V 4      ^8X  g   Q hV \        R 4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R	4      \        R
4      \        R4      \        R4      \        R4      \        R4      .8X  g   Q h\	        V 4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R4      .8X  g   Q hR# )	192.0.2.1
192.0.2.14	192.0.2.2	192.0.2.3	192.0.2.4	192.0.2.5	192.0.2.6	192.0.2.7	192.0.2.8	192.0.2.9
192.0.2.10
192.0.2.11
192.0.2.12
192.0.2.13192.0.2.1/32192.0.2.2/31192.0.2.4/30z192.0.2.8/30z192.0.2.12/31z192.0.2.14/32N)listr   lenr   r   r   )ip_lists    A/usr/lib/python3/dist-packages/netaddr/tests/ip/test_ip_ranges.pytest_ip_ranger!      s    <\:;Gw<2+++++++++,,,,,   " g.!.!.!.!/"/"#       c                  Z   \        R R4      p V \        R R4      8X  g   Q hV P                  4       \        R4      \        R4      \        R4      \        R4      .8X  g   Q h\        RR4      \        R4      8X  g   Q h\        R R4      p\        V4      pV\	        R 4      \	        R	4      \	        R
4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      \	        R4      .8X  g   Q hW8w  g   Q h\        V4      V8X  g   Q hVP                  4       pV\        R4      \        R4      \        R4      \        R4      .8X  g   Q hW8w  g   Q hVP                  4       V8X  g   Q hR# )r   z
192.0.2.15r   r   r   z192.0.2.8/29	192.0.2.0z192.0.2.255z192.0.2.0/24r   r   r   r   r   r   r   r   r   r   r   r   r   N)r   cidrsr   r   r   )range1range2addrssubnetss       r    test_ipranger*   2   s   [,/FW[,7777<<>.!.!.!.!	    ;.)N2KKKK[,/FLE+++++++++,,,,,,   " ??<5   llnG.!.!.!.!	    <<>W$$$r"   c                     \        \        R R4      4      \        R 4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R4      .8X  g   Q h\        \        RR	4      4      \        R4      \        R
4      \        R4      \        R4      \        R4      \        R4      \        R4      \        R	4      .8X  g   Q hR# )r$   r   r   r   r   r   r   r   z::ffff:192.0.2.0z::ffff:192.0.2.7::ffff:192.0.2.1z::ffff:192.0.2.2z::ffff:192.0.2.3z::ffff:192.0.2.4z::ffff:192.0.2.5z::ffff:192.0.2.6N)r   r   r    r"   r    test_iprange_boundariesr.   d   s    [+67++++++++	< 	 	 	 /1CDE$%$%$%$%$%$%$%$%	J 	 	 	r"   c                  z    \        \        R R4      4      '       g   Q h\        \        R R 4      4      '       g   Q hR# )0.0.0.0255.255.255.255N)boolr   r-   r"   r    test_iprange_boolean_evaluationr3   |   s3    	#456666	9-....r"   c                  ~   \        R 4      \        R 4      3\        R4      \        R4      3\        R 4      \        R4      3\        R4      \        R4      33p \        V 4      \        R4      \        R4      3\        R4      \        R4      3\        R 4      \        R 4      3\        R 4      \        R4      3.8X  g   Q hR# )::r0   r1   ::255.255.255.255N)r   sorted)rangess    r    test_iprange_sortingr9      s    	4)D/*	9	y):;<	4)$789	9	y34	F &>	9	y34	9	y):;<	4)D/*	4)$789	   r"   c                     \        R R4      p V \        R R4      8X  g   Q hRV ,          R8X  g   Q h\        RR4      \        RR4      8X  g   Q h\        R R 4      \        R R 4      8X  g   Q h\        RR\        R7      \        R	R
4      8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \        RR 4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        RR4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        RR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L\; i  + '       g   i     R# ; i)r   192.0.2.254z%sz192.0.2.1-192.0.2.254r,   ::ffff:192.0.2.254z208.049.164.000z208.050.066.255)flagsz208.49.164.0z208.50.66.255r   Nr5   z0.0.0.1r0   z::1)r   r	   pytestraisesr
   ipranges    r    test_iprange_constructorrB      s(   k=1Ggk=9999'>4444%';<0A    ;,[0QQQQ$&7xHGM    
	'	'[) 
( 
	'	'i  
( 
	'	'	5! 
(	' 
(	' 
(	' 
(	'	's$   /D4&EE4E	E	E+	c                     \        R R4      p \        V 4      ^8X  g   Q hV P                  R8X  g   Q hV P                  R8X  g   Q hV ^ ,          \	        R 4      8X  g   Q hV R,          \	        R4      8X  g   Q h\
        P                  ! \        4      ;_uu_ 4        V R,           RRR4       R#   + '       g   i     R# ; i)r   r;               i   N)r   r   firstlastr   r>   r?   
IndexErrorr@   s    r    test_iprange_indexingrJ      s    k=1Gw<3==J&&&<<:%%%1:;////2;)M2222	z	"	" 
#	"	"	"s   
B--B>	c                  h   \        R R4      p \        V R,          4      \        R 4      \        R4      \        R4      .8X  g   Q h\        V R,          4      \        R 4      \        R4      \        R4      \        R4      \        R4      .8X  g   Q h\        V R	,          4      \        R 4      .8X  g   Q hR
# )r   r;   :r      Nr   r   r   
      r   r   r   :r   i   i   N)r   r   r   r@   s    r    test_iprange_slicingrP      s    k=1G+++"     +++++%    
#$;)?(@@@@r"   c                      \         P                  ! \        4      ;_uu_ 4        \        R R4      R,           RRR4       R#   + '       g   i     R# ; i)r,   r<   rM   N)r>   r?   	TypeErrorr   r-   r"   r    %test_iprange_ipv6_unsupported_slicingrS      s1    	y	!	!"$89&A 
"	!	!	!s   AA	c                     \        R R4      \        RR4      9   g   Q h\        RR4      \        RR4      9   g   Q h\        R R4      \        RR	4      9  g   Q h\        R
4      p V \        V P                  V P                  4      9   g   Q hR# )r   r   r   r;   zfe80::1z
fe80::fffefe80::fe80::ffff:ffff:ffff:ffffr5   r6   z10.0.0.0/30N)r   r   rG   rH   )nets    r    test_iprange_membershiprX      s    ;-m1TTTT9l+wxA\/]]]];-WTCV5WWWW M
"C'#))SXX....r"   c                  z   \        R R4      \        RR4      \        RR4      3p \        V 4      \        RR4      \        RR4      \        R R4      .8X  g   Q h\        V 4      p V P                  \        RR4      4       \        V 4      \        RR4      \        RR4      \        R R4      \        RR4      .8X  g   Q hR# )	z
192.0.2.40z
192.0.2.50z
192.0.2.20z
192.0.2.30r   r;   z
192.0.2.45z
192.0.2.49N)r   r7   r   append)iprangess    r    test_more_iprange_sortingr\      s    l+l+]+H (]+l+l+     H~HOOGL,78(]+l+l+l+	    r"   c                      \        R R4      P                  4       \        R4      \        R4      \        R4      \        R4      .8X  g   Q h\        RR4      P                  4       \        R4      .8X  g   Q hR	# )
r   r   z192.0.2.5/32z192.0.2.6/31z192.0.2.8/31z192.0.2.10/32rU   rV   z	fe80::/64N)r   r%   r   r-   r"   r    "test_iprange_cidr_interoperabilityr^      ss    ;-335.!.!.!/"	:    889??AiP[F\E]]]]r"   c                      \        R R4      p \        \        V P                  4      4      RRRRRRRR	R
RR/./8X  g   Q hV P	                  4       '       g   Q hV P
                  ^8X  g   Q hR# )r   r;   IPv4datez1993-05designationzAdministered by ARINprefixz192/8statusLegacywhoiszwhois.arin.netN)r   r   strinfois_reservedversionr@   s    r     test_iprange_info_and_propertiesrk      s    k=1GGLL)*	5'()

/ 
 
 
     ??ar"   c                     \        \        R 4      \        \        P                  ^4      4      p \        P
                  ! \        4      ;_uu_ 4        \        V 4       RRR4       \        \        R 4      \        \        P                  ^,
          ^4      4      p\        V4      \        P                  8X  g   Q hR#   + '       g   i     Lf; i)z::0N)r   r   sysmaxsizer>   r?   rI   r   )r&   r'   s     r    (test_iprange_invalid_len_and_alternativero     sz    Yu%ya'@AF	z	"	"F 
# Yu%yq!'DEFv;#++%%%	 
#	"s   B::C
	c                     \        R R4      p V \        R R4      8X  g   Q hV P                  R8X  g   Q hV P                  R8X  g   Q hV P                  ^8X  g   Q h\        P
                  ! V 4      p\        P                  ! V4      pW 8X  g   Q h\        V4      \        V 4      8w  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  ^8X  g   Q hR# )r   r;   rD   rE   N)r   rG   rH   rj   pickledumpsloadsidrA   bufiprange2s      r    test_iprange_pickling_v4rx     s    k=1Ggk=9999==J&&&<<:%%%??a
,,w
C||C Hh<2g;&&&>>Z'''==J&&&q   r"   c                     \        R R4      p V \        R R4      8X  g   Q hV P                  R8X  g   Q hV P                  R8X  g   Q hV P                  ^8X  g   Q h\        P
                  ! V 4      p\        P                  ! V4      pW 8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  ^8X  g   Q hR# )r,   r<   l      l      N)r   rG   rH   rj   rq   rr   rs   ru   s      r    test_iprange_pickling_v6rz   )  s    (*>?Gg02FGGGG==O+++<<?***??a
,,w
C||C H>>_,,,==O+++q   r"   )astr   rq   rm   r>   netaddrr   r   r   r   r   r	   r
   r!   r*   r.   r3   r9   rB   rJ   rP   rS   rX   r\   r^   rk   ro   rx   rz   r-   r"   r    <module>r}      sx      
 
   @/%d0/
 ".
A(B
/0^ (&! !r"   