+
    :i                    &   ^ RI HtHt ^ RIt^ RIt^ RIHt ^ RIt^ RIH	t	H
t
 ^ RIHtHtHtHtHtHtHtHtHtHtHtHt ^ RIHtHtHtHtHtHt ^ RIH t  ^ RI!H"t" ^ R	I#H$t$H%t% ^ R
I&H't' ^ RI(H)t) ]! RR4      t* ! R R]+4      t, ! R R],4      t-R t.R# )    )
namedtupledefaultdictN)partial)Constant	IRBuilder)typingutilstypesir	debuginfofuncdesc
generatorsconfigir_utilscgutilsremoverefctpasstargetconfig)LoweringErrornew_error_contextTypingErrorLiteralTypingErrorUnsupportedErrorNumbaDebugInfoWarning)default_mangler)Environment)compute_use_defsmust_use_alloca)get_func_body_first_lineno)get_registered_loc_notify_VarArgItemc                      a  ] tR t^t o RtRR lt]R 4       tR tR t	R t
R tR	 tR
 tR tRR ltRR ltRR ltR tR tR tR tR tR tR R ltR tR tR tV 3R lR ltR tR tRtV t R# )!	BaseLowerz
Lower IR to LLVM
Nc                   W n         W0n        \        P                  ! VP                  P                  4       4      V n        W@n        VP                  V n        WPn        \        P                  P                  4       V n        V P                   P                  V P                  P                  4      V n        \         P"                  ! V P                  4      V n        / V n        / V n        / V n        \-        V P                  P/                  4       4      V n        RV n        VP5                  V P$                  V P                  R7      V n        V P6                  P8                  '       d   V P6                  P:                  M\<        P>                  pV PA                  4       V n!        V P                  PD                  pV! V P                  VP2                  PF                  VVR7      V n        \I        4       V n%        V PM                  4        R# )   )environmentfndesc)modulefilepathcgctxdirectives_onlyN)'libraryr&   r	   	SortedMapblocksitemsfunc_irgenerator_infometadatar   ConfigStacktop_or_noneflagscreate_ir_moduleunique_namer'   r   from_fndescenvblkmappending_phisvarmapminkeysfirstblkloc	subtargetcontextenable_debuginfo	DIBuilderr   DummyDIBuilder_compute_def_locationdefn_locdbg_directives_onlyfilenamer   _loc_notify_registryinit)selfrB   r,   r&   r0   r2   dibuilderclsr*   s   &&&&&&  Q/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/core/lowering.py__init__BaseLower.__init__   s}   oognn&:&:&<=%44 !--99;
 ll33DKK4K4KL **4;;7 DKK,,./
 ((TXX04 ) =
  <<888 ..&55 	
 224**88%T[[/6{{/C/C,36EG %>$?! 			    c                .    V P                   P                  # N)rB   	call_convrL   s   &rN   rT   BaseLower.call_convO   s    ||%%%rQ   c                    R # rS    rU   s   &rN   rK   BaseLower.initS   s    rQ   c                :   V P                   e   R# V P                  P                  V P                  4      V n         V P                  P	                  V P                  4      V n        V P
                  P                  V n        V P
                  P                  V n        R# )zM
Init the Python API and Environment Manager for the function being
lowered.
N)	pyapirB   get_python_apibuilderget_env_managerenv_managerenv_bodyenv_ptrenvargrU   s   &rN   
init_pyapiBaseLower.init_pyapiV   sn    
 ::!\\00>
  <<77E((11&&..rQ   c                   V P                   P                  P                  V P                   P                  P                  ^,           4      pV P                  P
                  '       d   V P                   P                  P                  p\        V4      pVe1   V^,
          pV P                   P                  P                  V4      pV# RV P                   P                  P                   R2p\        P                  ! \        V4      4       V# )r$   z$Could not find source for function: z+. Debug line information may be inaccurate.)r0   r@   with_linenolinerB   rC   func_idfuncr   warningswarnr   )rL   rG   fnoptional_lnooffsetmsgs   &     rN   rF   BaseLower._compute_def_locationd   s     <<##//0@0@0E0E0IJ<<(((%%**B5b9L'%)<<++77? 	 >,,..334 5,, 3C89rQ   c                   RV n         V P                  P                  V P                  P                  V P
                  P                  V P
                  P                  V P
                  P                  V P                  P                  R7       V P                  P                  P                  pV P                  P                  ;'       d    V P                  P                  '       * pV'       d   RV9  d   VP                  R4       R# R# R# )z$
Called before lowering all blocks.
N)functionqualnameargnamesargtypesrg   alwaysinlinenoinline)r[   r   mark_subprogramr]   rr   r&   rs   argsru   rG   rg   
attributesr5   rH   add)rL   rz   
full_debugs   &  rN   	pre_lowerBaseLower.pre_lowerw   s     
&&0E0E040D0D040@0@040D0D,0MM,>,>	 	' 	@ \\**55
ZZ))PP$**2P2P.P
.
:NN:& ;:rQ   c                    V P                   P                  4        V P                   F  pVP                  4        K  	  R# )z%
Called after all blocks are lowered
N)r   finalizerJ   close)rL   notifys   & rN   
post_lowerBaseLower.post_lower   s-     	!//FLLN 0rQ   c                    R# )z!
Called before lowering a block.
NrX   rL   blocks   &&rN   	pre_blockBaseLower.pre_block       rQ   c                    R# )z 
Called after lowering a block.
NrX   r   s   &&rN   
post_blockBaseLower.post_block   r   rQ   c           	         V P                   P                  V P                  WVW@P                  P                  P
                  R 7       R# )r@   	func_nameN)rT   return_dynamic_user_excr]   r0   rh   r   )rL   	exc_classexc_argsnb_typesr@   s   &&&&&rN   return_dynamic_exception"BaseLower.return_dynamic_exception   s7    ..LL)x||33== 	/ 	
rQ   c                    V P                   P                  V P                  WW0P                  P                  P
                  R7       R# )z+Propagate exception to the caller.
        r   N)rT   return_user_excr]   r0   rh   r   rL   r   r   r@   s   &&&&rN   return_exceptionBaseLower.return_exception   s7     	&&LL)||33== 	' 	
rQ   c                    V P                   P                  V P                  WW0P                  P                  P
                  R7       R# )z5Set exception state in the current function.
        r   N)rT   set_static_user_excr]   r0   rh   r   r   s   &&&&rN   set_exceptionBaseLower.set_exception   s7     	**LL)||33== 	+ 	
