
    .|hɧ                     0   d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZ ddlmZmZmZmZmZmZmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ d Zd Z G d de       Z! G d de!      Z" G d de!      Z# G d de!      Z$d Z% ee&ejN                        d        Z( ee&      d        Z( ee)ejT                        d        Z+ edejT                        d        Z, edejZ                         eej\                        d               Z/ eej`                  ejT                  ejb                        d        Z2 eejf                  ejT                  ejb                  ejh                        d        Z5 eej`                  ejT                  ejl                        d        Z7 eejf                  ejT                  ejl                  ejh                        d         Z5 eejp                  ejT                  ejb                        d!        Z9 eejp                  ejT                  ejl                        d"        Z: eejv                  ejx                  ejh                        d#        Z= ee>ejx                        d$        Z? eej                        d%        ZA eej                  ejT                  ejT                        d&        ZC eej                  ejT                  ejT                        d'        ZE eej                  ejT                  ejb                         eej                  ejb                  ejT                        d(               ZG eej                  ejT                  ejb                        d)        ZI eej                  ejT                  ejT                        d*        ZK eej                  ejT                  ejT                        d+        ZMd, ZN eej                        d-        ZP eej                        d.        ZR eej                        d/        ZT eej                        d0        ZV eej                        d1        ZX ed2ejT                  ejh                        d3        ZY ed4ejT                        d5        ZZ eejT                  d6      d7        Z[ eejT                  d8      d9        Z\d: Z] ed;ejT                  ejN                        d<        Z^ej                  rej                  j                  Zbnej                  j                  Zb eejT                  d=      debfd>       Zd ed?ejT                  ejb                  ejh                        d@        Ze edAejT                        dB        Zf edAejT                  ejb                        dC        Zf eejT                  dD      dE        Zg eejT                  dF      dG        ZhdH ZW ej                         j                  Zk ej                  eWI      j                  Zl ej                  dJdJK      j                  Zm ej                  dJeWdJL      j                  ZndM ZodN Zp eejT                  dO      djdP       Zq eer      djdQ       Zs eejT                  ejT                        dR        Zt e
j                  dS      Zv eej                  dT      dU        Zx eej                  dV      dW        Zy eej                  dX      dY        Zz eej                  dD      dZ        Z{ eej                  d[      dkd\       Z| eej                  d]      d^        Z} eej                  dO      djd_       Z~ eej                  dF      d`        Zej                  rej                  j                  Znej                  j                  Z eej                  d=      defda       Z eej                  d8      db        Z eej                  d6      dc        Z eejp                        dd        Z eejf                        de        Z eej`                        df        Z ee)      dg        Z eejv                        dh        Z eej                  ej                        di        Zy)lz'
Support for native homogeneous lists.
    N)cached_property)ir)typestypingerrorscgutilsconfig)lower_builtin
lower_castiternext_implimpl_ret_borrowedimpl_ret_new_refimpl_ret_untrackedRefType)overload_methodoverload)	quicksort)slicingliteral_unrollc                    t        j                  |      }| j                  j                  ||j                        }| j                  |      j                         }|j                  ||      }| j                  |||      S )zy
    Given a list value and type, get its payload structure (as a
    reference, so that mutations are seen by all).
    ref)	r   ListPayloadnrtmeminfo_datameminfoget_data_type
as_pointerbitcastmake_data_helper)contextbuilder	list_typevaluepayload_typepayloadptrtys          T/var/www/html/test/engine/venv/lib/python3.12/site-packages/numba/cpython/listobj.pyget_list_payloadr*      so    
 $$Y/Lkk&&w>G!!,/::<Eoogu-G##G\w#GG    c                 Z    | j                  |j                        }| j                  |      S )z7
    Return the item size for the given list type.
    )r   dtypeget_abi_sizeof)r"   r$   lltys      r)   get_itemsizer0   "   s)       1D!!$''r+   c                       e Zd Zed        Zej
                  d        Zed        Zed        Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zy)_ListPayloadMixinc                 .    | j                   j                  S N_payloadsizeselfs    r)   r7   z_ListPayloadMixin.size,   s    }}!!!r+   c                 &    || j                   _        y r4   r5   r9   r%   s     r)   r7   z_ListPayloadMixin.size0   s    "r+   c                 .    | j                   j                  S r4   )r6   dirtyr8   s    r)   r=   z_ListPayloadMixin.dirty4   s    }}"""r+   c                 8    | j                   j                  d      S )Ndata)r6   _get_ptr_by_namer8   s    r)   r?   z_ListPayloadMixin.data8   s    }}--f55r+   c                 X    t        j                  | j                  | j                  |      S r4   )r   gep_builderr?   r9   idxs     r)   _gepz_ListPayloadMixin._gep<   s    {{4==$))S99r+   c                     | j                  |      }| j                  j                  |      }| j                  j	                  | j                  |      S r4   )rF   rC   load
_datamodel	from_data)r9   rE   ptr	data_items       r)   getitemz_ListPayloadMixin.getitem?   s>    iinMM&&s+	((	BBr+   c                     | j                   j                  d|t        j                  |j                  d            }| j                   j                  || j                        }| j                   j                  |||      S )zp
        Fix negative indices by adding the size to them.  Positive
        indices are left untouched.
        <r   )rC   icmp_signedr   Constanttypeaddr7   select)r9   rE   is_negativewrapped_indexs       r)   	fix_indexz_ListPayloadMixin.fix_indexD   sb    
 mm//S02CHHa0HJ))#tyy9}}##KDDr+   c                     | j                   j                  d|t        j                  |j                  d            }| j                   j                  d|| j
                        }| j                   j                  ||      S )z<
        Return whether the index is out of bounds.
        rO   r   >=)rC   rP   r   rQ   rR   r7   or_)r9   rE   	underflowoverflows       r)   is_out_of_boundsz"_ListPayloadMixin.is_out_of_boundsN   sb     MM--c3.0kk#((A.FH	==,,T3		B}}  H55r+   c                    | j                   }t        j                  ||      }t        j                  |j
                  d      }| j                  }| j                   j                  d||      }|j                  |d      5  |j                  ||       ddd       | j                   j                  d||      }|j                  |d      5  |j                  ||       ddd       |j                  |      S # 1 sw Y   exY w# 1 sw Y   &xY w)z/
        Clamp the index in [0, size].
        r   rO   FlikelyNrY   )rC   r   alloca_once_valuer   rQ   rR   r7   rP   if_thenstorerH   )r9   rE   r#   idxptrzeror7   r[   r\   s           r)   clamp_indexz_ListPayloadMixin.clamp_indexW   s     --**7C8{{388Q'yyMM--c3=	__Yu_5 	(MM$'	(==,,T3=__Xe_4 	(MM$'	( ||F##	( 	(	( 	(s   ?C6
