+
    lh_                         R t RRR/R lltRRR/R lltRRR/R lltRRR/R llt ^ RI5 ]t]tR#   ] d     Li ; i)	zBisection algorithms.Nkeyc               r    Vf   \        WW#4      pM\        W! V4      W#VR7      pV P                  W!4       R# )a#  Insert item x in list a, and keep it sorted assuming a is sorted.

If x is already in a, insert it to the right of the rightmost x.

Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.

A custom key function can be supplied to customize the sort order.
Nr   )bisect_rightinsertaxlohir   s   &&&&$lib/python3.14/bisect.pyinsort_rightr      s4     {!'!SVR5HHRO    c               $   V^ 8  d   \        R4      hVf   \        V 4      pVf5   W#8  d,   W#,           ^,          pWV,          8  d   TpK&  V^,           pK1   V# W#8  d1   W#,           ^,          pW! W,          4      8  d   TpK+  V^,           pK6  V# )a  Return the index where to insert item x in list a, assuming a is sorted.

The return value i is such that all e in a[:i] have e <= x, and all e in
a[i:] have e > x.  So if x already appears in the list, a.insert(i, x) will
insert just after the rightmost x already there.

Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.

A custom key function can be supplied to customize the sort order.
lo must be non-negative
ValueErrorlenr   r	   r
   r   r   mids   &&&&$ r   r   r      s     
Av233	zV {g7q.CS6z1W  I g7q.C3qv;1WIr   c               r    Vf   \        WW#4      pM\        W! V4      W#VR7      pV P                  W!4       R# )a!  Insert item x in list a, and keep it sorted assuming a is sorted.

If x is already in a, insert it to the left of the leftmost x.

Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.

A custom key function can be supplied to customize the sort order.
Nr   )bisect_leftr   r   s   &&&&$r   insort_leftr   9   s4     {r&CFB4HHROr   c               &   V^ 8  d   \        R4      hVf   \        V 4      pVf5   W#8  d,   W#,           ^,          pW,          V8  d   V^,           pK-  TpK1   V# W#8  d2   W#,           ^,          pV! W,          4      V8  d   V^,           pK3  TpK7  V# )a  Return the index where to insert item x in list a, assuming a is sorted.

The return value i is such that all e in a[:i] have e < x, and all e in
a[i:] have e >= x.  So if x already appears in the list, a.insert(i, x) will
insert just before the leftmost x already there.

Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.

A custom key function can be supplied to customize the sort order.
r   r   r   s   &&&&$ r   r   r   J   s     
Av233	zV {g7q.Cvz1W  I g7q.C16{Q1WIr   )*)    N)	__doc__r   r   r   r   _bisectImportErrorbisectinsort r   r   <module>r"      sb    T "!T !HD "!D !J	
 
	  		s   3 ==