rQ   c                    V P                   P                  V P                  4      pV P                   P                  V P                  V4       R# )z7Emit a pointer to hold the Environment object.
        N)rB   get_env_namer&   declare_env_globalr'   )rL   envnames   & rN   emit_environment_object!BaseLower.emit_environment_object   s4     ,,++DKK8''W=rQ   c                   V P                  4        V P                  f$   R V n        V P                  V P                  4       MV P                  V 4      V n        V P                  P                  V n        V P                  P                  V 4       V P                  P                  V 4       V P                  P                  '       d   V P                  P                  V 4       \        P                  '       d,   \        P                  ! V P                  V P                  4       V P                   P"                  '       dF   V P                  f8   \$        P&                  ! V P(                  V P                   V P                  R7       V P                   P+                  V P                  V P,                  4       V P,                  P/                  V P                  4       R # )N)rB   r&   )r   r1   genlowerlower_normal_functionr&   GeneratorLowergentypelower_init_funclower_next_funchas_finalizerlower_finalize_funcr   	DUMP_LLVMr	   	dump_llvmr'   rB   
enable_nrtr   remove_unnecessary_nrt_usagerr   post_loweringr,   add_ir_modulerU   s   &rN   lowerBaseLower.lower   s4   $$&& DM&&t{{3 //5DM==00DLMM))$/MM))$/||)))11$7OODKK5 <<"""t':':'B88AE@DM
 	""4;;= 	""4;;/rQ   c                    V P                   P                  V P                  V P                  P                  V P
                  4      V n        V P                  # rS   )rT   decode_argumentsr]   r&   ru   rr   fnargsrU   s   &rN   extract_function_arguments$BaseLower.extract_function_arguments   s?    nn55dll6:kk6J6J6:mmE {{rQ   c                   V P                  V4       V P                  4        V P                  4       p\        P                  ! V P
                  4      ;_uu_ 4        V P
                  P                  V4       V P
                  P                  V P                  V P                  ,          4       RRR4       R#   + '       g   i     R# ; i)z
Lower non-generator *fndesc*.
N)
setup_functionr   lower_function_bodyr   suspend_emissionr]   position_at_endbranchr:   r?   )rL   r&   entry_block_tails   && rN   r   BaseLower.lower_normal_function   s     	F# 	'')335
 ''55LL(()9:LLDMM :; 6555s   AB66C	c                `   V P                    F4  pRV,          pV P                  P                  V4      V P                  V&   K6  	  V P	                  4        V P
                  P                  pV P                  RP                  V P                  P                  4      4       \        V P                   P                  4       4       FX  w  rV P                  V,          pV P
                  P                  V4       V P                  RV 24       V P                  V4       KZ  	  V P                  4        V# )z@
Lower the current function's body, and return the entry block.
zB%sz# function begin: {0}z# lower block: )r.   rr   append_basic_blockr:   r}   r]   basic_blockdebug_printformatr&   r7   sortedr/   r   lower_blockr   )rL   rn   bnamer   r   bbs   &     rN   r   BaseLower.lower_function_body   s    
 kkFFNE"&--"B"B5"IDKK " 	<<33077KK##% 	& $DKK$5$5$78MFV$BLL((,vh78U#	 9
 	rQ   c                f   V P                  V4       VP                   Fj  pVP                  V n        \        \        V P                  R7      p\        RVV P                  VR7      ;_uu_ 4        V P                  V4       RRR4       Kl  	  V P                  V4       R#   + '       g   i     K  ; i)z
Lower the given block.
r@   zlowering "{inst}" at {loc})instr@   errcls_N)r   bodyr@   r   r   r   
lower_instr   )rL   r   r   defaulterrclss   &&  rN   r   BaseLower.lower_block
  s     	uJJDxxDH#Mtxx@M"#?d'+xxH H%H H  	H H Hs   .BB0c                ^   V P                   '       dS   V P                  P                  V P                  V P                   P                  V P
                  V P                  VR7       V P                  P                  V P                  V P                  V P
                  V P                  VR7       R# )z@
Create CPython wrapper(s) around this function (or generator).
)release_gilN)r   rB   create_cpython_wrapperr,   gendescr9   call_helperr&   )rL   r   s   &&rN   r    BaseLower.create_cpython_wrapper  s     ===LL//040E0E04$:J:J<G 0 I 	++DLL$++,0HHd6F6F8C 	, 	ErQ   c                    V P                   '       d   \        R4      hV P                  P                  V P                  V P
                  V P                  V P                  4       R# )z(
Create C wrapper around this function.
z(generator as a first-class function typeN)r   r   rB   create_cfunc_wrapperr,   r&   r9   r   rU   s   &rN   r   BaseLower.create_cfunc_wrapper$  sG     ==="#MNN))$,,*.((D4D4D	FrQ   c                   V P                   P                  V P                  V4      V n        V P                  P
                  '       d@   V P                  P                  pR V9  d#   VP                  R4       VP                  R4       V P                  P                  R4      V n	        \        V P                  4      V n        V P                  P                  V P                  4      V n        R# )rv   optnonerw   entryN)rB   declare_functionr'   rr   r5   dbg_optnonerz   r{   r   entry_blockr   r]   rT   init_call_helperr   )rL   r&   attrsets   && rN   r   BaseLower.setup_function-  s    55dkk6J::!!!mm..GW,I&J'==;;GD !1!12>>::4<<HrQ   c                <    V P                   P                  V,          # rS   )r&   typemap)rL   varnames   &&rN   typeofBaseLower.typeof9  s    {{""7++rQ   c                8   < V ^8  d   QhRS[ P                  RR/# )   r@   returnN)r   Loc)r   __classdict__s   "rN   __annotate__BaseLower.__annotate__<  s     # #bff # #rQ   c                N    V P                    F  pVP                  V4       K  	  R# )zKCalled when a new instruction with the given `loc` is about to be
lowered.
N)rJ   r   )rL   r@   
notify_objs   && rN   
notify_locBaseLower.notify_loc<  s"     33Jc" 4rQ   c                    \         P                  '       dC   V P                  P                  V P                  R V P
                  P                   RV 24       R# R# )z
DEBUGJIT [z]: N)r   	DEBUG_JITrB   r   r]   r&   rs   )rL   ro   s   &&rN   r   BaseLower.debug_printC  sG    LL$$
4;;+?+?*@C5IK rQ   c                t   \         P                  ! V4      V P                  P                  V,          3pV P                  P                  4       V P                  V4      3p\        P                  ! \         P                  .VO5!  pV P                  P                  \        V4      pV! V P                  V4       R# )zHelper to emit ``print(msg, varname)`` for debugging.

Parameters
----------
msg : str
    Literal string to be printed.
varname : str
    A variable name whose value will be printed.
N)r
   literalr&   r   rB   get_dummy_valueloadvarr   	signaturenoneget_functionprintr]   )rL   ro   r   argtysry   sigimpls   &&&    rN   print_variableBaseLower.print_variableH  s     MM#KK(

 LL((*LL!
 uzz3F3||((4T\\4 rQ   )rJ   r:   r.   r]   r   rB   r   rG   r   r9   r`   r_   rb   r?   r5   r   r&   r0   rr   r1   r   r   r,   r@   r2   r'   r;   r[   r<   rS   )NN)F)!__name__
__module____qualname____firstlineno____doc__rO   propertyrT   rK   rc   rF   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  __static_attributes____classdictcell__)r   s   @rN   r"   r"      s     /b & &/&',




>0<<" 2EF
I,# #K
! !rQ   r"   c                   :  a a ] tR tRt o]P
                  tV 3R lt]R 4       tR t	V 3R lt
R tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R  t%R(R! lt&R" t'R# t(R(R$ lt)R% t*R& t+R't,Vt-V ;t.# ))Loweri`  c                D   < \         SV `  4        V P                  4        R # rS   )superrK   _find_singly_assigned_variable)rL   	__class__s   &rN   rK   
Lower.initc  s    ++-rQ   c                    V P                   f   R# V P                   P                  ;'       d    V P                   P                  '       * # )zFlags that the SROA like optimisation that Numba performs (which
prevent alloca and subsequent load/store for locals) should be disabled.
Currently, this is conditional solely on the presence of a request for
the emission of debug information.F)r5   r   rH   rU   s   &rN   _disable_sroa_like_optLower._disable_sroa_like_opth  s6     ::zz##JJDJJ,J,J(JJrQ   c                   V P                   pVP                  p\        4       pV P                   P                  P                  '       Eg   \        V4      p\        V4      p\        \        4      pVP                  P                  4        F%  w  rxV F  p	Wi,          P                  V4       K  	  K'  	  \        \        4      p
VP                  P                  4        F%  w  rxV F  p	W,          P                  V4       K  	  K'  	  V F  p	W9  g   K  \        Wi,          4      ^8X  g   K#  \        W,          4      ^ 8X  g   K;  Wi,          w  pV P                  V,          P                  \        P                  4      pV Uu. uF"  pVP                   P"                  V	8X  g   K   VNK$  	  pp\        V4      ^8X  g   K  VP                  V	4       K  	  W0n        / V n        R# u upi )r$   N)r0   r.   setrh   is_generatorr   r   r   defmapr/   r{   usemaplen
find_instsr   Assigntargetname_singly_assigned_vars_blk_local_varmap)rL   r0   r.   savuse_defsalloca_varsvar_assign_mapblkvlvarvar_use_mapdefblkassign_stmtsstmtassignss   &              rN   r  $Lower._find_singly_assigned_variables  sz   ,,e||##000'/H)&1K )-N#??002C"'++C0  3
 &c*K#??002C$((-  3
 &)c.2E.F!.K;+,1 $2#6'+{{6':'E'Ebii'P4@ #?LD&*kk&6&6#&= $(4L #?w<1,GGCL & &)"!##?s   ?G!Gc                &  < ^ RI Hp \        \        V `  V4       Wn        WP                  8X  d   V P                  V P                  ,          pV P                  P                  V4       \        4       pV P                  P                  4        FW  pVP                  \        P                  4       F1  pVP                   V9  g   K  VP#                  VP                   4       K3  	  KY  	  V F%  pV P%                  V4      pV P'                  Wg4       K'  	  VP)                  RR7       F  p\*        P,                  ! \*        P.                  V P0                  VP2                  4      p	V	f   KC  \5        V	\        P6                  4      '       g   Ke  V	P                   VP8                  J g   K  \5        VP:                  \        P<                  4      '       g   K  V P                  VP:                  P>                  ,          p