D6C?Dc                     | j                   j                  | j                  |      d      5  | j                  j                  j                  | j                   t        |f       ddd       y# 1 sw Y   yxY w)z?
        Raise an error if the index is out of bounds.
        Fr_   N)rC   rb   r]   _context	call_convreturn_user_exc
IndexError)r9   rE   msgs      r)   guard_indexz_ListPayloadMixin.guard_indexj   se     ]]""4#8#8#=e"L 	HMM##33DMM4>H	H 	H 	Hs   7A--A6c                 X    t        j                  | j                  || j                        S )zo
        Fix slice start and stop to be valid (inclusive and exclusive, resp)
        indexing bounds.
        )r   	fix_slicerC   r7   )r9   slices     r)   ro   z_ListPayloadMixin.fix_slicer   s!    
   tyyAAr+   c                 z    | j                   j                  j                  | j                  | j                  |       y)zIncref an element valueN)rh   r   increfrC   r-   r9   vals     r)   incref_valuez_ListPayloadMixin.incref_valuey   &      

C@r+   c                 z    | j                   j                  j                  | j                  | j                  |       y)zDecref an element valueN)rh   r   decrefrC   r-   rs   s     r)   decref_valuez_ListPayloadMixin.decref_value}   rv   r+   N)__name__
__module____qualname__propertyr7   setterr=   r?   rF   rM   rW   r]   rf   rm   ro   ru   ry    r+   r)   r2   r2   *   s    " " 
[[# # # # 6 6:C
E6$&HBAAr+   r2   c                       e Zd ZdZd Zy)ListPayloadAccessorzb
    A helper object to access the list attributes given the pointer to the
    payload type.
    c                 ,   || _         || _        || _        |j                  |j                     | _        t        j                  |      }|j                  |      j                         }|j                  ||      }|j                  |||      }|| _        y )Nr   )rh   rC   _tydata_model_managerr-   rI   r   r   r   r   r    r!   r6   )r9   r"   r#   r$   payload_ptrr&   r(   r'   s           r)   __init__zListPayloadAccessor.__init__   s    !44Y__E((3%%l3>>@ook59**7L/: + <r+   N)rz   r{   r|   __doc__r   r   r+   r)   r   r      s    
 r+   r   c                       e Zd Zd Zed        Zed        Zed        Zej                  d        Zed        Z	ed        Z
d Zd	 Zdd
ZddZd Zed        Zd Zd Zed        Zed        Zd Zd Zy)ListInstancec                     || _         || _        || _        |j                  |||      | _        t        ||      | _        |j                  |j                     | _	        y r4   )
rh   rC   r   make_helper_listr0   	_itemsizer   r-   rI   )r9   r"   r#   r$   list_vals        r)   r   zListInstance.__init__   sQ    (()XF
%gy9!44Y__Er+   c                 .    | j                   j                  S r4   )r   r-   r8   s    r)   r-   zListInstance.dtype   s    xx~~r+   c                 n    t        | j                  | j                  | j                  | j                        S r4   )r*   rh   rC   r   r   r8   s    r)   r6   zListInstance._payload   s%      t}}dhh

SSr+   c                 .    | j                   j                  S r4   r   parentr8   s    r)   r   zListInstance.parent   s    zz   r+   c                 &    || j                   _        y r4   r   r;   s     r)   r   zListInstance.parent   s    !

r+   c                 6    | j                   j                         S r4   )r   	_getvaluer8   s    r)   r%   zListInstance.value       zz##%%r+   c                 .    | j                   j                  S r4   )r   r   r8   s    r)   r   zListInstance.meminfo   s    zz!!!r+   c                     | j                   j                  r2|rt        j                  nt        j                  | j
                  _        y y r4   )r   	reflectedr   true_bit	false_bitr6   r=   rs   s     r)   	set_dirtyzListInstance.set_dirty   s0    8869'"2"2w?P?PDMM r+   c           	          | j                  | j                  |             | j                  || j                  j	                  ||j                  d                   y)z)Remove the value at the location
           N)ry   rM   zfillrC   rS   rR   rD   s     r)   clear_valuezListInstance.clear_value   sB     	$,,s+,

3))#sxx{;<r+   c                 8   |r | j                  | j                  |             | j                  |      }| j                  j	                  | j
                  |      }| j
                  j                  ||       | j                  d       |r| j                  |       y y )NT)	ry   rM   rF   rI   as_datarC   rc   r   ru   )r9   rE   rt   rr   decref_old_valuerK   rL   s          r)   setitemzListInstance.setitem   sy    dll3/0iinOO++DMM3?	Is+tc" r+   c                     | j                  |      }| j                  j                  | j                  |      }| j                  j	                  ||       |r| j                  |       y y r4   )rF   rI   r   rC   rc   ru   )r9   rE   rt   rr   rK   rL   s         r)   inititemzListInstance.inititem   sS    iinOO++DMM3?	Is+c" r+   c           	      x   | j                   }| j                  |      }| j                  |      }| j                  j                  t        j
                        }|j                  |j                  ||      |j                  ||            }t        j                  ||| t        j                  d      d             y)zjZero-fill the memory at index *start* to *stop*

        *stop* MUST not be smaller than *start*.
           r   N)rC   rF   rh   get_value_typer   intpsubptrtointr   memsetr   IntType)r9   startstopr#   baseend	intaddr_tr7   s           r)   r   zListInstance.zfill   s    
 --yyiioMM00<	{{7++C;"++D)<>wdMBJJqM!,<=r+   c           	         |j                  t        j                        }t        |t              rt        j                  ||      }|j                  t        j                  |            }|j                  |      }t        ||      }||z  }t        j                  |t        j                        }	 | |||d      }
t        j                  ||t        j                  ||      t        j                  ||            \  }}|j                  |d      5  |j!                  t        j"                  |	       ddd       |j                  |j%                  |	      d      5  |j&                  j)                  |||
j+                               }|j-                  t        j.                  ||      d      5 \  }}|5  |j!                  t        j"                  |	       ddd       |5  ||
j0                  _        |j5                  t        j6                        |
j0                  _        ||
j:                  _        t        j                  |d      |
j:                  _        t        j"                  |
j:                  _         |
jC                  |
j>                  jE                  d      |       ddd       ddd       ddd       |j%                  |	      |
fS # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   FxY w# 1 sw Y   JxY w# 1 sw Y   NxY w)z
        Allocate a ListInstance with its storage.
        Return a (ok, instance) tuple where *ok* is a LLVM boolean and
        *instance* is a ListInstance object (the object's contents are
        only valid when *ok* is true).
        NFr_   T)r7   dtorr   )#r   r   r   
