
    shiB              
       h	   S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
  SSKJrJrJr  SSKJrJrJr  \" \R&                  \R(                  " \R*                  5      5      S 5       r\" \R.                  \R0                  \R0                  5      S 5       rS r\" \R6                  \R0                  \R0                  5      S	 5       r\" \R:                  \R0                  \R0                  5      S
 5       r\" \R>                  \R0                  \R0                  5      S 5       r \" \RB                  \R0                  \R0                  5      S 5       r"\" \RF                  \R0                  \R0                  5      S 5       r$\" \RJ                  \R0                  \R0                  5      S 5       r&\" \RN                  5      S 5       r(\" \RR                  5      \" \RT                  5      S 5       5       r+\" \RX                  5      \" \RZ                  5      S 5       5       r+\" S\RR                  5      \" S\RT                  5      S 5       5       r.\" S\R^                  5      \" \
R`                  5      S 5       5       r1\" \Rd                  5      S 5       r3\" S\R0                  \R*                  5      S 5       r4\" \Rd                  \RR                  \Rj                  5      \" \Rd                  \RR                  \Rl                  5      \" \Rd                  \RR                  \Rn                  5      \" \Rd                  \RT                  \Rj                  5      \" \Rd                  \RT                  \Rl                  5      \" \Rd                  \RT                  \Rn                  5      S 5       5       5       5       5       5       r8\" S\Rr                  \Rt                  5      \" S\Rv                  \Rx                  5      \" S\Rv                  \Rz                  5      \" S\R0                  \Rx                  5      \" S\R0                  \Rz                  5      S 5       5       5       5       5       r>\" \R0                  \R0                  5      S 5       r?\" \R0                  S5      S 5       r@\" \R                  5      S 5       rBg) z!
Implementation of tuple objects
    N)lower_builtinlower_getattr_generic
lower_castlower_constantiternext_implimpl_ret_borrowedimpl_ret_untrackedRefType)typingtypescgutils)overload_methodoverload	intrinsicc                 "   / n[        U5       HC  u  pVU R                  XUR                  U   UR                  U   5      nUR	                  U5        ME     U R                  XR                  [        U5      5      n[        XUR                  U5      $ N)	enumeratecastargsreturn_typeappend
make_tupletupler   )	contextbuildersigr   newargsiargcastedress	            n/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cpython/new_tupleobj.pynamedtuple_constructorr#      sw     GD/gCHHQK9KLv " 