RV
/V P                  n          R# 	  R# )r   )ehcall)opNr"  )!numba.core.unsafer4  r  r  r   _cur_ir_blockr?   r:   r]   r   r  r.   valuesr   r   Delvaluer{   r   _alloca_var
find_exprsr   guardget_definitionr0   ri   
isinstanceGlobalexception_check
terminatorBranchtruebr_in_try_block)rL   r   r4  r   	all_namesxr#  fetyper5  defn	targetblkr  s   &&         rN   r   Lower.pre_block  st   (eT$U+"MM!
 T]]+BLL((,I++-))"&&1Awwi/!agg. 2 . "T*  . " $$$/D>>''tyyD JtRYY$?$?::!3!33!%"2"2BII>>$(KK0@0@0G0G$H	 7?	5J2 0rQ   c                D     V P                   =R #   \         d     R # i ; irS   )r]   rF  AttributeErrorr   s   &&rN   r   Lower.post_block  s#    	* 		s    c                   V P                   P                  V P                  V P                  P                  4       V P                  V P                  4       V P                  \        V4      4       \        V\        P                  4      '       d   V P                  VP                  P                  4      pV P                  W!4      pR p\        VP                  \        P                   4      '       dX   V P                   P                  V P                  V P"                  P                  4       VP                  P$                  ^,           pV P'                  W1P                  P                  VR7       R # \        V\        P(                  4      '       Ed   V P+                  VP,                  P                  4      pV P.                  VP0                  ,          pV P.                  VP2                  ,          pV P                  VP,                  P                  4      pV P4                  P7                  V P                  WX\8        P:                  4      p	V	P<                  \>        P                  PA                  ^4      8X  g   Q RV	P<                  ,          4       hV P                  PC                  WV4       R # \        V\        PD                  4      '       d;   V P.                  VP                  ,          p
V P                  PG                  V
4       R # \        V\        PH                  4      '       EdC   V PJ                  '       d   V PL                  PO                  V 4       R # V P+                  VP                  P                  4      pV P                  VP                  P                  4      pV PP                  PR                  p\        V\8        PT                  4      '       d*   V PV                  PY                  V P                  W+V4       R # W+8X  g   Q RP[                  W4      4       hV P4                  P]                  V P                  W#4      pV PV                  P_                  V P                  V4       R # \        V\        P`                  4      '       d   R # \        V\        Pb                  4      '       Ed   V PP                  Pd                  V,          pVf   Q h V P4                  Pg                  RV4      pV P+                  VP                  P                  4      p
V P+                  VP                  P                  4      pV P                  VP                  P                  4      pV P4                  P7                  V P                  VVVPh                  ^,          4      pV! V P                  WP$                  V34      # \        V\        Pp                  4      '       d   V Ps                  V4       R # \        V\        Pt                  4      '       dV   V PP                  Pd                  V,          pVf   Q hV Pm                  VP                  VP$                  VP                  V4      # \        V\        Pv                  4      '       dV   V PP                  Pd                  V,          pVf   Q hV Pm                  VPx                  VPz                  VP                  V4      # \        V\        P|                  4      '       Ed   V P+                  VP                  P                  4      p
V P+                  VP$                  P                  4      pV P                  VP                  P                  4      pV P                  VP$                  P                  4      pV PP                  Pd                  V,          pVf   Q h\~        P                  pV P4                  P                  P                  V4      pVP                  V P4                  P                  VPh                  / 4      pV P4                  Pg                  VV4      pVVPh                  ^ ,          8X  g   Q hV P4                  P7                  V P                  VVVPh                  ^,          4      pV! V P                  V
V34      # \        V\        P                  4      '       d   V P                  VP                  4       R # \        V\        P                  4      '       EdE   V P+                  VP                  P                  4      p
V P+                  VP                  P                  4      pV PP                  Pd                  V,          pV P                  VP                  P                  4      pV P                  VP                  P                  4      pVf   Q hVPh                  ^ ,          V8X  g   Q hV P4                  P                  VP                  V4      pV P4                  P7                  V P                  VVVPh                  ^,          4      pV! V P                  W34      # \        V\        P                  4      '       d   V P                  V4       R # \        V\        P                  4      '       d   V P                  V4       R # \        V\        P                  4      '       d   V P                  V4       R # \        V\        P                  4      '       d   V P                  V4       R # \k        \=        V4      4      h  \j         d6    T Pm                  TP                  TPn                  TP                  T4      u # i ; i)N)argidxzcond is not i1: %sz)type '{}' does not match return type '{}'static_setitem)Qr   mark_locationr]   r@   rg   r   r   strr@  r   r!  r   r"  r#  lower_assignr;  ArgrG   indexstorevarrD  r   condr:   rE  falsebrrB   castr
   booleantypellvmliteIntTypecbranchJumpr   Returnr1   r   return_from_generatorr&   restypeOptionalrT   return_optional_valuer   get_return_valuereturn_valuePopBlockStaticSetItem	calltypesr  ry   NotImplementedErrorlower_setitem	index_varPrintlower_printSetItemStoreMapdctkeyDelItemoperatordelitemtyping_contextresolve_value_typeget_call_typer:  delvarSetAttrget_setattrattrDynamicRaiselower_dynamic_raiseDynamicTryRaiselower_try_dynamic_raiseStaticRaiselower_static_raiseStaticTryRaiselower_static_try_raise)rL   r   tyvalrQ  rY  trflcondtypredr"  otyretvalr   r  r;  valuetyrW  targettyindextyr6  fnopcallsigs   &&                     rN   r   Lower.lower_inst  s   $$T\\488==A!T#dBII&&T[[--.B##B-CF $**bff--,,T\\4==;M;MN))A-MM#{{//M?bii((<<		/DT[[)BT\\*B[[0F<<$$T\\4OD99 3 3A 66 3%		136LL  2.bgg&&[[-FLL'bii(("""33D9,,tzz/C++djjoo.C$$B"enn--44T\\2CP9 M;BB3KM9\\224<<IFNN''f=bkk**b..//--d3I(((G||001A9M
 dkk&6&67TZZ__5++djjoo6))$,,w*3..*;=DLL6::u*EFFbhh''T"bjj))--d3I(((%%dkk4::tzz&/1 1 bkk**--d3I(((%%dhh$**iPPbjj))\\$++"2"23FLL1E{{4;;#3#34Hkk$**//2G--d3I(((!!B<<..AA"ED((++Y^^RG <<,,T7;Dy~~a0000LL%%dllE7&/nnQ&79E vuo66bff%%KK

#bjj))\\$++"2"23FLL1E--d3I{{4;;#3#34Hkk$**//2G(((>>!$000<<++DIIyAD LL%%dllE7&/nnQ&79E vo66boo..$$T*b0011((.bnn--##D)b//00''- &d4j11c ' A))$++t~~*.**iA AAs   l =mmc                b   V P                  VP                  4      pV P                  VP                  4      pV P                  VP                  4      pV P                  VP                  4      pV P                  VP                  4      p	V P                  VP                  4      p
\        P                  pV P
                  P                  P                  V4      pVP                  V P
                  P                  VP                  / 4      pV P
                  P                  W4      p\        V\        P                  4      '       d3   V P
                  P                  V P                  WXVP                   4      pM6\        P"                  pV! V4      V! VP                  ^ ,          4      8X  g   Q hV P
                  P                  V P                  WzVP                  ^,          4      pV P
                  P                  V P                  WiVP                  ^,          4      pV! V P                  WWV34      # )r   )r   r#  r   rv  setitemrB   rx  ry  rz  ry   r  r@  r
   re  r[  r]   r]  	unliteral)rL   
