
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
ó
•�abc           @   s:   d  Z  d d l Z d „  Z d „  Z d „  Z d „  Z d S(   s	  
Given a list of integers, made up of (hopefully) a small number of long runs
of consecutive integers, compute a representation of the form
((start1, end1), (start2, end2) ...). Then answer the question "was x present
in the original list?" in time O(log(# runs)).
iÿÿÿÿNc         C   s·   t  |  ƒ } g  } d } x’ t t | ƒ ƒ D]~ } | d t | ƒ k  rl | | | | d d k rl q+ ql n  | | d | d !} | j t | d | d d ƒ ƒ | } q+ Wt | ƒ S(   s  Represent a list of integers as a sequence of ranges:
    ((start_0, end_0), (start_1, end_1), ...), such that the original
    integers are exactly those x such that start_i <= x < end_i for some i.

    Ranges are encoded as single integers (start << 32 | end), not as tuples.
    iÿÿÿÿi   i    (   t   sortedt   ranget   lent   appendt   _encode_ranget   tuple(   t   list_t   sorted_listt   rangest
   last_writet   it   current_range(    (    s>   /usr/lib/python2.7/site-packages/pip/_vendor/idna/intranges.pyt   intranges_from_list
   s    	"
c         C   s   |  d >| BS(   Ni    (    (   t   startt   end(    (    s>   /usr/lib/python2.7/site-packages/pip/_vendor/idna/intranges.pyR      s    c         C   s   |  d ?|  d @f S(   Ni    i   I       Iÿÿÿÿ    (    (   t   r(    (    s>   /usr/lib/python2.7/site-packages/pip/_vendor/idna/intranges.pyt   _decode_range"   s    c         C   s©   t  |  d ƒ } t j | | ƒ } | d k rj t | | d ƒ \ } } | |  k o^ | k  n rj t Sn  | t | ƒ k  r¥ t | | ƒ \ } } | |  k r¥ t Sn  t S(   s=   Determine if `int_` falls into one of the ranges in `ranges`.i    i   (   R   t   bisectt   bisect_leftR   t   TrueR   t   False(   t   int_R   t   tuple_t   post   leftt   rightt   _(    (    s>   /usr/lib/python2.7/site-packages/pip/_vendor/idna/intranges.pyt   intranges_contain&   s    (   t   __doc__R   R   R   R   R   (    (    (    s>   /usr/lib/python2.7/site-packages/pip/_vendor/idna/intranges.pyt   <module>   s
   			