WoouW~
FCWsDD    c                     U Vs/ s H  n[         R                  " X5      PM     snu  pVU R                  XR                  XV-   5      n[	        XUR                  U5      $ s  snf r   )r   unpack_tupler   r   r   )r   r   r   r   xleftrightr!   s           r"   	tuple_addr*      sT    =ABT7''3TBKD


Woot|
DCWsDD Cs    Ac           	      z   UR                   u  pVUu  px[        R                  " U[        R                  5      n	UR	                  S5      n
[        [        UR                  UR                  5      5       H  u  nu  pUR                  X{5      nUR                  X5      nU R                  U[        R                  X4X45      nUR                  U5         U R                  XX4X45      nUR                  UU	5        UR                  U
5        S S S 5        M     U" [        UR                  5      [        UR                  5      5      nU R!                  [        R"                  U5      nUR                  UU	5        UR                  U
5        UR%                  U
5        UR'                  U	5      $ ! , (       d  f       GMH  = f)Ncmp_end)r   r   alloca_once_valuetrue_bitappend_basic_blockr   zipr   extract_valuegeneric_compareoperatorneif_thenstorebranchlenget_constantbooleanposition_at_endload)r   r   opr   r   tutvuvr!   bbendr   tatbab	not_equalpredlen_compares                      r"   tuple_cmp_orderedrJ   $   sX   XXFBDA

#
#GW-=-=
>C&&y1E RXXrxx!898B!!!'!!!'++GX[[2(QFS	__Y'**71&IDMM$$NN5! ('	 : S]CM2K{;DMM$NN5E"<< ('s   9F**
F:	c                 r   UR                   u  pEUu  pg[        UR                  5      [        UR                  5      :w  a7  U R                  [        R                  S5      n[        XUR                  U5      $ U R                  [        R                  S5      n[        [        UR                  UR                  5      5       H_  u  n	u  pUR                  Xi5      nUR                  Xy5      nU R                  U[        R                  X4X45      nUR                  X5      nMa     [        XUR                  U5      $ )NFT)r   r8   r   r9   r:   r	   r   r   r0   r1   r2   r3   eqand_)r   r   r   r   r>   r?   r@   rA   r!   r   rC   rD   rE   rF   rH   s                  r"   tuple_eqrN   :   s    XXFBDA
288}BHH%""5==%8!'COOSII


u}}d
3C RXXrxx!898B!!!'!!!'&&wbXvNll3%	 :
 gEEr$   c                 f    UR                  [        XX#5      5      n[        XUR                  U5      $ r   )not_rN   r	   r   r   r   r   r   r!   s        r"   tuple_nerR   I   s*    
,,x#<
=CgEEr$   c                 f    [        X[        R                  X#5      n[        XUR                  U5      $ r   )rJ   r3   ltr	   r   rQ   s        r"   tuple_ltrU   N   '    
Ghkk3
ECgEEr$   c                 f    [        X[        R                  X#5      n[        XUR                  U5      $ r   )rJ   r3   ler	   r   rQ   s        r"   tuple_lerY   S   rV   r$   c                 f    [        X[        R                  X#5      n[        XUR                  U5      $ r   )rJ   r3   gtr	   r   rQ   s        r"   tuple_gtr\   X   rV   r$   c                 f    [        X[        R                  X#5      n[        XUR                  U5      $ r   )rJ   r3   ger	   r   rQ   s        r"   tuple_ger_   ]   rV   r$   c                 x    UR                   R                  U5      nUR                  X55      n[        XX%   U5      $ )z
Fetch a namedtuple's field.
)fieldsindexr1   r   )r   r   typvalueattrrb   r!   s          r"   namedtuple_getattrrf   d   s9    
 JJT"E



-CWsz3??r$   c           	          U Vs/ s H  nU R                  XR                  U5      PM!     nn[        XU[        R                  " X5      5      $ s  snf )z&
Create a homogeneous tuple constant.
)get_constant_genericdtyper   r   
pack_array)r   r   typyvalrA   constss         r"   unituple_constantrn   n   sY     ! **7HHa@  "g00A s   &Ac           	          [        U5       VVs/ s H$  u  pEU R                  XR                  U   U5      PM&     nnn[        XU[        R
                  " X5      5      $ s  snnf )z(
Create a heterogeneous tuple constant.
)r   rh   r   r   r   pack_struct)r   r   rk   rl   r   rA   rm   s          r"   rn   rn   z   sd     $E*,*$! **7HHQKC*  ,"g11'B ,s   +Agetiterc                 z   UR                   u  nUu  nU R                  U[        R                  " U5      5      nU R	                  [        R
                  S5      n[        R                  " XR                  5      nUR                  Xx5        Xl
        XVl        UR                  5       n	[        XUR                  U	5      $ )Nr   )r   make_helperr   UniTupleIterr9   intpr   alloca_oncetyper6   rb   r   	_getvaluer   r   )
r   r   r   r   tuptytupitervalindex0indexptrr!   s
             r"   getiter_unitupler~      s     hhGUES!!'5+=+=e+DEG!!%**a0F""7KK8HMM&#MM



CWsDDr$   iternextc                 z   UR                   u  nUu  nU R                  XUS9nUR                  nUR                  n	UR	                  U	5      n
U R                  [        R                  UR                  R                  5      nUR                  SX5      nUR                  U5        UR                  U5         [        R                  " UR                  R                  UR                  [        R                  5      n[!        XUX/5      nU R"                  (       a0  U R$                  R'                  XR                  R                  U5        UR)                  U5        UR+                  XR                  [        R                  S5      5      nUR-                  XR                  5        S S S 5        g ! , (       d  f       g = f)N)rd   <   )r   rs   r   rb   r<   r9   r   ru   	containercounticmp_signed	set_validr5   r   	signatureri   getitem_unituple
enable_nrtnrtdecrefyield_addr6   )r   r   r   r   result	tupitertytupiterr{   rz   idxptridxr   is_validgetitem_siggetitem_outnidxs                   r"   iternext_unitupler      sN    ((KYIW!!'G!DG
--C]]F
,,v
C  Y-@-@-F-FGE""33H
X		"&&y':':'@'@'0':':',zz3 'w(+z3 KKw(;(;(A(A;Ok"{{3 4 4UZZ CDdMM* 
#	"	"s   4C/F,,
F:c                    ^ [        U [        R                  5      (       a  [        U[        R                  5      (       d  gUR                  mU4S jnU$ )z
Overloads BaseTuple getitem to cover cases where constant
inference and RewriteConstGetitems cannot replace it
with a static_getitem.
Nc                    > U T   $ r    )rz   r   idx_vals     r"   getitem_literal_idx_impl5getitem_literal_idx.<locals>.getitem_literal_idx_impl   s    7|r$   )
isinstancer   	BaseTupleIntegerLiteralliteral_value)rz   r   r   r   s      @r"   getitem_literal_idxr      sD     sEOO,,3 4 455G $#r$   typed_getitemc                    UR                   u  pEUu  pgSn[        U5      S:X  a{  UR                  [        R                  5         U R
                  R                  U[        U5        S S S 5        U R                  UR                  5      n	[        XUR                  U	5      $ UR                  S5      n
UR                  S5      nUR                  Xz5      nUR                  U
5         U R
                  R                  U[        U5        S S S 5        U R                  UR                  5      nU R                  [        R                   5      nUR                  U5         UR#                  U5      nS S S 5        [%        UR&                  5       GH  nU R)                  [        R*                  U5      nUR                  SU-  5      nUR-                  UU5        U R)                  [        R*                  UR&                  * U-   5      nUR-                  UU5        UR                  U5         UR/                  UU5      nU R0                  R3                  UR                   S   U   UR                  5      UR                  :H  nU(       aT  UR5                  USU-  S9nU R7                  UUUR                   S   U   UR                  5      nUR9                  UU5        O/UR5                  UR:                  SU-  S9nUR9                  UU5        WR=                  UR?                  UU5      U5        URA                  U5        S S S 5        GM     URC                  U5        UR?                  WURE                  5       5      n	URG                  U	5      n	[I        XUR                  U	5      $ ! , (       d  f       GN== f! , (       d  f       GN= f! , (       d  f       GN\= f! , (       d  f       GMZ  = f)Nztuple index out of ranger   ztyped_switch.elseztyped_switch.endztyped_switch.%dzTYPED_VALUE_SLOT%s)name)%r   r8   r5   r   r.   	call_convreturn_user_exc
IndexErrorget_constant_nullr   r	   r/   switch
goto_blockget_value_typer   voidptrphiranger   r9   ru   add_caser1   typing_contextunify_typesallocar   r6   rw   add_incomingbitcastr7   r;   
as_pointerr<   r   )r   r   r   r   ry   _rz   r   
errmsg_oobr!   bbelserB   r   lrtty	voidptrtyphinoder   kibbikinrd   DOCAST
value_slotr    s                           r"   getitem_typedr      s4   xxHEHC.J
5zQ __W--.--gz.8: /
 ''8!'"%//38 	8
 ++,?@**+=>,'--gz,68 ( &&s7**5==9	&kk),G ' u{{#A%%ejj!4B,,->-BCCOOB$ &&uzzEKK<!3CDCOOC%##C(--c15( !//;;CHHQKN(+9<?OOL!(5IA5M "0 "OJ$\\'5#((1+a.(+9FMM&*5!(

5IA5M "0 "OJMM%4$$W__Z%K%(*u%G )( $Z 	&oogu'7'7'9:ll3 3??CHHQ /. (' '& )(s1   "N#"N-N?"DO
N*-
N<?
O
O!	c                    UR                   u  pEUu  pgSn[        U5      S:X  a{  UR                  [        R                  5         U R
                  R                  U[        U5        S S S 5        U R                  UR                  5      n	[        XUR                  U	5      $ UR                  S5      n
UR                  S5      nUR                  Xz5      nUR                  U
5         U R
                  R                  U[        U5        S S S 5        U R                  UR                  5      nUR                  U5         UR!                  U5      nS S S 5        [#        UR$                  5       H  nU R'                  [(        R*                  U5      nUR                  SU-  5      nUR-                  UU5        U R'                  [(        R*                  UR$                  * U-   5      nUR-                  UU5        UR                  U5         UR/                  Xo5      nUR1                  U5        WR3                  UU5        S S S 5        M     UR5                  U5        Wn	UR                  UR                  :X  d   e[7        XUR                  U	5      $ ! , (       d  f       GN+= f! , (       d  f       GN= f! , (       d  f       GNi= f! , (       d  f       GMg  = f)Nr   r   zswitch.elsez
switch.endz	switch.%d)r   r8   r5   r   r.   r   r   r   r   r   r	   r/   r   r   r   ri   r   r   r   r9   r   ru   r   r1   r7   r   r;   r   )r   r   r   r   ry   r   rz   r   r   r!   r   rB   r   r   r   r   r   r   r   rd   s                       r"   r   r   #  s@    xxHEHC.J
5zQ __W--.--gz.8: /
 ''8!'"%//38 	8 ++M:**<8,'--gz.8: ( &&u{{3&kk%(G ' u{{#A%%ejj!4B,,[1_=COOB$ &&uzzEKK<!3CDCOOC%##C(--c5u%$$UC0 )( $ 	&%++--- 3??CHHM /. ('
 '& )(s0   "J	#"J9J-5J?	
J
J*-
J<?
K	static_getitemc                    UR                   u  pEUu  pg[        U[        5      (       aM  US:  a  U[        U5      -  nSUs=::  a  [        U5      :  d  O  [	        SXt4-  5      eUR                  Xg5      nO[        U[        5      (       a6  [        R                  " X5      U   n	U R                  XR                  U	5      nOx[        U[        R                  5      (       a9  UR                  n
UR                  R                  U
5      nUR                  Xk5      nO [!        SU< SUR                   S   < 35      e[#        XUR                  U5      $ )Nr   zcannot index at %d in %szunexpected index z for )r   r   intr8   r   r1   slicer   r&   r   r   r   LiteralStrKeyDictr   ra   rb   NotImplementedErrorr   )r   r   r   r   ry   idxtyrz   r   r!   itemsr   
idx_offsets               r"   static_getitem_tupler   \  s    88LEHC#s73u:CC$#e*$73,FGG##C-	C		$$W237  //5A	E522	3	3%%\\''0
##C4!%(#((1+#7 8 	8WsDDr$   c                    [        U[        R                  5      (       d  [        U[        R                  5      (       a  [        e[	        U5      [	        U5      :w  a  [        e[
        R                  " X[	        U5      5      n[        XRU5       VVVs/ s H  u  pgnU R                  XXx5      PM     n	nnnU R                  XU	5      $ s  snnnf r   )
r   r   BaseNamedTupler   r8   r   r&   r0   r   r   )
r   r   fromtytotyvalolditemsrA   ftr   s
             r"   tuple_to_tupler   {  s    65//00dE0011!!
6{c$i!!##G#f+>H$797q \\'a+7 
 9gU339s   Crb   c                     S nU$ )Nc                 f    [        [        U 5      5       H  nX   U:X  d  M  Us  $    [        S5      e)Nztuple.index(x): x not in tuple)r   r8   
ValueError)rz   rd   r   s      r"   tuple_index_impl%tuple_index.<locals>.tuple_index_impl  s0    s3xAv ! 9::r$   r   )rz   rd   r   s      r"   tuple_indexr     s    ; r$   c                 l    [        U [        R                  5      (       a  U R                  (       d  S $ g g )Nc                     g)NFr   r'   ys     r"   <lambda>$in_seq_empty_tuple.<locals>.<lambda>  s    Er$   )r   r   Tupler   s     r"   in_seq_empty_tupler     s'    !U[[!!!''!! +2!r$   )C__doc__r3   numba.core.imputilsr   r   r   r   r   r   r	   r
   
numba.corer   r   r   numba.core.extendingr   r   r   NamedTupleClassVarArgAnyr#   r   r   r*   rJ   rL   rN   r4   rR   rT   rU   rX   rY   r[   r\   r^   r_   r   rf   UniTupleNamedUniTuplern   r   
NamedTupler~   rt   BORROWEDr   getitemr   r   py_intnp_intpnp_uintpr   r   StringLiteralLiteralListr   SliceLiteralr   r   r   containsr   r   r$   r"   <module>r      s   - - - . - E E u$$ell599&=>E ?E x||U__eoo>E ?E, x{{EOOU__=F >F x{{EOOU__=F >F x{{EOOU__=F >F x{{EOOU__=F >F x{{EOOU__=F >F x{{EOOU__=F >F u++,@ -@ ##$ %     ! "  y%..)y%--.E / *E" z5--.w + ! /+: 
(

$ $" ;QI <QIh x>x?x@x!4!4ellCx!4!4emmDx!4!4ennE0I F E D A @ ?0If !8!8%:M:MN!2!2E4H4HI!2!2E4F4FG%2F2FG%2D2DEE F H H J O
E4 EOOU__-4 .4& '* + 
(

" "r$   