target_varrn  	value_varr   r"  r;  rW  r  r  r  r6  r  r  r  uls   &&&&&           rN   rm  Lower.lower_setitemS  s   joo.Y^^,Y^^,;;z/++inn-++inn-||**==bA$$LL''
 ||((7 h//\\&&t||V'/}}6F Bh<2innQ&7#8888!!$,,"+.."35!!$,,"+.."35 DLL6%"899rQ   c                (    V P                  V4       R # rS   )r  rL   r   s   &&rN   r  Lower.lower_try_dynamic_raiser  s     	##D)rQ   c                   VP                   p. p. pV F  p\        V\        P                  4      '       dI   V P	                  VP
                  4      pV P                  VP
                  4      pV P                  Wg4       MR pTpVP                  V4       VP                  V4       K  	  V P                  VP                  \        V4      \        V4      V P                  R7       R # Nr   )r   r@  r   Varr   r#  r   increfappendr   r   tupler@   )rL   r   r   ry   r   exc_argtypr  s   &&      rN   r  Lower.lower_dynamic_raisew  s    ==G'266**kk',,/ll7<<0C%OOC KK   	%%dnneDk&+Ho488 	& 	ErQ   c                    VP                   f    V P                  R V P                  R7       R # V P                  VP                   VP                  V P                  R7       R # r  )r   r   r@   r   r  s   &&rN   r  Lower.lower_static_raise  sD    >>!!!$DHH!5!!$..$--TXX!NrQ   c                    VP                   f    V P                  R V P                  R7       R # V P                  VP                   VP                  V P                  R7       R # r  )r   r   r@   r   r  s   &&rN   r  Lower.lower_static_try_raise  sD    >>!t2t~~t}}$((KrQ   c                V   VP                   p\        V\        P                  \        P                  \        P
                  34      '       dE   V P                  P                  V P                  VVP                   4      pV P                  W4       V# \        V\        P                  4      '       d   V P                  W4      # \        V\        P                  4      '       dq   V P                  VP                  4      pV P                  VP                  4      pV P                  P!                  V P                  WVV4      pV P                  W4       V# \        V\        P"                  4      '       EdN   \$        P&                  ! V P                  4      ;_uu_ 4        V P                  R VP                  ,           4      p\        V\(        P*                  4      '       d   VP                   pV P                  P,                  p	V	P/                  V4      p
V P                  P                  V P                  W4      pV P                  P!                  V P                  WV4      pMDV P0                  VP2                  ,          pV P                  P!                  V P                  WWV4      pV P                  W4       VuuRRR4       # \        V\        P4                  4      '       d%   V P7                  W4      pV P                  W4       V# \9        \;        V4      V4      h  + '       g   i     L%; i)zarg.N)r;  r@  r   ConstrA  FreeVarrB   get_constant_genericr]   r  Expr
lower_exprr  r   r#  r   r[  rV  r   r   r
   Omittedrx  !resolve_value_type_prefer_literalr   rW  Yieldlower_yieldrl  r]  )rL   r  r   r;  resr  r  argtypyvaltyctxvaltyconsts   &&&         rN   rU  Lower.lower_assign  s*   

ebhh		2::>??,,33DLL"49KKACKK Jrww''??2--rvv&&,,uzz*C++ejj)C,,##DLL#B?CKK Jrvv&& ++DLL99 FUZZ$78eU]]33!KKE LL77E!CCEJE LL==eE ,,++DLL%KC++ekk2C,,++DLL#bICB$% :9( rxx((""2-CKK J!$u+u553 :9s   DLL(	c                   V P                   P                  VP                  ,          pVP                  VJ g   Q h\        P
                  ! WVP                  4      pVP                  4        V P                  VP                  P                  4      pV P                  VP                  P                  4      pV P                  P                  pV P                  P                  V P                   WVV4      pV P                  P#                  V P                   Wx4      p	V P$                  P'                  V P                   V	4       VP)                  4        V P                  P+                  V P                   VR 4      # rS   )r1   yield_pointsrW  r   r   
LowerYield	live_varslower_yield_suspendr   r;  r#  r   r   
yield_typerB   r[  r]   rg  rT   rh  lower_yield_resumer  )
rL   rettyr   ypyr  r  actual_rettypyretr  s
   &&&       rN   r  Lower.lower_yield  s     --djj9ww$!!$BLL9	ll4::??+kk$**//*// ||  sG ..LL-

 	##DLL&9 	
||00udKKrQ   c                p  a aaa S P                   P                  P                  S4      oVP                  pVP                  pVP
                  pVP                  pS P                  VP                  4      pS P                  VP                  4      p	S P                  VP                  4      pS P                  VP                  4      pS P                  P                  V,          oS P                   P                  S P                  WHSP                  ^ ,          4      pS P                   P                  S P                  WYSP                  ^,          4      pVV V3R lp
VV V3R lpV! \        V4      \        V4      3Wg34      pVe	   V
! V4      # V! \        V4      V	3We34      pVe	   V
! V4      # V! V\        V4      3WG34      pVe	   V
! V4      # SP!                  S P                   P                  SP                  / 4      pS P                   P#                  SV4      pV! S P                  WE34      pV
! V4      # )r   c                 h   < SP                   P                  SP                  V SP                  S4      # rS   )rB   r[  r]   return_type)r  restyrL   r   s   &rN   cast_result&Lower.lower_binop.<locals>.cast_result  s/    <<$$T\\3%.%:%:EC CrQ   c                   < \         ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d   R#  \        S\        P                  4      '       d)   SP	                  SP
                  P                  V / 4      pM#\        P                  ! SP                  .V O5!  p  SP
                  P                  SV4      pV! SP                  V4      #   \         d     R# i ; i  \         d     R# i ; i)c              3   D   "   T F  q\         P                  J x  K  	  R # 5irS   )r   	UNDEFINED).0as   & rN   	<genexpr>=Lower.lower_binop.<locals>.try_static_impl.<locals>.<genexpr>  s     3d$ds    TFN)anyr@  r
   Functionrz  rB   rx  r   r   r  r   r  r]   rl  )tysry   
static_sigstatic_implr6  rL   r   s   &&  rN   try_static_impl*Lower.lower_binop.<locals>.try_static_impl  s    s3d3sss3d333b%..11!#!1!1$,,2M2M25r";J "(!1!1)2G2G!N#!NJ"ll77JG"4<<66	  
 ' s*   AC "C +.C, C)(C),C;:C;)rB   rx  ry  lhsrhs
static_lhs
static_rhsr   r#  r   r&   rk  r[  r]   ry   _lit_or_omittedrz  r  )rL   r  exprr6  r  r  r  r  ltyrtyr  r  r  r  r  r   s   ff&f           @rN   lower_binopLower.lower_binop  s    \\((;;B?hhhh__
__
kk#((#kk#((#ll388$ll388$ KK))$/	llc	q8IJllc	q8IJ	C
	" Z(/**EF$
 ?s##Z(#.
 ?s##/*-.
 ?s## t||::INNBO||((S14<<#,3rQ   c                   V P                  VP                  4      pV P                  VP                  4      p\        P                  pV P                  P
                  P                  V4      p	V	P                  V P                  P
                  VP                  / 4      p
V P                  P                  W4      pWg3pV P                  VP                  4      V P                  VP                  4      3p\        WVP                  4       UUUu. uF-  w  rpV P                  P                  V P                  WV4      NK/  	  ppppV! V P                  V4      pV P                  P                  V P                  VVP                  V4      # u upppi rS   )r   r#  rv  getitemrB   rx  ry  rz  ry   r  r   zipr[  r]   r  )rL   r  r  r;  rW  r   basevalindexvalr6  r  r  r  argvalsargtypsavatftcastvalsr  s   &&&&&&             rN   lower_getitemLower.lower_getitem*  sF   ,,uzz*<<