isinstanceintr   rQ   r   r   r.   r0   r   ra   r   muladd_with_overflowrb   rc   r   rH   r   "meminfo_new_varsize_dtor_uncheckedget_dtorif_elseis_nullr   r   get_constant_nullpyobjectr   r6   	allocatedr7   r=   r   rR   )clsr"   r#   r$   nitemsintp_tr&   payload_sizeitemsizeokr9   	allocsizeovfr   if_errorif_oks                   r)   allocate_exzListInstance.allocate_ex   sr    ''

3fc"[[0F,,U->->y-IJ--l;3 &&w0@0@A7GY5 !55gv68kk&(6S68kk&,6WY	3 __S_/ 	1MM'++R0	1 __W\\"-d_; 	:kkDDidmmo E ?G'!B(- ! / :2C8U 9MM'"3"3R89 :)0DJJ&(/(A(A%..(QDJJ%.4DMM+)+VQ)?DMM&*1*;*;DMM'JJtyy~~a0&9:	:	:  ||B%%'	1 	19 9: :	: :	: 	:sb   !KAK>0K26!K
K2!C K&!K2)K>KK#K2&K/+K22K;	7K>>Lc                 &   | j                   }| j                  }|j                  }t        j                  t        j
                         t        j                  g      }t        j                  ||dj                  | j                              }|j                  s|S d|_        t        j                  |j                               }|j                  d   }t!        ||| j"                  |      }|j$                  j&                  }t        j(                  | |d      |j$                   |d      |      5 \  }	}
|j+                  |	      }|j,                  j/                  || j                  |       ddd       |j1                          |S # 1 sw Y   xY w)z,Define the destructor if not already definedz.dtor.list.{}linkonce_odrr   r   )r   r   stepr   N)rh   rC   moduler   FunctionTypeVoidTyper   	voidptr_tget_or_insert_functionformatr-   is_declarationlinkage	IRBuilderappend_basic_blockargsr   r   r7   rR   for_range_slicerM   r   rx   ret_void)r9   r"   r#   modfntyfnbase_ptrr'   r   rE   _rt   s               r)   define_dtorzListInstance.define_dtor  s@   ----nnr{{}w/@/@.AB++C,;,B,B4::,NP  I#
,,r4467771: &gw(K ||  $$tAwW\\Q 	9&sA//#&CKKw

C8		9
 			9 	9s   1<FFc                 z    | j                         }| j                  j                  |t        j                        }|S )zp"Get the element dtor function pointer as void pointer.

        It's safe to be called multiple times.
        )r   rC   r    r   r   )r9   r   
dtor_fnptrs      r)   r   zListInstance.get_dtor1  s4     !]]**41B1BC
r+   c                     | j                  ||||      \  }}|j                  |j                  |      d      5  |j                  j	                  |t
        d       ddd       |S # 1 sw Y   |S xY w)z
        Allocate a ListInstance with its storage.  Same as allocate_ex(),
        but return an initialized *instance*.  If allocation failed,
        control is transferred to the caller using the target's current
        call convention.
        Fr_   )zcannot allocate listN)r   rb   not_ri   rj   MemoryError)r   r"   r#   r$   r   r   r9   s          r)   allocatezListInstance.allocate;  sr     ??7GYGD__W\\"-e_< 	I--g{.GI	I 	I s   "A&&A0c                      | |||d      }||j                   _        |j                  t        j                        |j                   _        |j                  j                  |||j                         |S )z
        Allocate a new list instance pointing to an existing payload
        (a meminfo pointer).
        Note the parent field has to be filled by the caller.
        N)	r   r   r   r   r   r   r   rr   r%   )r   r"   r#   r$   r   r9   s         r)   from_meminfozListInstance.from_meminfoI  sZ     7GY5$

#55ennE

7Itzz:r+   c                 $   	
 	
 fd} j                   
 j                  	|j                  t        
 j                         j
                  j                  }t        j                  d      }t        j                  d      }	j                  d||      }	j                  d	j                  ||      |      }	j                  |d      5   ||       ddd       	j                  |d      5  	j                  |	j                  |	j                  ||                  } ||        j                   j                  |       ddd       | j
                  _         j                  d	       y# 1 sw Y   xY w# 1 sw Y   8xY w)
zE
        Ensure the list is properly sized for the new size.
        c           	      \   j                  t        j                  
j                              }j	                  |      }|	z  }t        j                  | t        j                  	      t        j                  |            \  }}j                  |d      5  j                  j                  t        d       d d d        j                  j                  
j                  j                   |      }t        j"                  |d       | 
j$                  _        y # 1 sw Y   exY w)NFr_   )cannot resize list)r7   r   )r   r   r   r   r.   r   r   r   rQ   rb   ri   rj   r   r   !meminfo_varsize_realloc_uncheckedr   r   guard_memory_errorr6   r   )new_allocatedr&   r   r   r   rK   r#   r"   r   r   r9   s         r)   _payload_reallocz-ListInstance.resize.<locals>._payload_realloc[  s   "001B1B4881LML"11,?LH$L$99FH-FL13NIs U3 K!!11';2IKK ++??@D

@R@REN @ PC &&w';=&3DMM#K Ks   "D""D+   r   rO   >Fr_   NT)rh   rC   rR   r0   r   r6   r   r   rQ   rP   ashrrb   rS   r   r7   r   )r9   new_sizer   r   twoeightis_too_smallis_too_larger   r#   r"   r   r   s   `        @@@@r)   resizezListInstance.resizeW  sX   	4 	4* ----2MM++	kk&!$FA& **3	8D**3Y0LhW__\%_8 	' X&		' __\%_8 	1#KK(/H4;LL34O)QRM ]+JJtyy-0	1 &t	' 	'	1 	1s   	E:8AF:FFc                     | j                  |      }| j                  |      }t        j                  | j                  |||| j                         | j                  d       y)zE
        Move `count` elements from `src_idx` to `dest_idx`.
        )r   TN)rF   r   raw_memmoverC   r   r   )r9   dest_idxsrc_idxcountdest_ptrsrc_ptrs         r)   movezListInstance.move  sO     99X&))G$DMM8W!DNN	< 	tr+   N)T)rz   r{   r|   r   r}   r-   r6   r   r~   r%   r   r   r   r   r   r   classmethodr   r   r   r   r   r   r  r   r+   r)   r   r      s    F   T T ! ! ]]" " & & " "Q=##> -& -&^<    7r	r+   r   c                   v    e Zd Zd Zed        Zed        Zed        Zed        Z	e	j                  d        Z	y)ListIterInstancec                     || _         || _        || _        |j                  |||      | _        |j
                  |j                     | _        y r4   )rh   rC   r   r   _iterr   
