ó
    F\h_  ã                   ó|   • S r S	SS.S jjrS	SS.S jjrS	SS.S jjrS	SS.S jjr SSK7  \r\rg! \ a     Nf = f)
zBisection algorithms.é    N©Úkeyc                óh   • Uc  [        XX#5      nO[        X" U5      X#US9nU R                  X!5        g)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.
Nr   )Úbisect_rightÚinsert©ÚaÚxÚloÚhir   s        Ú/usr/lib/python3.13/bisect.pyÚinsort_rightr      s4   € ð �{Ü˜! Ó'‰ä˜!˜S ›V R°Ñ5ˆØ‡H�HˆR…Oó    c                óä   • US:  a  [        S5      eUc  [        U 5      nUc%  X#:  a  X#-   S-  nXU   :  a  UnOUS-   nX#:  a  M  U$ X#:  a#  X#-   S-  nX" X   5      :  a  UnOUS-   nX#:  a  M#  U$ )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.
r   úlo must be non-negativeé   é   ©Ú
ValueErrorÚlen©r	   r
   r   r   r   Úmids         r   r   r      sœ   € ð 
ˆAƒvÜÐ2Ó3Ð3Ø	�zÜ�‹Vˆð �{Ø‹gØ‘7˜q‘.ˆCØ�S‘6‹zØ‘à˜1‘W�ð �gð €Ið ‹gØ‘7˜q‘.ˆCØ�3�q‘v“;‹Ø‘à˜1‘W�ð �gð €Ir   c                óh   • Uc  [        XX#5      nO[        X" U5      X#US9nU R                  X!5        g)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 ›F B°Ñ4ˆØ‡H�HˆR…Or   c                óæ   • US:  a  [        S5      eUc  [        U 5      nUc%  X#:  a  X#-   S-  nX   U:  a  US-   nOUnX#:  a  M  U$ X#:  a$  X#-   S-  nU" X   5      U:  a  US-   nOUnX#:  a  M$  U$ )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   r   r   r   s         r   r   r   J   sœ   € ð 
ˆAƒvÜÐ2Ó3Ð3Ø	�zÜ�‹Vˆð �{Ø‹gØ‘7˜q‘.ˆCØ‰v˜‹zØ˜1‘W‘à�ð �gð €Ið ‹gØ‘7˜q‘.ˆCÙ�1‘6‹{˜Q‹Ø˜1‘W‘à�ð �gð €Ir   )Ú*)r   N)	Ú__doc__r   r   r   r   Ú_bisectÚImportErrorÚbisectÚinsort© r   r   Ú<module>r$      sb   ðÙ ð¨Tö ð"!¨Tö !ðH¨Dö ð"!¨Dö !ðJ	Üð
 
€Ø	�øð ó 	Ùð	ús   ¨2 ²;º;