+||**==bA$$LL''
 ||((7%;;uzz*;;uzz*, '*'*3..':;':
 LL%%dllBB?': 	 ; 4<<*||  s!*!6!6!&( 	(	;s   3Fc                   \        V\        4      '       d   V P                  VP                  P                  4      VP
                  ,          pV P                  P                  V P                  VP                  P                  4      VP
                  4      pM6V P                  VP                  4      pV P                  VP                  4      pV P                  P                  V P                  WCV4      # )zP
Cast a Numba IR variable to the given Numba type, returning a
low-level value.
)r@  r    r   varargr#  rW  r]   extract_valuer   rB   r[  )rL   r,  r  vartyr  s   &&&  rN   	_cast_varLower._cast_var@  s    
 c;''KK

0;E,,,,T\\#**//-J-0YY8C KK)E,,sxx(C||  s2>>rQ   c                F  a a V'       dr   S P                  VP                  4      p\        V\        P                  4      '       g   Q hT\        \        V4      4       Uu. uF  p\        WG4      NK  	  up,           pSP                  pVfR   V'       d   \        RV: 24      h\        VSP                  4       U	U
u. uF  w  rS P                  W4      NK  	  pp	p
V# V V3R lpV V3R lpV V3R lp\        P                  ! VV\        V4      VVV4      pV# u upi u up
p	i )Nz+unsupported keyword arguments when calling c                 J   < SP                  VSP                  V ,          4      # rS   )r  ry   )rW  paramr,  rL   r   s   &&&rN   normal_handler,Lower.fold_call_args.<locals>.normal_handler`  s    ~~c9>>%+@AArQ   c                 t   < SP                   P                  SP                  SP                  V ,          V4      # rS   )rB   r  r]   ry   )rW  r  defaultrL   r   s   &&&rN   default_handler-Lower.fold_call_args.<locals>.default_handlerc  s0    ||88LL).."7B BrQ   c                    < SP                   V ,          p\        V\        P                  4      '       g   Q V4       h\	        W#4       UUu. uF  w  rESP                  WE4      NK  	  ppp\        P                  ! SP                  V4      # u uppi rS   )	ry   r@  r
   	BaseTupler  r  r   make_anonymous_structr]   )	rW  r  vars
stararg_tyr,  sigtyr9  rL   r   s	   &&&    rN   stararg_handler-Lower.fold_call_args.<locals>.stararg_handlerg  s|    &^^E2
!*eoo>>J
J>,/,AC,Ajc ..4,A  C44T\\6JJCs   
B
)r   r#  r@  r
   r  ranger  r    pysigrl  r  ry   r  r   fold_argumentsdict)rL   fntyr   pos_argsr  kw_args	tp_varargir  r,  r	  r  r  r  r
  s   f&f&&&         rN   fold_call_argsLower.fold_call_argsN  s    FKK0Ii9999,1#i.,A#C,Aq $/v#9,A#C CH =)?C+F G G *-Xy~~)FH)F:3 ~~c1)F  H, 'BBK ++E,4d7m,:,;,;	=G
 ?#CHs   D<Dc                $   V P                   P                  V,          pVP                  \        P                  8X  g   Q hV P
                  P                  P                  \        4      p\        VP                  4      p\        VP                  4      p\        \        V4      4       FX  pWaP                  9   g   K  VP                  V,          p\        V\        4      '       g   K@  \        P                   ! V4      WF&   KZ  	  \"        P$                  ! VP                  .VO5!  pVP'                  VP(                  R7      pV P+                  W2WQP,                  / 4      p	V P
                  P/                  \        V4      p
V
! V P0                  V	4       R# )z
Lower a ir.Print()
)r  N)r&   rk  r  r
   r   rB   rx  ry  r  listry   r  r  constsr@  rT  r   r   r   replacer  r  r  r  r]   )rL   r   r  r  pos_tysr  r  r  	fixed_sigr  r  s   &&         rN   rp  Lower.lower_printu  s    kk##D)%**,,,||**==eD sxx.		?s8}%AKKAeS))!&u!5GJ	 & $$S__?w?	%%CII%6	%%d;;K||((	:T\\7#rQ   c                |   V P                   P                  V,          pV P                  R P                  V4      4       \	        VP
                  \        P                  4      '       d   V P                  P                  4       # V P                  VP                  P                  4      p\	        V\        P                  4      '       d   V P                  WBV4      pM\	        V\        P                  4      '       d   V P!                  WBV4      pM\	        V\        P"                  4      '       d   V P%                  WBV4      pMx\	        V\        P&                  4      '       d   V P)                  WBV4      pME\	        V\        P*                  4      '       d   V P-                  WBV4      pMV P/                  WBV4      pVfR   VP
                  \        P0                  8X  d   V P                  P                  4       pM\3        RV P4                  R7      hV P                  P7                  V P8                  WSP
                  V4      # )z# lower_call: expr = {0}z2non-void function returns None from implementation)ro   r@   )r&   rk  r   r   r@  r  r
   PhantomrB   r   r   ri   r#  ObjModeDispatcher_lower_call_ObjModeDispatcherExternalFunction_lower_call_ExternalFunctionExternalFunctionPointer#_lower_call_ExternalFunctionPointerRecursiveCall_lower_call_RecursiveCallFunctionType_lower_call_FunctionType_lower_call_normalvoidr   r@   r[  r]   )rL   r  r  r   r  r  s   &&&   rN   
lower_callLower.lower_call  s   KK))$/	3::4@Ai++U]];;<<//11{{499>>*dE334444TKCe445533D	JCe;;<<::I'C e112200YGCe0011//IFC ))$i@C
 ;$$

2ll224#L 
 ||  s4I4I!&( 	(rQ   c                @   ^ RI Hp V P                  4        V P                  P	                  4       pVP
                   Uu. uF  qfP                  NK  	  ppV Uu. uF  q`P                  V4      NK  	  ppV Uu. uF  q`P                  V4      NK  	  p	p\        W4       F  w  rV P                  W4       K  	  \        W4       UUu. uF+  w  rV P                  P                  WV P                  4      NK-  	  pppV! V P                  4      P                  W4      pV P                  P                  W4      p\        P                   ! V P"                  V4      pV P"                  P%                  V4      ;_uu_ 4       w  ppT;_uu_ 4        V F  pV P                  P'                  V4       K   	  V P                  P)                  V4       V P*                  P-                  V P"                  4       RRR4       T;_uu_ 4        V P                  P/                  VP0                  P2                  V4      pVP4                  pV P                  P'                  V4       V F  pV P                  P'                  V4       K   	  \7        VP8                  4      '       d   VP9                  4        V P                  P)                  V4       V P"                  P;                  VP<                  4      ;_uu_ 4        V P*                  P-                  V P"                  4       RRR4       VuuRRR4       uuRRR4       # u upi u upi u upi u uppi   + '       g   i     ELc; i  + '       g   i     LO; i  + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)r   )ObjModeUtilsN)numba.core.pythonapir/  rc   r[   
gil_ensurery   r#  r   r   r  r  from_native_valuer_   load_dispatchercall_function_objargsr   is_nullr]   if_elsedecrefgil_releaserT   
return_excto_native_value
dispatcheroutput_typesr;  callablecleanupif_thenis_error)rL   r  r  r   r/  	gil_stater  rt   ru   	argvaluesvr  atypavalargobjscalleeret_objhas_exceptionthenorelseobjnativeoutputs   &&&&                   rN   r!  #Lower._lower_call_ObjModeDispatcher  s   5JJ))+	$(II.IqFFI.,45HqKKNH5.67h\\!_h	7-EAKK . &)%=?%=zt :://040@0@B%= 	 ?
 djj)99$I**226Cg>]]""=11^dF "CJJ%%c* # 

&&y1 ))$,,7  33OO00   

!!'*"CJJ%%c* # FNN++NN$ 

&&y1 \\))&//::NN--dll; ; 1  21! /57
? B ;:+  2111sm   L2L78L<1M:NA%M	-N?C/M.	.&M	M.	
NM	NM+&M.	.M>9NN	c                   V P                  R 4       V P                  WVP                  VP                  VP                  4      p\
        P                  ! VP                  VP                  P                  VP                  P                  4      pV P                  P                  V P                  P                  V4      pV P                  P                  V P                  WeP                  V4      # )z# external function)r   r  ry   r  kwsr   ExternalFunctionDescriptorsymbolr  r  rB   declare_external_functionr]   r'   call_external_functionru   )rL   r  r  r   r  r&   ri   s   &&&&   rN   r#  "Lower._lower_call_ExternalFunction  s    ./%%TYYTXX
 44KK--txx}}>||55LL)||22LL$
 	