yield_typerI   )r9   r"   r#   	iter_typeiter_vals        r)   r   zListIterInstance.__init__  sE    (()XF
!44Y5I5IJr+   c                    t        |||j                  |      } | |||d       }|j                  t        j                  d      }t        j                  ||      |j                  _        |j                  |j                  _	        |S Nr   )
r   	containerget_constantr   r   r   ra   r  indexr   )r   r"   r#   r  r   	list_instr9   r  s           r)   	from_listzListIterInstance.from_list  sn     '93F3FQ	7GY5$$UZZ3"44WeD

&..

r+   c                     t        | j                  | j                  | j                  j                  | j
                        S r4   )r*   rh   rC   r   r  r  r8   s    r)   r6   zListIterInstance._payload  s2      t}} $ 2 2DJJ@ 	@r+   c                 6    | j                   j                         S r4   )r  r   r8   s    r)   r%   zListIterInstance.value  r   r+   c                 `    | j                   j                  | j                  j                        S r4   )rC   rH   r  r  r8   s    r)   r  zListIterInstance.index  s!    }}!!$**"2"233r+   c                 d    | j                   j                  || j                  j                         y r4   )rC   rc   r  r  r;   s     r)   r  zListIterInstance.index  s     E4::#3#34r+   N)rz   r{   r|   r   r  r  r}   r6   r%   r  r~   r   r+   r)   r  r    sr    K   @ @
 & & 4 4 \\5 5r+   r  c                 L   t        |      }t        j                  | |||      }| j                  t        j
                  |      |_        t        |      D ]7  \  }}|j                  | j                  t        j
                  |      |d       9 t        | |||j                        S )zE
    Build a list of the given type, containing the given items.
    Trr   )lenr   r   r  r   r   r7   	enumerater   r   r%   )r"   r#   r$   itemsr   instirt   s           r)   
build_listr    s     ZF  '9fED$$UZZ8DIE" L3W))%**a8#dKL GWiDDr+   c                 0    d }| j                  ||||      S )Nc                 ,    g }|j                  |        |S r4   )extend)iterableress     r)   	list_implz#list_constructor.<locals>.list_impl  s    

8
r+   compile_internal)r"   r#   sigr   r"  s        r)   list_constructorr&    s     
 ##GYTBBr+   c                 ~    |j                   }d}t        j                  | |||      }t        | |||j                        S r  )return_typer   r   r   r%   )r"   r#   r%  r   r$   list_lenr  s          r)   r&  r&    s;    IH  '9hGDGWiDDr+   c                 V    t        | ||j                  d   |d         }|j                  S r  )r   r   r7   r"   r#   r%  r   r  s        r)   r)  r)    s(    #((1+tAw?D99r+   getiterc                     t         j                  | ||j                  |d         }t        | ||j                  |j                        S r  )r  r  r(  r   r%   r+  s        r)   getiter_listr.    s9    %%gwaQDWgs

KKr+   iternextc                    t        | ||j                  d   |d         }|j                  }|j                  }|j	                  d||      }|j                  |       |j                  |      5  |j                  |j                  |             |j                  || j                  t        j                  d            |_        d d d        y # 1 sw Y   y xY w)Nr   rO   r   )r  r   r  r7   rP   	set_validrb   yield_rM   rS   r  r   r   )	r"   r#   r%  r   resultr  r  r   is_valids	            r)   iternext_listiterr5    s     GWchhqk47CDJJEYYF""3v6H
X		" Mdll5)*[[(<(<UZZ(KL
M M Ms   ,ACCc                     t        | ||j                  d   |d         }|d   }|j                  |      }|j                  |d       |j	                  |      }t        | ||j                  |      S )Nr   r   zgetitem out of rangerl   )r   r   rW   rm   rM   r   r(  )r"   r#   r%  r   r  r  r3  s          r)   getitem_listr8    sl    #((1+tAw?DGENN5!EU 67\\% FWgsGGr+   c                     t        | ||j                  d   |d         }|d   }|d   }|j                  |      }|j                  |d       |j	                  ||d       | j                         S )Nr   r   r   zsetitem out of ranger7  Tr  )r   r   rW   rm   r   get_dummy_value)r"   r#   r%  r   r  r  r%   s          r)   setitem_listr;  	  ss    #((1+tAw?DGEGENN5!EU 67LLdL+""$$r+   c                 J   t        | ||j                  d   |d         }| j                  ||j                  d   |d         }t        j                  | ||j                  d   |       |j                  |       t        j                  ||      }t         j                  | ||j                  |      }||_	        t        j                  ||j                  |j                  |j                        5 \  }}	|5 \  }
}|j                  |
      }|j!                  ||d       d d d        |	5 \  }
}|j                  |
      }|j!                  ||d       d d d        d d d        t#        | ||j                  |j$                        S # 1 sw Y   fxY w# 1 sw Y   ?xY w# 1 sw Y   CxY wNr   r   Tr  )r   r   r   r   guard_invalid_slicero   get_slice_lengthr   r(  r7   r   for_range_slice_genericr   r   r   rM   r   r   r%   )r"   r#   r%  r   r  rp   result_sizer3  	pos_range	neg_rangerE   r   r%   s                r)   getslice_listrD    sv   #((1+tAw?D!d1g>E#((1+uENN5 **7E:K""7GS__#.0FFK		(	(%++uzz).
5 78NI 	7,3LL%EOOE5O6	7  	7,3LL%EOOE5O6	77 GWcoov||LL	7 	7	7 	77 7s<   -F3)F
F&)FFF
	FF	FF"c           	      &	   t        | ||j                  d   |d         }t        | ||j                  d   |d         }| j                  ||j                  d   |d         }t        j                  | ||j                  d   |       |j                  |       |j                  }t        j                  ||      }|j                  |j                  |      }	t        j                  |	j                  d      }
t        j                  |	j                  d      }|j                  |j                  d|j                  |            5 \  }}|5  |j                  |j                   |      }|j                  |j                  |      }|j#                  |j                  d|	|
            5  |j%                  |j                  |j                  |	             |j'                  |j                  ||	      ||       d d d        |j#                  |j                  d|	|
            5  |j'                  |j                  ||	      ||       |j%                  |j                  |j                  |	             d d d        |j                   }t)        j*                  ||      5 }|j-                  |j.                        }|j1                  |j                  |j.                  |      |d       d d d        d d d        |5  |j#                  |j                  d	|	|
            5  d
}| j2                  j5                  |t6        |f       d d d        t)        j8                  ||j                   |j:                  |j                        5 \  }}|5 \  }}|j-                  |      }|j1                  ||d       d d d        |5 \  }}|j-                  |      }|j1                  ||d       d d d        d d d        d d d        d d d        | j=                         S # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   FxY w# 1 sw Y   KxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   | j=                         S xY w)Nr   r   r   ==r   rO   Tr  !=z0cannot resize extended list slice with step != 1)r   r   r   r   r>  ro   r7   r?  r   r   rQ   rR   r   rP   r   rS   r   rb   r   r  r   	for_rangerM   r  r   ri   rj   
ValueErrorr@  r   r:  )r"   r#   r%  r   destsrcrp   src_size
avail_size
size_deltare   onethen	otherwise	real_stop	tail_sizedest_offsetloopr%   rl   rB  rC  r  r   s                           r)   r;  r;  ,  s   #((1+tAw?D
w!d1g
>C!d1g>E#((1+uENN5xxH))'59JSXXz2J;;z*D
++jooq
)C	,,T5::sC	D '<HYy 	W  EKK<IDIIy9I!4!4S*d!KL %GKK		:>?		'++i<i#%% !4!4S*d!KL @		'++i<i#%GKK		:>?	@  ++K""7H5 WDJJ/W[[[A5QUVW-	W4  	<!4!4T:t!LM OH!!11':vNO 00ejj%**> <AW)Y <.5%KK.ELLdL;<  <.5%KK.ELLdL;<<	<7'<R ""$$A% %@ @W W-	W 	W6O O< << << <	< 	<7'<R ""$$s    Q8AP.!AP0*P.AP)*P.A
P!P.%
Q8/#Q,%P;7>Q,5Q ;)Q	$
Q .)Q	Q Q,'Q8PP.PP.!P+&P..P8	3Q8;Q Q,QQ QQ  Q)%Q,,Q5	1Q88Rc                 0    d }| j                  ||||      S )Nc                 &    | j                  |       y r4   )pop)lstr  s     r)   list_delitem_implz-delitem_list_index.<locals>.list_delitem_impll  s    
r+   r#  )r"   r#   r%  r   rZ  s        r)   delitem_list_indexr[  i  s!     ##G->TJJr+   c                    t        | ||j                  d   |d         }| j                  ||j                  d   |d         }t        j                  | ||j                  d   |       |j                  |       t        j                  ||      }t        j                  |j                  d      }|j                  |j                  d|j                  |      d      5  d}| j                  j                  |t        |f       d d d        |j                   }	|j#                  |	|      }
t%        j&                  ||	|
|	j                  d            5 \  }}|j)                  |j+                  |             d d d        |j-                  |j.                  |
      }|j1                  |	|
|       |j3                  |j-                  |j.                  |             | j5                         S # 1 sw Y   xY w# 1 sw Y   xY w)Nr   r   rG  Fr_   z4unsupported del list[start:stop:step] with step != 1)r   r   r   r   r>  ro   r?  r   rQ   rR   rb   rP   r   ri   rj   NotImplementedErrorr   rS   r   r   ry   rM   r   r7   r  r   r:  )r"   r#   r%  r   r  rp   	slice_lenrO  rl   r   rR  rE   r   rS  s                 r)   delitem_listr_  r  s   #((1+tAw?D!d1g>E#((1+uENN5((%8I
++inna
(C	,,T5::sCE	R PD))'3FOP
 KKEE9-I		 	 UIuzz!}
 -#q$,,s+,- DIIy1IIIeY	*KKDIIy12""$$%P P- -s   %G$$G0$G-0G9c                 0    d }| j                  ||||      S )Nc                      | D ]	  }||k(  s	 y yNTFr   )rY  r%   elems      r)   seq_contains_implz!in_seq.<locals>.seq_contains_impl  s      	Du}	 r+   r#  )r"   r#   r%  r   rd  s        r)   in_seqre    s!     ##G->TJJr+   c                 0    d }| j                  ||||      S )Nc                     t        |       dk7  S r  r  seqs    r)   sequence_bool_implz)sequence_bool.<locals>.sequence_bool_impl  s    3x1}r+   r#  )r"   r#   r%  r   rk  s        r)   sequence_boolrl    s!     ##G-?dKKr+   c                 B    t        | t        j                        rd }|S y )Nc                     t        |       dk7  S r  rh  ri  s    r)   implzsequence_truth.<locals>.impl  s    s8q= r+   )r   r   Sequence)rj  ro  s     r)   sequence_truthrq    s    #u~~&	! 'r+   c                    t        | ||j                  d   |d         }t        | ||j                  d   |d         }|j                  }|j                  }|j                  ||      }t         j	                  | ||j
                  |      }	||	_        t        j                  ||      5 }
|j                  |
j                        }| j                  |||j                  |	j                        }|	j                  |
j                  |d       d d d        t        j                  ||      5 }
|j                  |
j                        }| j                  |||j                  |	j                        }|	j                  |j                  |
j                  |      |d       d d d        t        | ||j
                  |	j                        S # 1 sw Y   xY w# 1 sw Y   7xY wr=  )r   r   r7   rS   r   r(  r   rH  rM   r  castr-   r   r   r%   )r"   r#   r%  r   aba_sizeb_sizer   rJ  rU  r%   s               r)   list_addrx    s   Wgsxx{DG<AWgsxx{DG<AVVFVVF[[(F  '3??FKDDI			7F	+ 5t		$**%WeQWWdjjATZZt45 
		7F	+ Jt		$**%WeQWWdjjAW[[V4eDIJ
 GWcootzzJJ5 5J Js   &A"G&A2GGGc                     |j                   d   j                  |j                  j                  k(  sJ t        | |||      }t	        | ||j                  |j
                        S r  )r   r-   r(  _list_extend_listr   r%   )r"   r#   r%  r   rJ  s        r)   list_add_inplacer{    sQ    88A; 5 5555WgsD9DWgs

KKr+   c                 X   t        |j                  d   t        j                        rd\  }}nd\  }}t	        | ||j                  |   ||         }|j
                  }||   }t        j                  |j                  d      }	|j                  t        j                  ||      |	|      }|j                  ||      }
t        j                  | ||j                  |
      }|
|_        t        j                  ||	|
|d      5 \  }}t        j                   ||      5 }|j#                  |j$                        }|j'                  |j)                  |j$                  |      |d       d d d        d d d        t+        | ||j                  |j,                        S # 1 sw Y   3xY w# 1 sw Y   7xY w)Nr   )r   r   )r   r   Tincr  )r   r   r   Listr   r7   r   rQ   rR   rT   r   
is_neg_intmulr   r(  r   rH  rM   r  r   rS   r   r%   )r"   r#   r%  r   list_idxint_idxrK  rL  multre   r   rJ  rT  r   rU  r%   s                   r)   list_mulr    sr    #((1+uzz* ' '
w();T(^
LCxxH=D;;tyy!$D>>',,Wd;T4HD[[x(F  '3??FKDDI		 	 $d	K SO_P[]^w1 	STKK

+ELLTZZ=uTLR	SS
 GWcootzzJJ		S 	SS Ss%   >F A
F"F F	F  F)c                    t        | ||j                  d   |d         }|j                  }|d   }t        j                  |j
                  d      }|j                  t        j                  ||      ||      }|j                  ||      }|j                  |       t        j                  ||||d      5 \  }	}
t        j                  ||      5 }|j                  |j                        }|j                  |j!                  |j                  |	      |d       d d d        d d d        t#        | ||j$                  |j&                        S # 1 sw Y   3xY w# 1 sw Y   7xY w)Nr   r   Tr}  r  )r   r   r7   r   rQ   rR   rT   r   r  r  r   r   rH  rM   r  r   rS   r   r(  r%   )r"   r#   r%  r   r  rL  r  re   r   rT  r   rU  r%   s                r)   list_mul_inplacer    s0   #((1+tAw?DyyH7D;;tyy!$D>>',,Wd;T4HD[[x(FKK		 	 (FH$	O SScT_abw1 	STLL,ELLTZZ=uTLR	SS
 Wgs

KK		S 	SS Ss%   4EA
E
E
E	EEc                 H   t        | ||j                  d   |d         }t        | ||j                  d   |d         }|j                  |j                  t        j
                        }|j                  |j                  t        j
                        }|j                  d||      S Nr   r   rF  )r   r   r   r   r   r   rP   )r"   r#   r%  r   rt  ru  mambs           r)   list_isr    s    Wgsxx{DG<AWgsxx{DG<A			!))W^^	4B			!))W^^	4BtR,,r+   c           	      P   |j                   \  }}t        | |||d         }t        | |||d         }|j                  }|j                  d||j                        }	t	        j
                  ||	      }
|j                  |	      5  t	        j                  ||      5 }|j                  |j                        }|j                  |j                        }| j                  |t        j                  |j                  |j                  f||f      }|j                  |j                  |            5  |j                  t        j                   |
       |j#                          d d d        d d d        d d d        |j%                  |
      S # 1 sw Y   *xY w# 1 sw Y   .xY w# 1 sw Y   2xY wr  )r   r   r7   rP   r   ra   rb   rH  rM   r  generic_compareoperatoreqr-   r   rc   r   do_breakrH   )r"   r#   r%  r   atybtyrt  ru  rv  	same_sizer!  rU  vwitemress                  r)   list_eqr    s]   xxHCWgsDG4AWgsDG4AVVF##D&!&&9I

#
#GY
7C		# 	 w/ 	 4		$**%A		$**%A--gx{{/2yy#)).Dq!fNGg!67  g//5 	 	  <<   	  	 	  	 s=   FBF*1FF#FF	FF	FF%c            	      n    t        | D cg c]  }t        |t        j                         c}      S c c}w r4   )allr   r   r  )r   typs     r)   all_listr    s&    t<
3

+<==<s   !2c                 &    t        | |      sy d }|S )Nc                     | |k(   S r4   r   rt  ru  s     r)   list_ne_implz"impl_list_ne.<locals>.list_ne_impl&  s    F|r+   r  )rt  ru  r  s      r)   impl_list_ner  !  s    Aq> r+   c                 &    t        | |      sy d }|S )Nc                     t        |       }t        |      }t        t        ||            D ]  }| |   ||   k  r y| |   ||   kD  s y ||k  S rb  r  rangeminrt  ru  mnr  s        r)   list_le_implz"impl_list_le.<locals>.list_le_impl0  s]    FFs1ay! 	Atad{1!		
 Avr+   r  )rt  ru  r  s      r)   impl_list_ler  +  s    Aq> r+   c                 &    t        | |      sy d }|S )Nc                     t        |       }t        |      }t        t        ||            D ]  }| |   ||   k  r y| |   ||   kD  s y ||k  S rb  r  r  s        r)   list_lt_implz"impl_list_lt.<locals>.list_lt_implA  s]    FFs1ay! 	Atad{1!		
 1ur+   r  )rt  ru  r  s      r)   impl_list_ltr  <  s    Aq> r+   c                 &    t        | |      sy d }|S )Nc                     || k  S r4   r   r  s     r)   list_ge_implz"impl_list_ge.<locals>.list_ge_implR  s    Avr+   r  )rt  ru  r  s      r)   impl_list_ger  M  s    Aq> r+   c                 &    t        | |      sy d }|S )Nc                     || k  S r4   r   r  s     r)   list_gt_implz"impl_list_gt.<locals>.list_gt_impl\  s    1ur+   r  )rt  ru  r  s      r)   impl_list_gtr  W  s    Aq> r+   zlist.appendc                 *   t        | ||j                  d   |d         }|d   }|j                  }|j                  |t	        j
                  |j                  d            }|j                  |       |j                  ||d       | j                         S r=  )
r   r   r7   rS   r   rQ   rR   r   r   r:  )r"   r#   r%  r   r  itemr  r   s           r)   list_appendr  d  s|    #((1+tAw?D7D		A{{1bkk!&&!45HKKLLDL&""$$r+   z
list.clearc                     t        | ||j                  d   |d         }|j                  | j                  t        j
                  d             | j                         S r  )r   r   r   r  r   r   r:  r+  s        r)   
list_clearr  p  sJ    #((1+tAw?DKK$$UZZ34""$$r+   copyc                     d }|S )Nc                     t        |       S r4   )listrY  s    r)   list_copy_implz!list_copy.<locals>.list_copy_implz  s    Cyr+   r   )rY  r  s     r)   	list_copyr  x  s     r+   r   c                     d }|S )Nc                 .    d}| D ]  }||k(  s	|dz  } |S Nr   r   r   )rY  r%   r!  rc  s       r)   list_count_implz#list_count.<locals>.list_count_impl  s-     	Du}q	 
r+   r   )rY  r%   r  s      r)   
list_countr    s     r+   c                 <   t        | ||j                  d   |d         }t        | ||j                  d   |d         }|j                  }|j                  }|j                  ||      }|j	                  |       ||_        t        j                  ||      5 }	|j                  |	j                        }
| j                  ||
|j                  |j                        }
|j                  |j                  |	j                  |      |
d       d d d        |S # 1 sw Y   |S xY w)Nr   r   Tr  )r   r   r7   rS   r   r   rH  rM   r  rs  r-   r   )r"   r#   r%  r   rK  rJ  rL  	dest_sizer   rU  r%   s              r)   rz  rz    s    
w!d1g
>C#((1+tAw?DxxH		I[[9-FKKDI			7H	- MDJJ'WeSYY

CW[[Y7tLM
 KM
 Ks   A2DDzlist.extendc                     t        |j                  d   t        j                        rt	        | |||       | j                         S d }| j                  ||||      S )Nr   c                 :    | j                   }|D ]
  } ||        y r4   )append)rY  r   methr  s       r)   list_extendz list_extend.<locals>.list_extend  s!    zz 	AG	r+   )r   r   r   r  rz  r:  r$  )r"   r#   r%  r   r  s        r)   r  r    sS    #((1+uzz*'7C6&&(( ##G[#tDDr+   r  c                 6   t        |t        t        j                  t        j                  f      st        j                  d|       t        |t        t        j                  t        j                  f      st        j                  d|       dt        fd}|S )Nz$arg "start" must be an Integer. Got z#arg "stop" must be an Integer. Got r   c                     t        |       }|dk  r||z  }|dk  rd}|dk  r||z  }||kD  r|}t        ||      D ]  }| |   |k(  s|c S  t        d      )Nr   zvalue not in list)r  r  rI  )rY  r%   r   r   r  r  s         r)   list_index_implz#list_index.<locals>.list_index_impl  sw    H19QJEqy!8AID!8Dud# 	A1v	 ,--r+   )r   r   r   IntegerOmittedr   TypingErrorintp_max)rY  r%   r   r   r  s        r)   
list_indexr    sz     ec5==%--@A  #Gw!OPPdS%--?@  #Ftf!MNN*+( . r+   zlist.insertc                    t        | ||j                  d   |d         }|j                  |d         }|j                  |      }|d   }|j                  }t        j                  |j                  d      }|j                  ||      }	|j                  |	       |j                  |j                  ||      ||j                  ||             |j                  ||dd       | j                         S )Nr   r   r   TF)rr   r   )r   r   rW   rf   r7   r   rQ   rR   rS   r   r  r   r   r:  )
r"   r#   r%  r   r  r  r%   r  rO  r   s
             r)   list_insertr    s     #((1+tAw?DNN47#EU#EGE		A
++affa
 C{{1c"HKKIIgkk%%ugkk!U.CDLLdULC""$$r+   zlist.popc                    t        | ||j                  d   |d         }|j                  }t        j                  | ||t
        df       |j                  |t        j                  |j                  d            }|j                  |      }|j                  |       |j                  |       |j                  |       t        | ||j                  |      S )Nr   pop from empty listr   )r   r   r7   r   
guard_zerork   r   r   rQ   rR   rM   ru   r   r   r   r(  )r"   r#   r%  r   r  r  r!  s          r)   list_popr    s    #((1+tAw?D		Aw"$9:<Ar{{1661-.A
,,q/CcQKKNGWcoosCCr+   c                 X   t        | ||j                  d   |d         }|j                  |d         }|j                  }t	        j
                  | ||t        df       |j                  |d       |j                  |      }t        j                  |j                  d      }|j                  |t        j                  |j                  d            }|j                  ||j                  ||      |j                  ||             |j                  |       t!        | ||j"                  |      S )Nr   r   r  zpop index out of range)r   r   rW   r7   r   r  rk   rm   rM   r   rQ   rR   r   r  rS   r   r   r(  )	r"   r#   r%  r   r  rE   r  r!  rO  s	            r)   r  r    s    #((1+tAw?D
..a
!C		Aw"$9:<S23
,,s
C
++affa
 CAr{{1661-.AIIc7;;sC('++a*=>KKNGWcoosCCr+   removec                     d }|S )Nc                     t        t        |             D ]  }| |   |k(  s| j                  |        y  t        d      )Nzlist.remove(x): x not in list)r  r  rX  rI  )rY  r%   r  s      r)   list_remove_implz%list_remove.<locals>.list_remove_impl  s@    s3x 	A1v
	
 899r+   r   )rY  r%   r  s      r)   list_remover    s    : r+   reversec                     d }|S )Nc                 l    t        dt        |       dz        D ]  }| dz
  }| |   | |   c| |<   | |<    y )Nr   r   r   )r  r  )rY  rt  ru  s      r)   list_reverse_implz'list_reverse.<locals>.list_reverse_impl  sF    q#c(a-( 	,AQA VSVNCFCF	,r+   r   )rY  r  s     r)   list_reverser    s    ,
 r+   c                     | |kD  S r4   r   r  s     r)   gtr    s    q5Lr+   )ltT)
is_argsortis_list)r  r  r  c                 B   t        | t        j                        r| j                  }n)t        | t        j                        r| j
                  }n| }t        |t        j                  t        j                  t        t        f      sd| z  }t        j                  |      |S )Nz2an integer is required for 'reverse' (got type %s))r   r   r  r%   OptionalrR   Booleanr  r   boolr   r  )r  rtyrl   s      r)   _sort_check_reverser  %  sp    '5==)mm	GU^^	,llcEMM5==#tDEBWL  %%Jr+   c                     t        | t        j                        rd}t        j                  |      t        j                  |       s2t        | t        j                        sd}t        j                  |      y y )NzoKey must concretely be None or a Numba JIT compiled function, an Optional (union of None and a value) was foundz1Key must be None or a Numba JIT compiled function)r   r   r  r   r  r   is_nonelike
Dispatcher)keyrl   s     r)   _sort_check_keyr  2  se    #u~~&C  %%$
38H8H(IA  %% )J$r+   sortc                     t        |       t        |       t        j                  |      rdt        t
        n(t        |t        j                        rdt        t        dfd	}|S )NFTc                     du r| D cg c]
  } ||       }}n| }|du s|dk(  r	 	|      }n |      }du r|D cg c]  }| |   	 c}| d d  y y c c}w c c}w )NTFr   r   )
rY  r  r  x_lsttmpr  KEYsort_bsort_fs
          r)   ro  zol_list_sort.<locals>.implK  st    $;$'(qCF(D(Dew!|,C,C$;&)*c!f*CF  ) +s   A ANF)r  r  r   r  sort_forwardssort_backwardsr   r   r  arg_sort_forwardsarg_sort_backwards)rY  r  r  ro  r   r  r  s       @@@r)   ol_list_sortr  <  s]     C 3	C))	*"#
+ Kr+   c                 p    t        | t        j                        syt        |       t	        |       dd}|S )NFc                 B    t        |       }|j                  ||       |S )N)r  r  )r  r  )r   r  r  rY  s       r)   ro  zol_sorted.<locals>.implb  s     8nS'*
r+   r  )r   r   IterableTyper  r  )r   r  r  ro  s       r)   	ol_sortedr  Y  s3     h 2 23C  Kr+   c                 <    |j                   |j                   k(  sJ |S r4   )r-   )r"   r#   fromtytotyrt   s        r)   list_to_listr  k  s     <<4::%%%Jr+   Cannot mutate a literal listr  c                     t         r4   _banned_error)rY  objs     r)   literal_list_banned_appendr  y      
r+   r  c                     t         r4   r  )rY  r   s     r)   literal_list_banned_extendr  ~  r  r+   insertc                     t         r4   r  )rY  r  r  s      r)   literal_list_banned_insertr    r  r+   c                     t         r4   r  )rY  r%   s     r)   literal_list_banned_remover    r  r+   rX  c                     t         r4   r  rY  r  s     r)   literal_list_banned_popr!    r  r+   clearc                     t         r4   r  r  s    r)   literal_list_banned_clearr$    r  r+   c                     t         r4   r  )rY  r  r  s      r)   literal_list_banned_sortr&    r  r+   c                     t         r4   r  r  s    r)   literal_list_banned_reverser(    r  r+   c                 f    t        | t        j                        rd}t        j                  |      y )Nz+list.index is unsupported for literal listsr   r   LiteralListr   r  )rY  r  r   r   rl   s        r)   literal_list_indexr,    s/    
 #u(();  %% *r+   c                 B    t        | t        j                        rd }|S y )Nc                 @    d}t        |       D ]  }||k(  s	|dz  } |S r  r   )rY  r  r   rt   s       r)   ro  z literal_list_count.<locals>.impl  s2    E%c* !8QJE Lr+   r   r   r+  )rY  r  ro  s      r)   literal_list_countr0    s#    #u(()	  *r+   c                 B    t        | t        j                        rd }|S y )Nc                     | S r4   r   r  s    r)   ro  z literal_list_count.<locals>.impl  s    Jr+   r/  )rY  ro  s     r)   r0  r0    s!    #u(()	 *r+   c                 D    t        | t        j                        rt        y r4   )r   r   r+  r  r   s     r)   literal_list_delitemr4    s    #u(() *r+   c                 b    t        | t        j                        rt        j                  d      y )Nr  r*  )rY  r  r%   s      r)   literal_list_setitemr6    s)    #u(()  !?@@ *r+   c                 f    t        | t        j                        sy d}t        j                  |      )NzRCannot __getitem__ on a literal list, return type cannot be statically determined.r*  )rY  r   rl   s      r)   literal_list_getitemr8    s-    c5,,-$C


S
!!r+   c                 \    t        | t        j                        sy | j                  fdS )Nc                     S r4   r   rY  ls    r)   <lambda>z"literal_list_len.<locals>.<lambda>  s    q r+   )r   r   r+  r   r;  s    @r)   literal_list_lenr>    s%    c5,,-		Ar+   c                 B    t        | t        j                        rd }|S y )Nc                 2    t        |       D ]	  }||k(  s	 y yrb  r   )rY  r  rt   s      r)   ro  z#literal_list_contains.<locals>.impl  s%    %c*  $;  r+   r/  )rY  r  ro  s      r)   literal_list_containsrA    s#    #u(()	
  *r+   c                    t        |      t        |      k7  rt        t        j                  ||t        |            }t	        |||      D cg c]  \  }}}| j                  ||||       }	}}}| j                  |||	      S c c}}}w r4   )r  r]  r   unpack_tupleziprs  
make_tuple)
r"   r#   r  r  rt   olditemsr  ftr  s
             r)   literallist_to_literallistrI    s    
6{c$i!!##GS#f+>H&$79 9Aq \\'1a+ 9E 9gtU339s   Br  ))r   mathr  	functoolsr   llvmliter   
numba.corer   r   r   r   r	   numba.core.imputilsr
   r   r   r   r   r   r   numba.core.extendingr   r   
numba.miscr   numba.cpythonr   numbar   r*   r0   objectr2   r   r   r  r  r  r  r&  r  r  r)  r.  ListIterBORROWEDr5  rM   r  r8  r   Anyr;  	SliceTyperD  delitemr[  r_  containsrp  re  r  rl  truthrq  rS   rx  iaddr{  r  r  imulr  is_r  r  r  r  ner  ler  r  r  ger  r  r  r  r  r  r  rz  r  USE_LEGACY_TYPE_SYSTEMr   maxvalr  py_intr  r  r  r  r  make_jit_quicksortrun_quicksortr  r  r  r  r  r  r  sortedr  r  r  r  r+  r  r  r  r  r!  r$  r&  r(  
_index_endr,  r0  r4  r6  r8  r>  rA  rI  r   r+   r)   <module>ri     sc	  
   %  = =- - - ;   !  	H(UA UAp +  $E$ EN"5( "5PE tU''(C )C tE E sEJJ   y%**%L &L z5>>*w 
M ! +
M xU]];H <H xU]]EIIF% G% xU__=M >M, xU__eiiH8% I8%x xU]];K <K xU__=% >%D x  %..%))<K =K tU^^$L %L 
(..  x||UZZ4K 5K* x}}ejj%**5L 6L x||UZZ7x||U]]EJJ7K 8 8K. x}}ejj%--8L 9L, x||UZZ4- 5- x{{EJJ

3 40> 
(++  
(++   
(++   
(++  
(++  }ejj%))4	% 5	% |UZZ(% )% V$ % W%	 &	" }ejj%*<*<=E >E 
  zz  H||""H W%!"  &2 }ejj%--99%% z5::&D 'D z5::u}}5D 6D" X&
 '
 Y' ( -	,,.<<---4BB0I00D9=??L} 1Y11Tb:>@@M 
& V$ %8 
& " EJJ

# $ #""#AB ""H- . ""H- . ""H- . ""H- . ""E* + ""G, - ""F+ , ""I. / 
  ""J$$J""G,%&J & -& ""G, - ""F+ , 
(

  
(

A A 
(

" " 
#  
(

  Eu0014 24r+   