rQ   c                
   V P                  R 4       V P                  WVP                  VP                  VP                  4      pV P                  VP                  P                  4      pVP                  '       EdW   V P                  4        V P                  P                  4       p. p. p\        VP                  P                  VP                  V4       F  w  rpV	\        P                  8X  d\   V P!                  W4       V P                  P#                  WV P$                  4      pVP'                  V4       VP'                  V4       Kv  VP'                  V4       K  	  V P(                  P+                  V P,                  WWVP.                  4      pV F  pV P                  P1                  V4       K   	  V P                  P3                  V4       V# V P(                  P+                  V P,                  WTVP.                  4      pV# )z## calling external function pointer)r   r  ry   r  rQ  r   ri   r#  requires_gilrc   r[   r1  r  r  r
   ffi_forced_objectr  r2  r_   r  rB   call_function_pointerr]   cconvr7  r8  )rL   r  r  r   r  pointerrA  
newargvalspyvalsexptypgottyprE  rL  r  s   &&&&          rN   r%  )Lower._lower_call_ExternalFunctionPointer
  s   >?%%TYYTXX
 ,,tyy~~.OO

--/IJF(+DHHMM9>>,3)5$ U444KK-**66d&6&6C %%c*MM#&%%d+)5 ,,44g4::C 

!!#&  JJ""9- 
 ,,44g

C 
rQ   c                   V P                  WVP                  VP                  VP                  4      pVP	                  VP                  4      pV P
                  P                  ;'       g    \        pV P                  P                  pV! VP                  VP                  WuP                  R 7      pV P                  P                  P                  P                  V4      '       d4   V P
                  P!                  V P                  V P                  W44      p	V	# V P
                  P#                  V P                  WV4      p	V	# ))abi_tagsuid)r  ry   r  rQ  get_overloadsrB   manglerr   r&   rc  rs   rd  r]   rr   r#  
startswithcall_internalcall_unresolved)
rL   r  r  r   r  rec_ovrf  rc  mangled_namer  s
   &&&&      rN   r'  Lower._lower_call_RecursiveCall7  s    %%TYYTXX
 ##INN3,,&&99/;;''v	(0jjB <<  %%00>>,,,,dkk9C 
 ,,..lwC 
rQ   c                   V P                  R 4       \        P                  ! V4      pVP                  V4      '       g&   \	        RV R\        P
                  ! V4       24      hV P                  WVP                  VP                  VP                  4      pV P                  VP                  VP                  P                  WE4      # )z## calling first-class function typez%mismatch of function types: expected z	 but got )r   r
   r  check_signaturer   r(  r  ry   r  rQ  )_Lower__call_first_class_function_pointerftyperi   r#  )rL   r  r  r   r  r  s   &&&&  rN   r)  Lower._lower_call_FunctionTypeL  s    >?ooi(##I.."!F)E,>,>s,C+DFG G %%tyy$++txx
 77JJ		
 	
rQ   c                   V P                   pV P                  pV P                  V4      p\        P                  ! V P                  V4      4      ! WVVR7      pVP                  p	RV 2V	n        Tp
\        P                  ! VV
P                  VP                  4      4      pVP                  \        P                  ! Wi4      RR7      pT;_uu_ 4       w  rV;_uu_ 4        V P                  WV4      pVP                  W4      pVP                  VV4       RRR4       T;_uu_ 4        V
P                   P#                  VP                  VP$                  4      P'                  4       pVP)                  V	V4      pV
P                   P+                  WoVP                  VP$                  V4      w  pp\        P,                  ! VVP.                  4      ;_uu_ 4        VP                   P1                  VV4       RRR4       VP                  VV4       RRR4       RRR4       VP3                  V4      #   + '       g   i     EL"; i  + '       g   i     LW; i  + '       g   i     LP; i  + '       g   i     L[; i)as  
Calls a first-class function pointer.

This function is responsible for calling a first-class function pointer,
which can either be a JIT-compiled function or a Python function. It
determines if a JIT address is available, and if so, calls the function
using the JIT address. Otherwise, it calls the function using a function
pointer obtained from the `__get_first_class_function_pointer` method.

Args:
    ftype: The type of the function.
    fname: The name of the function.
    sig: The signature of the function.
    argvals: The argument values to pass to the function.

Returns:
    The result of calling the function.
r;  jit_addr_of_FlikelyN)rB   r]   r   r   create_struct_proxyr   jit_addrr#  alloca_onceget_value_typer  r6  r5  (_Lower__get_first_class_function_pointerr5  storerT   get_function_typery   
as_pointerbitcastcall_functionif_unlikelyr@  return_status_propagateload)rL   rp  fnamer  r  rB   r]   fstructstructrx  ctxres_slotif_jit_addr_is_nullrJ  rK  func_ptrr  lltystatuss   &&&&&              rN   #__call_first_class_function_pointer)Lower.__call_first_class_function_pointer[  s   & ,,,,,,u%,,T[[-?@G
 ??&ug.&&w'*'9'9#//'JL &ooOOG. . 
 ! NTBB#'ll85c8,	  }}66OOHH *,  #??8T:!mm99s' ((&//BB%%==gvN Cc8,  !( ||H%%'   CB  ! sU   I&6H,	I&%B/I	I 1I	I&,H=7	I& II	I#I&&I6	c                   ^ RI Hp V P                  P                  V4      pV P	                  V4      pV P
                  P                  V^ RV,          R7      p\        P                  ! V P
                  VRV,          R7      pV P
                  P                  \        P                  ! V P
                  V4      RR7      ;_uu_ 4       w  rT	;_uu_ 4        V P                  4        V P                  P                  4       pV P
                  P                  V^RV,          R7      pV! V P                  V P
                  WRR	7      pV P
                  P                  \        P                  ! V P
                  V4      RR7      ;_uu_ 4        V P                  \         V R
23V P"                  R7       RRR4       V P                  P%                  V4      pV P
                  P'                  V P
                  P)                  W4      V4       V P                  P+                  V4       V P                  P-                  V4       RRR4       V
;_uu_ 4        V P
                  P'                  V P
                  P)                  Wu4      V4       RRR4       RRR4       V P
                  P/                  V4      #   + '       g   i     EL
; i  + '       g   i     L; i  + '       g   i     LZ; i  + '       g   i     Le; i)r   )lower_get_wrapper_addressz
addr_of_%s)r#  z
fptr_of_%sFru  zpyaddr_of_%signore)failure_modez function address is null)r   r@   N) numba.experimental.function_typer  rB   rz  r   r]   r  r   ry  r6  r5  rc   r[   r1  r?  r   RuntimeErrorr@   long_as_voidptrr|  r  r7  r8  r  )rL   rp  r  r  r  r  r  addrfptrrJ  rK  rA  pyaddraddr1addr2s   &&&&           rN   "__get_first_class_function_pointer(Lower.__get_first_class_function_pointer  sK   N||**51,,u%||))'1/;u/E * G ""4<<(4(>@\\!!d3 "  !/$! JJ113	33Q'51 4 3 2LL$,,!)+ \\))e<U * L L))$%*G+D"E!G HH * &L 

2259""4<<#7#7#DdK

!!%(

&&y1- . ""4<<#7#7#CTJ 58 ||  &&L L L . 5 sV   K)B4K	'J/.BK	<K)6K	K)/K :	K	KK)K&!K))K9	c                   V P                  R P                  V4      4       V P                  RP                  V4      4       \        V\        P                  4      '       d   VP
                  P                  pM2V P                  WVP                  VP                  VP                  4      pVP                  pVe7   ^ RIHp V! V4      pVP                  P                  pVP                  W4      p	MV P                   P                  W4      p	VP"                  '       d9   V P%                  VP
                  P&                  4      p
V
.\)        V4      ,           pV	! V P*                  W@P,                  4      pV# )z# calling normal function: {0}z# signature: {0})resolve_dispatcher_from_str)r   r   r@  r
   r   ri   ry   r  r  rQ  r"  numba.core.target_extensionr  targetdescrtarget_contextr  rB   recvrr   r#  r  r]   r@   )rL   r  r  r   r  tnamer  disphw_ctxr  the_selfr  s   &&&&        rN   r*  Lower._lower_call_normal  s   9@@FG+229=>dE3344iinnG))DKKG O.u5D%%44F&&t7D<<,,T=D??? ||DIINN3Hj4=0G4<<((3
rQ   c                8%   VP                   R 8X  d   V P                  WVP                  4      # VP                   R8X  dp   V P                  VP                  P
                  4      pVP                  '       d   V P                  WVP                  4      # V P                  WVP                  4      # VP                   R8X  Ed2   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      pV P                  P                  P                  VP                  4      pV P                  P                  V,          pV P                  P                  Wg4      pV P                  P!                  V P"                  WEVP$                  ^ ,          4      pV! V P"                  V.4      p	V P                  P!                  V P"                  V	VP&                  V4      p	V	# VP                   R8X  d   V P)                  W4      p	V	# VP                   R8X  d   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      p
V P                  P+                  V P"                  WJ4      p	V P-                  W4       V	# VP                   R8X  d   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      p
V P                  P/                  V P"                  WJ4      p	V P-                  W4       V	# VP                   R9   Ed
   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      p
V P                  P                  V,          pV P                  P                  VP                   V4      pVP$                  w  pV P                  P!                  V P"                  WJV4      pV! V P"                  V34      p	V P                  P!                  V P"                  WP&                  V4      p	V	# VP                   R8X  Edy   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      p
\1        V
\2        P4                  4      '       d>   V P                  P!                  V P"                  WJV
P6                  4      pV
P6                  p
\1        V
\2        P8                  4      '       d   W8X  g   Q hV P-                  W4       V# V
P:                  P<                  pV P                  P?                  V4      p\2        P@                  ! V\2        PB                  4      p\D        PF                  ! V
P:                  V
4      pV P                  P                  RV4      p\D        PF                  ! WP:                  4      pV P                  P                  RV4      pV! V P"                  V34      p\I        VPJ                  4       F  pV! V P"                  V34      pV P                  P/                  V P"                  VV4      p\L        PN                  ! V P"                  V P"                  PQ                  V4      4      ;_uu_ 4        V PS                  \T        V PV                  R	7       R
R
R
4       V P                  P+                  V P"                  VV4      pV P"                  PY                  VVV4      pK  	  V! V P"                  V34      pV P                  P/                  V P"                  VV4      p\L        PN                  ! V P"                  V4      ;_uu_ 4        V PS                  \T        V PV                  R	7       R
R
R
4       V P[                  V
P:                  V4       V# VP                   R8X  Ed   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      p
\1        V\2        P\                  4      '       dv   V P                  P!                  V P"                  WJVP^                  4      pV P                  Pa                  V P"                  VVP^                  4      p	V P-                  W4       V	# V P                  Pc                  WPd                  4      pV P                  P                  Pg                  V
VPd                  4      pVf   V P                  Pi                  4       # V! V P                  V P"                  WVPd                  4      p	V P                  P!                  V P"                  V	VV4      p	V	# VP                   R8X  d   \D        PF                  ! VV P                  VP                  P
                  4      \k        VPl                  4      4      p V P                  P                  RV4      pV! V P"                  V P                  VP                  P
                  4      VPl                  34      # VP                   R8X  d   \D        PF                  ! VV P                  VP                  P
                  4      V P                  VPl                  P
                  4      4      pV P                  P                  RV4      pV! V P"                  V P                  VP                  P
                  4      V P                  VPl                  P
                  4      34      # VP                   R8X  dF   V P                  P                  V,          pV Ps                  WVP                  VPl                  V4      # VP                   R8X  d   VPt                   Uu. uF  pV P                  VP
                  4      NK   	  ppVPt                   Uu. uF  pV P                  VP
                  4      NK   	  pp\w        VVV4       UUUu. uF/  w  pppV P                  P!                  V P"                  VVV4      NK1  	  ppppV P                  Py                  V P"                  VV4      pV P-                  W4       V# VP                   R8X  Ed   VPt                   Uu. uF  pV P                  VP
                  4      NK   	  ppVPt                   Uu. uF  pV P                  VP
                  4      NK   	  pp\1        V\2        Pz                  4      '       d   \w        VVP2                  V4       UUUu. uF/  w  pppV P                  P!                  V P"                  VVV4      NK1  	  ppppV P                  Py                  V P"                  \2        P|                  ! VP2                  4      V4      pV P-                  W4       V# \w        VV4       UUu. uF8  w  ppV P                  P!                  V P"                  VVVP~                  4      NK:  	  pppV P                  P                  V P"                  VV4      # VP                   R8X  d   VPt                  R
R
R1,          p V  Uu. uF  pV P                  VP
                  4      NK   	  ppV  Uu. uF  pV P                  VP
                  4      NK   	  pp\w        VV4       UUu. uF8  w  ppV P                  P!                  V P"                  VVVP~                  4      NK:  	  pppV P                  P                  V P"                  VV4      # VP                   R8X  Ed   VPt                  p . . p"p!. . p$p#V  F  w  p%p&V P                  V%P
                  4      p'V P                  V%P
                  4      p(V P                  V&P
                  4      pV P                  V&P
                  4      p)V!P                  V'4       V"P                  V4       V#P                  V(4       V$P                  V)4       K  	  V P                  P                  V P"                  V\        \w        V#V$4      4      \        \w        V!V"4      4      4      # VP                   R8X  d   V P                  VP                  P
                  4      pV P                  VP                  P
                  4      p
V P                  P!                  V P"                  WJV4      pV P-                  W4       V# VP                   R8X  d   \        R4      hVP                   R8X  d   V P                  P                  V4      # VP                   R8X  d   V P                  P                  V4      # VP                   V P                  P                  9   d0   V P                  P                  VP                   ,          ! W4      p	V	# \o        V4      h  + '       g   i     E
L; i  + '       g   i     E
L8; i  \n         dX    TPp                  f   h T P                  P                  T,          pT Ps                  YTP                  TPp                  T4      u # i ; iu upi u upi u upppi u upi u upi u upppi u uppi u upi u upi u uppi )binopinplace_binopunaryr5  
pair_firstpair_secondgetiteriternextexhaust_iterr   Ngetattrstatic_getitemtyped_getitemr  build_tuple
build_list	build_set	build_mapr[  phizPHI not strippednullundef)r  r  r+   )Hr6  r  rl   r   r  r#  mutableimmutable_fnr   r;  rB   rx  ry  r&   rk  r  r[  r]   ry   r  r,  r  r  r  r@  r
   re  r]  r  iterator_typer  get_constant_undefPairr\  r   r   r  countr   r  not_r   
ValueErrorr@   insert_valuer7  BoundFunctionthisget_bound_functionget_getattrr~  resolve_getattrr   r  rW  rl  rn  r  r/   r  
make_tupleLiteralListTupledtyper  r  r  r  r  r   get_constant_nullspecial_ops)*rL   r  r  r  r  r  func_tyr   r  r  r  ftycastvalitemtytuppairtygetiter_siggetiter_impliternext_sigiternext_impliterobjr  pairis_validitemcastedattrtyitemvalsitemtystotyfromtyr  r/   r>   r9  	key_typesvalue_typeskrC  rt  keytypevaltypes*   &&&                                       rN   r  Lower.lower_expr  s   77g##E99WW'++dhhmm,C{{{''TWW== ''T5F5FGGWW,,tzz/C++djjoo.Cll11DDTWWMG--d3I<<,,W@D,,##DLL#INN1<MNCt||cU+C,,##DLL#$-$9$95BCJWW//%.CJWW$,,tzz/CTZZ__-B,,))$,,@CKK#JWW%,,tzz/CTZZ__-B,,**4<<ACKK#JWW//,,tzz/CTZZ__-B--d3I<<,,TWWi@DNNESll''csCGt||gZ0C,,##DLL#7L7L$)+CJWW&,,tzz/CTZZ__-B"enn--ll''crwwGWW "eoo..{"{B$
%%00F,,11%8CZZ6F **2+;+;R@K<<44Y5@BL!++F4D4DEL LL55j6BDM"4<<#8G4::&$T\\G:><<33DLL48&B(()-):):8)DF F))*$(()CF ||..t||/3V=ll//T1= ' !z:D||//04f>H$$T\\8<<%%jdhh%? = KK(('2JWW	!,,tzz/CTZZ__-B%!4!455 **4<<%**Mll55dllF6;jjBE'
||//II>44DDREIYYP <<<7799t||T\\2DIINC ll''c65I
WW((((DJJOO,

+I
E ||001A9MDLL!\\$**//:DJJGI I WW'((DJJOO,DJJOO,I
 <<,,_iHDt||DJJOO'DTZZ__5'7 8 8WW	!--d3I%%e4::tzz&/1 1 WW%6:jjAjQVV,jHA48JJ?Jqt{{166*JG?14Xug1NP1N-Cv ))$,,VTJ1N  P,,))$,,xHCKK#JWW$6:jjAjQVV,jHA48JJ?Jqt{{166*JG?%!2!233585;;9@6BC6B 1T6 !LL--dllCN6B  C ll--dll.3kk%++.F.68 E'
 038W/EG/EV !LL--dllC.3kk;/E  G ||..t||UHMMWW#JJtt$E6;<eQVV,eH<49:Eqt{{166*EG: ,/x+AC+AKC ))$,,V*/++7+A  C <<))$,,xHHWW#JJEr&D%'{I1ll166*++aff-ll166*++aff-C c"  )""7+  <<))$,,*.s9k/J*K*.s4/@*AC C WW,,tzz/CTZZ__-Bll''cuEGKK'NWW 233WW<<11%88WW <<11%88WW000,,**4773D?CJ!$''wF F F =<<Z ' E>>) !KK11$7	))%tzz*...)E EE. B?P B?CG =:Cs}   "AG"AG+9AAG? 2$AI$&$AI)5AI.0$AI5$$AI:5AI?%>AJ8$AJ"$AJ>AJGAG(G+AG<	G?AAI!I AI!c                    WP                   9   d   R# WP                  9  g   V P                  '       d"   V P                  W4      pW0P                   V&   R# R# )zD
Ensure the given variable has an allocated stack slot (if needed).
N)r<   r$  r  alloca)rL   r#  rI  ptrs   &&& rN   r<  Lower._alloca_var  sJ     ;; 333+++++d+C #KK	 ,rQ   c                    V P                   '       g%   WP                  9  g   Q hWP                  9  g   Q hWP                  9  d!   V P	                  WP                  V4      4       V P                  V,          # )z-
Get a pointer to the given variable's slot.
)r  r%  r$  r<   r<  r   )rL   r#  s   &&rN   getvarLower.getvar  sf     ***5555599999{{" T;;t#45{{4  rQ   c                   WP                   9   d&   V P                  '       g   V P                   V,          # V P                  V4      pWP                  P                  9   dO   \
        P                  ! V P                  4      ;_uu_ 4        V P                  P                  V4      uuRRR4       # V P                  P                  V4      #   + '       g   i     R# ; i)z"
Load the given variable's value.
N)	r%  r  r  r0   	arg_namesr   r   r]   r  )rL   r#  r  s   && rN   r   Lower.loadvar  s     )))$2M2M2M))$//kk$ <<)))++DLL99||((- :9 <<$$S)) :99s   	C

C	c                   V P                  V4      pV P                  W$4       W P                  9   d#   V P                  '       g   WP                  V&   R# Vf#   V P                  V4      pV P                  WE4       V P                  V4      pVP                  VP                  P                  8w  d!   RP                  VVVVR7      p\        V4      hVe   \        P                  ! V P                  4      ;_uu_ 4        V P                  P                  W4       RRR4       V P                   pV P"                  P%                  V4      p	V P"                  P'                  V	4      p
V P"                  P(                  V,          pV P                  P+                  V P                  WbWVP,                  VVR7       R# V P                  P                  W4       R#   + '       g   i     L; i)z*
Store the value into the given variable.
NzNStoring {value.type} to ptr of {ptr.type.pointee} ('{name}'). FE type {fetype})r;  r  rI  r#  )r#  lltypesizerg   	datamodelrQ  )r   r<  r$  r  r%  r   r7  r  r]  pointeer   AssertionErrorr   r   r]   r|  rG   rB   rz  get_abi_sizeofdata_model_managermark_variablerg   )rL   r;  r#  rQ  rI  oldr  ro   r@   r  sizeofr  s   &&&&        rN   rX  Lower.storevar  s    T"& ...///+0""4(~ ll4(F( ++d#CzzSXX---67=vEBEEKCG 8> 8I 
 %S))
 !//==LL&&u2 >mm44V<44V< LL;;FC	,,T\\34:25((i4: - <
 ""5. >=s   =GG$	c                ^   V P                  V4      pWP                  9  d>   V P                  '       g,   WP                  9   d   V P                  P	                  V4       V P                  W4       WP                  9   d9   V P                  '       g'   V P                  V,          pV P                  W#4       R# V P                  V4      pV P                  W P                  P                  V4      4       V P                  P                  \        VP                  P                  R4      V4       R# )z
Delete the given variable.
N)r   r%  r  r$  discardr<  r7  r  r]   r  r|  r   r]  r  )rL   r#  rI  llvalr  s   &&   rN   r{  Lower.delvar*  s     T" ...///111**2248 	&)))$2M2M2M**40EKK&++d#CKK 1 1# 67LLx(8(8$?ErQ   c                    V P                   P                  V4      pV P                   P                  V,          pV P                  WVR 7      # ))r  )rB   rz  r  alloca_lltype)rL   r#  r]  r  r  s   &&&  rN   r  Lower.allocaC  s@    ,,T2LL33D9	!!$)!DDrQ   c           
     p   VP                  R 4      '       * p\        P                  ! V P                  VVRR7      pV'       dt   WP                  P
                  9  dZ   V P                  P                  V4      pV P                  P                  V P                  WQW&V P                  P                  VR7       V# )$F)r#  zfill)r#  r  r  rg   r  )rg  r   ry  r]   r0   r  rB   r  r   r  r@   rg   )rL   r#  r  r  
is_uservaraptrr  s   &&&&   rN   r  Lower.alloca_lltypeH  s    --
""4<<(,E;  <<11144V<,,T\\44:26((--7@ - C rQ   c                    V P                   P                  '       g   R # V P                   P                  P                  V P                  W4       R # rS   )rB   r   nrtr  r]   rL   r  r  s   &&&rN   r  Lower.incref\  s3    ||&&&c7rQ   c                ,   V P                   P                  '       g   R # \        P                  ! V P                  4      ;_uu_ 4        V P                   P
                  P                  V P                  W4       R R R 4       R #   + '       g   i     R # ; irS   )rB   r   r   r   r]   r  r7  r  s   &&&rN   r7  Lower.decrefb  sY    ||&&&
 ''55LL##DLL#; 6555s   1BB	)r%  r8  r$  rS   )/r  r	  r
  r  r   r   rK   r  r  r  r   r   r   rm  r  r  r  r  rU  r  r  r  r  r  rp  r,  r!  r#  r%  r'  r)  ro  r{  r*  r  r<  r  r   rX  r{  r  r  r  r7  r  r  __classcell__)r  r   s   @@rN   r  r  `  s     ..N.
 K K%$N$LJ2X:>*
E&OL06dL4D L(,?%N$:((T>@
+Z*
9&v&'P8p(d$ !*$,/\F2E
(8< <rQ   r  c                ~     \         P                  ! V 4      #   \         d    \         P                  ! T 4      u # i ; i)zbReturns a Literal instance if the type of value is supported;
otherwise, return `Omitted(value)`.
)r
   r   r   r  rs  s   &rN   r  r  m  s4    $}}U## $}}U##$s    !<<)r  rW  )/collectionsr   r   rv  rj   	functoolsr   llvmlite.irr^  r   r   
numba.corer   r	   r
   r   r   r   r   r   r   r   r   r   numba.core.errorsr   r   r   r   r   r   numba.core.funcdescr   numba.core.environmentr   numba.core.analysisr   r   numba.misc.firstlinefinderr   numba.misc.coverage_supportr   r    objectr"   r  r  rX   rQ   rN   <module>r     sx    /     +& & & &6 6 0 . A A A (;<D! D!N
J<I J<Z($rQ   