+
    ‹°³jh ã                  óÐ  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
HtHt ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^ R	IHt ^R
I H!t" ^RI H#t$ ^RI%H&t& ]! R4      t'] ! R R4      4       t( ! R R4      t)]! RR7       ! R R4      4       t*R t+R t,R t-R t.R t/R t0R t1R t2R t3R t4R  t5]Pl                  ! ]/]Pn                  .R!7      t8]Pl                  ! ]/]Pr                  .R!7      t:]Pl                  ! ]0]Pv                  .R!7      t< ! R" R#4      t= ! R$ R%4      t>]?! 4       t@]>! 4       tA]! ]A4      tBR&]CR'&    ! R( R)4      tDR* R+ ltER, R- ltFR. R/ ltG ! R0 R14      tH ! R2 R3]H4      tI ! R4 R5]H4      tJR6 R7 ltKR8 R9 ltLR: tMR; tNR< tOR= tP ! R> R?4      tQ ! R@ RA]P¤                  4      tS ! RB RC4      tT ! RD RE]]',          4      tUR# )Fé    )ÚannotationsN)ÚTupleÚListÚDictÚCallableÚTypeVarÚOptional)Ú	dataclass)ÚTritonSemantic)ÚKernelInterface)ÚTensorDescriptor)ÚInterpreterError)Úpartial)Úinterpreter)Úir)Ú_tuple_createÚTc                  ó~   € ] tR t^t$ RtR]R&   R]R&   ]P                  ! ]R7      t	R]R&   R	 t
R
 tR tR tR tRtR# )ÚTensorHandlezÐ
data: numpy array
dtype: triton type, either pointer_type or scalar_type.
we don't store block_type here because the shape information is already available in the data field
attr: a dictionary of attributes
z
np.ndarrayÚdataztl.dtypeÚdtype)Údefault_factoryr   Úattrc                	óì   € \        V P                  V P                  4      '       gN   \        R V P                  P                  ^,           RV P                  P
                   RV P                   24      hR# )znumpy data itemsize (z) bits) exceeds dtype primitive_bitwidth (z bits) for triton type N)Ú_validate_np_data_sizer   r   Ú
ValueErrorÚitemsizeÚprimitive_bitwidth©Úselfs   &Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/triton/runtime/interpreter.pyÚ__post_init__ÚTensorHandle.__post_init__'   sm   € Ü% d§i¡i°·±×<Ò<ÜÐ4°T·Y±Y×5GÑ5GÈ!Õ5KÐ4Lð M!Ø!%§¡×!>Ñ!>Ð ?Ð?VÐW[×WaÑWaÐVbðdó eð eñ =ó    c                	óH   € \        V P                  P                  4       4      # ©N)Úboolr   Úallr   s   &r!   Ú__bool__ÚTensorHandle.__bool__,   s   € Ü�D—I‘I—M‘M“OÓ$Ð$r$   c                	ó^   € V P                   p\        VR 4      '       d   VP                  pK   V# )Ú
element_ty)r   Úhasattrr,   )r    r   s   & r!   Úget_element_tyÚTensorHandle.get_element_ty/   s(   € Ø—
‘
ˆÜ�e˜\×*Ò*Ø×$Ñ$ŠEØˆr$   c                	ó^   € \        V P                  P                  4       V P                  4      # r&   )r   r   Úcopyr   r   s   &r!   ÚcloneÚTensorHandle.clone5   s   € Ü˜DŸI™IŸN™NÓ,¨d¯j©jÓ9Ð9r$   c                	ó"   € W P                   V&   R # r&   )r   )r    ÚkeyÚvalues   &&&r!   Úset_attrÚTensorHandle.set_attr8   s   € Ø�	‰	�#‹r$   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__ÚdataclassesÚfieldÚdictr   r"   r)   r.   r2   r7   Ú__static_attributes__r9   r$   r!   r   r      sC   ‡ ñð ÓØƒOØ×"Ò"°4Ô8€Dˆ$Ó8òeò
%òò:ör$   r   c                  ó4   € ] tR t^<tR R ltR tR R ltRtR# )ÚTensorDescHandlec               ó(   € V ^8„  d   QhRRRRRRRR/# )é   Úbaser   ÚshapeúList[TensorHandle]ÚstridesÚblock_shapeú	List[int]r9   )Úformats   "r!   Ú__annotate__ÚTensorDescHandle.__annotate__>   s+   € ÷ ñ ˜\ð Ð2Dð ÐOað Ø'ñr$   c                	ób   € Wn         \        V4      V n        W n        W0n        W@n        WPn        R # r&   )rH   ÚlenÚndimrI   rK   rL   Úpadding)r    rH   rI   rK   rL   rT   s   &&&&&&r!   Ú__init__ÚTensorDescHandle.__init__>   s'   € àŒ	Ü˜“JˆŒ	ØŒ
ØŒØ&ÔØŽr$   c                	ó¨  € V P                   P                  P                  4       ^,          ^ 8X  g   Q R4       h\        V P                  4      V P
                  8X  g   Q h\        V P                  4      V P
                  8X  g   Q hV P
                  ^8¼  g   Q R4       hV P                   P                  P                  pVP                  ^,          pV P                  RR  F9  pVP                  P                  4       V,          pV^,          ^ 8X  d   K4  Q R4       h	  V P                  R,          P                  P                  4       ^8X  g   Q R4       hR# )é   zbase must be 16-byte alignedz"descriptor cannot be 0 dimensionalNzstride must be 16-byte alignedzlast dim must be contiguouséÿÿÿÿ)
rH   r   ÚitemrR   rK   rS   rL   r   r,   r   )r    Ú	scalar_tyr   ÚstrideÚbyte_strides   &    r!   ÚvalidateÚTensorDescHandle.validateG   s  € Ø�y‰y�~‰~×"Ñ"Ó$ rÕ)¨QÔ.ÐNÐ0NÓNÐ.Ü�4—<‘<Ó  D§I¡IÔ-Ð-Ð-Ü�4×#Ñ#Ó$¨¯	©	Ô1Ð1Ð1Ø�y‰y˜AŒ~ÐCÐCÓCˆ~à—I‘I—O‘O×.Ñ.ˆ	Ø×/Ñ/°1Õ4ˆØ—l‘l 3 BÓ'ˆFØ Ÿ+™+×*Ñ*Ó,¨xÕ7ˆKØ Õ# qÖ(ÐJÐ*JÓJÐ(ñ (ð �|‰|˜BÕ×$Ñ$×)Ñ)Ó+¨qÔ0ÐOÐ2OÓOÒ0r$   c               ó   € V ^8„  d   QhRR/# )rG   ÚoffsetsrJ   r9   )rN   s   "r!   rO   rP   T   s   € ÷ "ñ "Ð,>ñ "r$   c                	ó’  € \        V4      V P                  8X  g   Q hV P                  P                  P                  pVP
                  ^,          pVR,          P                  V,          ^,          ^ 8X  g   Q R4       h\        P                  ! V P                  P                  V P                  4      p\        P                  ! V P                  \        R7      p\        \        V P                  4      4       EF  p^.\        V P                  4      ,          pV P                  V,          Wv&   W,          P                  \        P                  ! V P                  V,          4      ,           P                  V4      pWCV,          V P                  V,          P                  ,          P!                  \        P"                  4      ,           pV^ V8*  ,          W€P$                  V,          P                  8  ,          pEK  	  VP                  \        P"                  8X  g   Q h\'        W@P                  P                  P(                  4      p	W•3# )é   z*block offset start must be 16-byte aligned©r   rY   )rR   rS   rH   r   r,   r   r   ÚnpÚbroadcast_torL   Úonesr'   ÚrangeÚarangeÚreshaperK   ÚastypeÚuint64rI   r   Úscalar)
r    ra   r[   r   Ú	ptrs_dataÚmasksÚdimÚ
bcast_dimsÚoffÚptrs_handles
   &&        r!   Úmaterialize_pointersÚ%TensorDescHandle.materialize_pointersT   s›  € Ü�7‹|˜tŸy™yÔ(Ð(Ð(Ø—I‘I—O‘O×.Ñ.ˆ	Ø×/Ñ/°1Õ4ˆØ˜•× Ñ  8Õ+¨rÕ1°QÔ6ÐdÐ8dÓdÐ6ä—O’O D§I¡I§N¡N°D×4DÑ4DÓEˆ	Ü—’˜×(Ñ(´Ô5ˆÜœ˜T×-Ñ-Ó.×/ˆCØ˜œs 4×#3Ñ#3Ó4Õ4ˆJØ"×.Ñ.¨sÕ3ˆJ‰OØ•<×$Ñ$¤r§y¢y°×1AÑ1AÀ#Õ1FÓ'GÕG×PÑPÐQ[Ó\ˆCØ!°¥^°d·l±lÀ3Õ6G×6LÑ6LÕ%L×$TÑ$TÔUW×U^ÑU^Ó$_Õ_ˆIØ˜Q #™XÕ&¨#·
±
¸3µ×0DÑ0DÑ*DÕE‹Eñ 0ð �‰¤"§)¡)Ô+Ð+Ð+Ü" 9¯i©i¯o©o×.DÑ.DÓEˆØÐ!Ð!r$   )rH   rL   rS   rT   rI   rK   N)r:   r;   r<   r=   rU   r^   rt   rC   r9   r$   r!   rE   rE   <   s   † õòP÷"ñ "r$   rE   T)Úfrozenc                  ó¤   € ] tR t^gt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   Rt
R]R&   RtR]R&   RtR]R&   ^ tR]R&   RtR]R&   RtR# )ÚInterpreterOptionsNzOptional[dict]Úextern_libsFr'   ÚdebugTÚsanitize_overflowzOptional[str]ÚarchzTuple[str, ...]Úsupported_fp8_dtypesÚ!deprecated_fp8_dot_operand_dtypesÚtf32ÚstrÚdefault_dot_input_precisionÚallowed_dot_input_precisionsÚintÚmax_num_imprecise_acc_defaultr   Úbackend_namer9   )Úfp8e5Úfp8e5b16Úfp8e4nvÚfp8e4b8Úfp8e4b15)r   Útf32x3Úieee)r:   r;   r<   r=   ry   r?   rz   r{   r|   r}   r~   r�   r‚   r„   r…   rC   r9   r$   r!   rx   rx   g   sl   ‡ à"&€K�Ó&Ø€Eˆ4ÓØ"Ð�tÓ"Ø€Dˆ-ÓØ,cÐ˜/ÓcØ9;Ð% Ó;Ø'-Ð Ó-Ø4NÐ  /ÓNØ)*Ð! 3Ó*Ø%€L�#×%r$   rx   c                óª   € \        V\        P                  4      '       d   R # V P                  ^,          pVP                  pV^8  d   ^pW#8”  d   R# R # )TF)Ú
isinstanceÚtlÚpointer_typer   r   )Únp_arrayÚtl_dtypeÚnp_dtype_bitwidthÚtl_dtype_bitwidths   &&  r!   r   r   u   sO   € Ü�(œBŸO™O×,Ò,Ùà ×)Ñ)¨AÕ-ÐØ ×3Ñ3Ðð ˜1ÔØÐàÔ,ÙÙr$   c                ó.  € V \         P                  8X  d   \         P                  # V \         P                  8X  d   \         P                  # V \         P
                  8X  d   \         P                  # V \         P                  8X  d   \         P                  # V # r&   )	re   Úuint8Úint8Úuint16Úint16Úuint32Úint32rl   Úint64rd   s   &r!   Ú_get_signed_np_dtyper�   …   s[   € Ø”—‘ÔÜ�w‰wˆØ”—	‘	ÔÜ�x‰xˆØ”—	‘	ÔÜ�x‰xˆØ”—	‘	ÔÜ�x‰xˆØ€Lr$   c                ó¸  € \        V \        P                  4      '       d%   \        P                  ! \        P
                  4      # / \        P                  \        P                  ! \        4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                  \        P                  ! \        P                  4      b\        P                   \        P                  ! \        P                   4      b\        P"                  \        P                  ! \        P"                  4      b\        P
                  \        P                  ! \        P
                  4      b\        P$                  \        P                  ! \        P                  4      b\        P&                  \        P                  ! \        P                  4      b\        P(                  \        P                  ! \        P                  4      b\        P*                  \        P                  ! \        P                  4      b\        P,                  \        P                  ! \        P                  4      b\        P.                  \        P                  ! \        P                  4      /Cp\        V \        P0                  4      '       da   \        V P2                  \        P                  4      '       d%   \        P                  ! \        P
                  4      # WP2                  ,          # W,          # r&   )rŽ   r�   r�   re   r   rl   Úint1r'   Úfloat16Úfloat32Úfloat64r—   r–   r™   r˜   r›   rš   rœ   Úbfloat16Úfloat8e5Úfloat8e5b16Ú
float8e4nvÚ
float8e4b8Úfloat8e4b15Ú
block_typer,   )Útt_dtypeÚnp_typess   & r!   Ú_get_np_dtyper¬   ‘   sƒ  € Ü�(œBŸO™O×,Ò,Ü�xŠxœŸ	™	Ó"Ð"ðÜ
�‰”—’œ$“ðä
�
‰
”B—H’HœRŸZ™ZÓ(ðô 	�
‰
”B—H’HœRŸZ™ZÓ(ðô 	�
‰
”B—H’HœRŸZ™ZÓ(ð	ô
 	�‰”—’œ"Ÿ'™'Ó"ðô 	�‰”"—(’(œ2Ÿ8™8Ó$ðô 	�‰”"—(’(œ2Ÿ8™8Ó$ðô 	�	‰	”2—8’8œBŸI™IÓ&ðô 	�‰”"—(’(œ2Ÿ8™8Ó$ðô 	�	‰	”2—8’8œBŸI™IÓ&ðô 	�‰”"—(’(œ2Ÿ8™8Ó$ðô 	�	‰	”2—8’8œBŸI™IÓ&ðô 	�‰”R—X’XœbŸi™iÓ(ðô  	�‰”R—X’XœbŸh™hÓ'ð!ô" 	�‰œŸš¤§¡Ó*ð#ô$ 	�‰”r—x’x¤§¡Ó)ð%ô& 	�‰”r—x’x¤§¡Ó)ð'ô( 	�‰œŸš¤§¡Ó*ñ)€Hô, �(œBŸM™M×*Ò*Ü�h×)Ñ)¬2¯?©?×;Ò;Ü—8’8œBŸI™IÓ&Ð&Ø×+Ñ+Õ,Ð,ØÕÐr$   c                ó
  € \        \        R VP                   24      p\        \        R VP                   24      p\        P                  ! V P	                  4       VR7      pWaP                  ^,
          ,	          ^,          pVP                  VP
                  ,
          ^,
          pVP                  VP
                  ,
          ^,
          p	V^VP
                  ,          ^,
          ,          p
VP                  pVP                  pWaP
                  ,	          ^V,          ^,
          ,          P                  \        P                  4      pV^ 8H  p\        P                  ! V4      '       dÊ   \        P                  ! V\        P                  R7      p\        VP
                  4       F,  pV
V,	          ^,          pVP
                  V,
          VV^8H  &   K.  	  V
^ 8H  p^Wþ,          ,
          WÞ&   W¼,
          VVV,          &   W®,          Wþ,          ,          ^VP
                  ,          ^,
          ,          W®&   \        P                  ! ^ \        P                  ! WÛ,
          V,           ^V	,          ^,
          4      4      pVP                  V4      pVP                  V4      pVP                  VP                  8”  d²   W¡P
                  VP
                  ,
          ,	          ^VP
                  ,          ^,
          ,          pV\        P                  P                   8X  d?   V
^VP
                  VP
                  ,
          ^,
          ,          ,          pVV^ 8„  ,           pVP                  V4      pMRV
P                  V4      VP
                  VP
                  ,
          ,          ^VP
                  ,          ^,
          ,          pV^ 8H  p\        P                  ! V4      '       dÙ   WaP
                  ,	          ^V,          ^,
          ,          P                  \        P                  4      pV^ 8g  pVV,          p\        P                  ! V\        P                  R7      p^V,
          WÞ,          V,
          ,
          VV&   VV,          VV,          ,	          ^VP
                  VV,          ,
          ,          ,          VV&   VVP                  ^,
          ,          VVP
                  ,          ,          V,          pVP#                  V P$                  4      # )Úuintrd   )Úgetattrre   r   Ú
frombufferÚtobytesÚfp_mantissa_widthÚexponent_biasrk   r›   ÚanyÚ
zeros_likerh   ÚmaximumÚminimumÚ_irÚROUNDING_MODEÚRTNErj   rI   )ÚinputÚinput_dtypeÚoutput_dtypeÚrounding_modeÚinput_uint_dtypeÚoutput_unint_dtypeÚ	input_binÚsignÚinput_exponent_widthÚoutput_exponent_widthÚsignificandÚ
bias_inputÚbias_outputÚexponentÚsubnormal_indexÚbit_posÚiÚ	bit_indexÚzero_significand_indexÚexponent_outputÚsign_outputÚsignificand_outputÚcut_offÚnon_zero_exponent_indexÚshiftÚoutputs   &&&&                      r!   Ú_convert_floatrÕ   ±   s  € Üœr T¨+×*HÑ*HÐ)IÐ#JÓKÐÜ ¤ t¨L×,KÑ,KÐ+LÐ%MÓNÐÜ—’˜eŸm™m›oÐ5EÔF€IØ×8Ñ8¸1Õ<Õ=ÀÕE€DØ&×9Ñ9¸K×<YÑ<YÕYÐ\]Õ]ÐØ(×;Ñ;¸l×>\Ñ>\Õ\Ð_`Õ`ÐØ  [×%BÑ%BÕ BÀaÕGÕH€KØ×*Ñ*€JØ×,Ñ,€KØ×;Ñ;Õ;ÀÐFZÕAZÐ^_Õ@_Õ`×hÑhÔik×iqÑiqÓr€HØ !‘m€OÜ	‡v‚vˆo×Òô
 —-’- 	´·±Ô:ˆä�{×4Ñ4Ö5ˆAØ%¨Õ*¨dÕ2ˆIà&1×&CÑ&CÀaÕ&GˆG�I ‘NÓ#ñ 6ð "-°Ñ!1ÐØ$%¨Õ(@Õ$@ˆÑ!à=GÕ=UˆÐ'¨/Õ9Ñ:Ø(3Õ(DÈÕH`Õ(`Ø�+×/Ñ/Õ/°1Õ4õ(6ˆÑ$ô —j’j ¤B§J¢J°Õ0EÈÕ0SÐWXÐ\qÕWqÐuvÕVvÓ$wÓx€OØ%×,Ñ,Ð-?Ó@€OØ—+‘+Ð0Ó1€KØ×%Ñ%¨×(GÑ(GÔGØ)×.KÑ.KÈl×NlÑNlÕ.lÕmØ�,×0Ñ0Õ0°AÕ5õ7ÐàœC×-Ñ-×2Ñ2Ô2à! Q¨;×+HÑ+HÈ<×KiÑKiÕ+iÐlmÕ+mÕ%nÕoˆGØ!3°wÀ±{Õ!CÐØ/×6Ñ6Ð7IÓJÑà)×0Ñ0Ð1CÓDØ+×=Ñ=À×@]Ñ@]Õ]õ_à#$¨×(FÑ(FÕ#FÈ!Õ"KõMÐð &¨Ñ*€OÜ	‡v‚vˆo×Òð
 ×"?Ñ"?Õ?ÀQÐJ^ÕE^ÐbcÕDcÕd×lÑlÔmo×muÑmuÓvˆØ"*¨a¡-Ðà)Ð,CÕCˆÜ—’˜i¬r¯x©xÔ8ˆØ"# k¥/°hÕ6OÐR\Õ6\Õ!]ˆˆoÑØ/AÀ/Õ/RÐV[Ð\kÕVlÕ/lØ�,×0Ñ0°5¸Õ3IÕIÕJõ/LÐ˜?Ñ+à˜l×=Ñ=ÀÕAÕBØ˜<×9Ñ9Õ9õ;Ø=OõP€Fà�>‰>˜%Ÿ+™+Ó&Ð&r$   c                ó.   € \         P                  ! V 4      # r&   )ÚmathÚerf©Úxs   &r!   Ú_erfrÛ   ñ   s   € ä�8Š8�A‹;Ðr$   c                óF   € \        V 4      \        V4      ,          ^@,	          # )é@   )rƒ   )ÚaÚbs   &&r!   Ú
_umulhi_64rà   ö   s   € ô �‹F”S˜“V�O Õ"Ð"r$   c                ó4  € V P                   \        P                  \        P                  39   g   Q hV P	                  \        P                  4      p V P	                  \        P
                  4      p V ^,          p V P                  \        P                  4      p V # )é   )r   re   r–   r—   rk   r›   Úviewr¡   )Úscales   &r!   Ú_e8m0_to_f32rå   ü   se   € Ø�;‰;œ2Ÿ8™8¤R§W¡WÐ-Ô-Ð-Ð-Ø�L‰LœŸ™Ó"€EØ�L‰LœŸ™Ó"€EØ�R�K€EØ�J‰J”r—z‘zÓ"€EØ€Lr$   c                óx  € V P                   \        P                  8X  g   Q hV \        P                  ! ^4      ,          pV \        P                  ! ^4      ,	          pV P                  RR V P                  R,          ^,          3,           p\        P                  ! V\        P                  R7      pWR&   W$R&   \        P
                  ! . RO\        P                  R7      pWT\        P                  ! ^4      ,          ,          pV\        P                  ! ^4      ,          ^ 8g  p\        P                  ! Wv) V4      # )é   Nrd   rY   ).:r   NrG   ).:é   NrG   )g        g      à?g      ð?g      ø?g       @g      @g      @g      @)r   re   r–   rI   ÚemptyÚarrayr¡   Úwhere)r6   ÚlowÚhighÚunpacked_shapeÚunpacked_valÚpositive_e2m1_lutÚ
abs_valuesÚsignss   &       r!   Ú_e2m1_to_f32ró     sß   € Ø�;‰;œ"Ÿ(™(Ô"Ð"Ð"à
”"—(’(˜4“.Õ
 €CØ”B—H’H˜Q“KÕ€Dà—[‘[  "Ð%¨¯©°R­¸1Õ)<Ð(?Õ?€NÜ—8’8˜N´"·(±(Ô;€LØ!�ÑØ"�Ñô ŸšÒ!IÔQS×Q[ÑQ[Ô\ÐØ"´2·8²8¸D³>Õ$AÕC€JØœBŸHšH T›NÕ*¨qÑ0€EÜ�8Š8�E˜;¨
Ó3Ð3r$   c                ó~  € V P                   \        P                  8X  d   \        V P                  4      pM‚\        V P                  V P                   \        P                  \        P                  P                  4      P                  \        P                  4      P                  \        P                  4      pV P                   \        P                  8X  Ed]   V P                  \        P                  ! ^|4      8H  p\        P                  ! V\        P                  ! R4      V4      pV P                  \        P                  ! ^ü4      8H  p\        P                  ! V\        P                  ! R4      ) V4      p\        P                   ! V P                  \        P                  ! ^|4      ,          \        P                  ! ^|4      8H  V P                  \        P                  ! ^4      ,          \        P                  ! ^ 4      8g  4      p\        P                  ! V\        P                  ! R4      V4      pV# V P                   \        P"                  8X  dk   V P                  \        P                  ! ^4      ,          \        P                  ! ^4      8H  p\        P                  ! V\        P                  ! R4      V4      pV# )é|   ÚinfÚnan)r   r�   r–   ró   r   rÕ   r    r¸   r¹   rº   rã   re   rk   r¡   r¤   rë   Úlogical_andr¦   )Úvalue_handleÚvalue_floatÚpos_inf_maskÚneg_inf_maskÚnan_masks   &    r!   Ú_mxfp_value_handle_to_float32rþ     sÈ  € Ø×ÑœRŸX™XÔ%Ü" <×#4Ñ#4Ó5‰ô
 %Ø×ÑØ×ÑÜ�J‰JÜ×Ñ×"Ñ"ó	
÷
 ‰$Œr�z‰zÓ
Ÿ6™6¤"§*¡*Ó-ð 	ð ×ÑœRŸ[™[Õ(Ø#×(Ñ(¬B¯HªH°T«NÑ:ˆÜ—h’h˜|¬R¯ZªZ¸Ó->ÀÓLˆà#×(Ñ(¬B¯HªH°T«NÑ:ˆÜ—h’h˜|¬b¯jªj¸Ó.?Ð-?ÀÓMˆä—>’> <×#4Ñ#4´r·x²xÀ³~Õ#EÌ"Ï(Ê(ÐSWË.Ñ"XØ#/×#4Ñ#4´r·x²xÀ³{Õ#BÄrÇxÂxÐPQÃ{Ñ"RóTˆä—h’h˜x¬¯ª°EÓ):¸KÓHˆð
 Ðð	 
×	Ñ	œrŸ}™}Ô	,Ø×$Ñ$¤r§x¢x°£~Õ5¼¿ºÀ$»ÑGˆÜ—h’h˜x¬¯ª°EÓ):¸KÓHˆàÐr$   c                óv   € \         P                  ! WR4      p \        V 4      p\         P                  ! VRV4      # )rè   rY   )re   Úmoveaxisró   )r   ÚaxisÚunpackeds   && r!   Ú_unpack_e2m1r  7  s1   € ô �;Š;�t 2Ó&€DÜ˜DÓ!€HÜ�;Š;�x  TÓ*Ð*r$   c                ó`  € V\         P                  P                  8X  d9   V'       d   V'       d   RMRpMV'       d   RMRp\        V P                  V4      pM\        V 4      pVf   V# \        VP                  4      pV'       db   \        P                  ! WvP                  R,          VP                  R,          ,          RR7      p\        P                  ! VRR4      pWg,          # \        P                  ! WvP                  R,          VP                  R,          ,          RR7      pWg,          # )rG   ©r  éþÿÿÿrY   )r¸   ÚScaleDotElemTypeTYÚE2M1r  r   rþ   rå   re   ÚrepeatrI   Úswapaxes)rù   Úscale_handleÚformat_enumÚk_packÚis_rhsÚunpack_axisr6   rä   s   &&&&&   r!   Ú_prepare_dot_scaled_operandr  ?  sÕ   € Ø”c×,Ñ,×1Ñ1Ô1ßß &™"¨B‰Kç &™"¨BˆKÜ˜\×.Ñ.°Ó<‰ä-¨lÓ;ˆàÒØˆä˜×*Ñ*Ó+€Eçä—	’	˜%§¡¨R¥°E·K±KÀµOÕ!CÈ"ÔMˆÜ—’˜E 2 rÓ*ˆð �=Ðô —	’	˜%§¡¨R¥°E·K±KÀµOÕ!CÈ"ÔMˆà�=Ðr$   )Úotypesc                  ó&   € ] tR tRt]R 4       tRtR# )ÚExtraFunctionsi]  c                	óx   € \         P                  ! VP                  P                  V P                  W4      V4      # r&   )r�   ÚtensorÚbuilderÚcreate_fp_to_fpÚhandle)r»   Údst_tyÚfp_downcast_roundingÚ	_semantics   &&&&r!   Ú_convert_custom_typesÚ$ExtraFunctions._convert_custom_types_  s+   € ä�yŠy˜×*Ñ*×:Ñ:¸5¿<¹<ÈÓfÐhnÓoÐor$   r9   N)r:   r;   r<   r=   Ústaticmethodr  rC   r9   r$   r!   r  r  ]  s   † àñpó ôpr$   r  c                  ó‚  € ] tR tRt]P
                  P                  ]P
                  P                  ]P
                  P                  ]P
                  P                  ]P
                  P                  ]P
                  P                  ]P
                  P                  ]P
                  P                  /t]P                  P                  ]P                  P                  ]P                  P                  ]P                  P                  ]P                  P                   ]P                  P                   ]P                  P"                  ]P                  P"                  ]P                  P$                  ]P                  P$                  ]P                  P&                  ]P                  P&                  ]P                  P(                  ]P                  P(                  ]P                  P*                  ]P                  P*                  ]P                  P,                  ]P                  P,                  ]P                  P.                  ]P                  P.                  /
tR 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 t0R t1R t2R t3R t4R t5R  t6R! t7R" t8R# t9R$ t:R% t;R& t<R' t=R( t>R) t?R* t@R+ tAR, tBR- tCR. tDR/ tER0 tFR1 tGR2 tHR3 tIR4 tJR5 tKR6 tLR7 tMR8 tNR9 tOR: tPR; tQR< tRR= tSR> tTR? tUR@ tVRA tWRB tXRC tYRD tZRE t[RF t\RG t]RH t^RI t_RJ t`RK taRL tbRM tcRN tdRO teRP tfRQ tgRR thRS tiRT tjRU tkRV tlRW tmRX tnRY toRZ tpR[ tqR\ trR] tsR^ ttR_ tuR` tvRa twRb txRc tyRd tzRe t{Rf t|Rg t}Rh t~]Lt]Lt€Ri t�Rj t‚Rk tƒRl t„Rm t…Rn t†Ro t‡Rp tˆRq t‰Rr tŠRs t‹Rt tŒRu t�Rv tŽRw t�Rx t�Ry t‘Rz 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• R– llt­R— R˜ lt®R™ Rš lt¯R› Rœ lt°R� Rž lt±RŸ t²R  R¡ lt³R¢t´R£# )¥ÚInterpreterBuilderid  c               ó   € V ^8„  d   QhRR/# ©rG   ÚreturnÚNoner9   )rN   s   "r!   rO   ÚInterpreterBuilder.__annotate__y  s   € ÷ Nñ N˜$ñ Nr$   c                	óš   € R V n         \        4       V n        / V n        \        P
                  V P                  R&   R V P                  R&   R # )NÚconvert_custom_typesc                ó   € R# )rè   )rè   rè   rè   r9   )ÚlhsTypeÚrhsTypes   &&r!   Ú<lambda>Ú-InterpreterBuilder.__init__.<locals>.<lambda>~  s   € ÁIr$   Úmin_dot_size)r|   rx   ÚoptionsÚcodegen_fnsr  r  r   s   &r!   rU   ÚInterpreterBuilder.__init__y  sB   € ØˆŒ	Ü)Ó+ˆŒØˆÔÜ3A×3WÑ3Wˆ×ÑÐ/Ñ0Ù+Mˆ×Ñ˜Ó(r$   c                	óä   € WP                   ^ ,          8  g   \        R4      hW P                   ^,          8  g   \        R4      hW0P                   ^,          8  g   \        R4      hWV3V n        R# )r   zx >= grid_dim[0]zy >= grid_dim[1]zz >= grid_dim[2]N)Úgrid_dimr   Úgrid_idx©r    rÚ   ÚyÚzs   &&&&r!   Úset_grid_idxÚInterpreterBuilder.set_grid_idx€  s^   € Ø—=‘= Õ#Ô#ÜÐ/Ó0Ð0Ø—=‘= Õ#Ô#ÜÐ/Ó0Ð0Ø—=‘= Õ#Ô#ÜÐ/Ó0Ð0Ø˜q˜	ˆŽr$   c                	ó   € WV3V n         R # r&   )r2  )r    ÚnxÚnyÚnzs   &&&&r!   Úset_grid_dimÚInterpreterBuilder.set_grid_dim‰  s   € Ø ˜ˆŽr$   c                	ó"   € \         P                  # r&   )r�   r    r   s   &r!   Úget_half_tyÚInterpreterBuilder.get_half_tyŽ  ó   € Ü�z‰zÐr$   c                	ó"   € \         P                  # r&   )r�   r£   r   s   &r!   Úget_bf16_tyÚInterpreterBuilder.get_bf16_ty‘  ó   € Ü�{‰{Ðr$   c                	ó"   € \         P                  # r&   )r�   r¡   r   s   &r!   Úget_float_tyÚInterpreterBuilder.get_float_ty”  rB  r$   c                	ó"   € \         P                  # r&   )r�   r¢   r   s   &r!   Úget_double_tyÚ InterpreterBuilder.get_double_ty—  rB  r$   c                	ó"   € \         P                  # r&   )r�   rŸ   r   s   &r!   Úget_int1_tyÚInterpreterBuilder.get_int1_tyš  ó   € Ü�w‰wˆr$   c                	ó"   € \         P                  # r&   )r�   r—   r   s   &r!   Úget_int8_tyÚInterpreterBuilder.get_int8_ty�  rP  r$   c                	ó"   € \         P                  # r&   )r�   r–   r   s   &r!   Úget_uint8_tyÚInterpreterBuilder.get_uint8_ty   ó   € Ü�x‰xˆr$   c                	ó"   € \         P                  # r&   )r�   r™   r   s   &r!   Úget_int16_tyÚInterpreterBuilder.get_int16_ty£  rW  r$   c                	ó"   € \         P                  # r&   )r�   r˜   r   s   &r!   Úget_uint16_tyÚ InterpreterBuilder.get_uint16_ty¦  ó   € Ü�y‰yÐr$   c                	ó"   € \         P                  # r&   )r�   r›   r   s   &r!   Úget_int32_tyÚInterpreterBuilder.get_int32_ty©  rW  r$   c                	ó"   € \         P                  # r&   )r�   rš   r   s   &r!   Úget_uint32_tyÚ InterpreterBuilder.get_uint32_ty¬  r^  r$   c                	ó"   € \         P                  # r&   )r�   rœ   r   s   &r!   Úget_int64_tyÚInterpreterBuilder.get_int64_ty¯  rW  r$   c                	ó"   € \         P                  # r&   )r�   rl   r   s   &r!   Úget_uint64_tyÚ InterpreterBuilder.get_uint64_ty²  r^  r$   c                	ó"   € \         P                  # r&   )r�   r¦   r   s   &r!   Úget_fp8e4nv_tyÚ!InterpreterBuilder.get_fp8e4nv_tyµ  ó   € Ü�}‰}Ðr$   c                	ó"   € \         P                  # r&   )r�   r¨   r   s   &r!   Úget_fp8e4b15_tyÚ"InterpreterBuilder.get_fp8e4b15_ty¸  ó   € Ü�~‰~Ðr$   c                	ó"   € \         P                  # r&   )r�   r§   r   s   &r!   Úget_fp8e4b8_tyÚ!InterpreterBuilder.get_fp8e4b8_ty»  rn  r$   c                	ó"   € \         P                  # r&   )r�   r¤   r   s   &r!   Úget_fp8e5_tyÚInterpreterBuilder.get_fp8e5_ty¾  rF  r$   c                	ó"   € \         P                  # r&   )r�   r¥   r   s   &r!   Úget_fp8e5b16_tyÚ"InterpreterBuilder.get_fp8e5b16_tyÁ  rr  r$   c                	ó.   € \         P                  ! W4      # r&   )r�   r�   )r    Úelt_tyÚ
addr_spaces   &&&r!   Ú
get_ptr_tyÚInterpreterBuilder.get_ptr_tyÄ  s   € Ü�Š˜vÓ2Ð2r$   c                	ó.   € \         P                  ! W4      # r&   )r�   r©   )r    r   rI   s   &&&r!   Úget_block_tyÚInterpreterBuilder.get_block_tyÇ  s   € Ü�}Š}˜UÓ*Ð*r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P
                  4      # ©rd   )r   re   rê   Úbool_r�   rŸ   ©r    r6   s   &&r!   Úget_int1ÚInterpreterBuilder.get_int1Ê  s$   € ÜœBŸHšH e W´B·H±HÔ=¼r¿w¹wÓGÐGr$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r–   r�   r‡  s   &&r!   Ú	get_uint8ÚInterpreterBuilder.get_uint8Í  ó$   € ÜœBŸHšH e W´B·H±HÔ=¼r¿x¹xÓHÐHr$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r—   r�   r‡  s   &&r!   Úget_int8ÚInterpreterBuilder.get_int8Ð  s$   € ÜœBŸHšH e W´B·G±GÔ<¼b¿g¹gÓFÐFr$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r˜   r�   r‡  s   &&r!   Ú
get_uint16ÚInterpreterBuilder.get_uint16Ó  ó$   € ÜœBŸHšH e W´B·I±IÔ>ÄÇ	Á	ÓJÐJr$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r™   r�   r‡  s   &&r!   Ú	get_int16ÚInterpreterBuilder.get_int16Ö  r�  r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   rš   r�   r‡  s   &&r!   Ú
get_uint32ÚInterpreterBuilder.get_uint32Ù  r”  r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r›   r�   r‡  s   &&r!   Ú	get_int32ÚInterpreterBuilder.get_int32Ü  r�  r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   rl   r�   r‡  s   &&r!   Ú
get_uint64ÚInterpreterBuilder.get_uint64ß  r”  r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   rœ   r�   r‡  s   &&r!   Ú	get_int64ÚInterpreterBuilder.get_int64â  r�  r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r    r�   r‡  s   &&r!   Úget_fp16ÚInterpreterBuilder.get_fp16å  ó$   € ÜœBŸHšH e W´B·J±JÔ?ÄÇÁÓLÐLr$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r¡   r�   r‡  s   &&r!   Úget_fp32ÚInterpreterBuilder.get_fp32è  r§  r$   c                	ó€   € \        \        P                  ! V.\        P                  R 7      \        P                  4      # r…  )r   re   rê   r¢   r�   r‡  s   &&r!   Úget_fp64ÚInterpreterBuilder.get_fp64ë  r§  r$   c                	óZ   € \        \        P                  ! ^ .\        V4      R7      V4      # ©r   rd   )r   re   rê   r¬   )r    Útypes   &&r!   Úget_null_valueÚ!InterpreterBuilder.get_null_valueî  s!   € ÜœBŸHšH a S´¸dÓ0CÔDÀdÓKÐKr$   c                	óÔ   € V P                   f   \        R4      h\        \        P                  ! V P                   V,          .\        P
                  R7      \        P
                  4      # )Nzgrid_idx is Nonerd   )r3  r   r   re   rê   r›   r�   ©r    r  s   &&r!   Úcreate_get_program_idÚ(InterpreterBuilder.create_get_program_idò  sD   € Ø�=‰=Ò ÜÐ/Ó0Ð0ÜœBŸHšH d§m¡m°DÕ&9Ð%:Ä"Ç(Á(ÔKÌRÏXÉXÓVÐVr$   c                	ó¢   € \        \        P                  ! V P                  V,          .\        P                  R 7      \
        P                  4      # r…  )r   re   rê   r2  r›   r�   r´  s   &&r!   Úcreate_get_num_programsÚ*InterpreterBuilder.create_get_num_programs÷  s.   € ÜœBŸHšH d§m¡m°DÕ&9Ð%:Ä"Ç(Á(ÔKÌRÏXÉXÓVÐVr$   c                	ó¨   € \        \        P                  ! VP                  \        R 7      \
        P                  4      pRpV P                  WWbW44      # ©rd   N)r   re   Ú	ones_liker   r'   r�   rŸ   Úcreate_masked_load)r    ÚptrÚ_0Ú_1Úis_volatileÚmaskÚothers   &&&&&  r!   Úcreate_loadÚInterpreterBuilder.create_loadû  s;   € ÜœBŸLšL¨¯©¼Ô>ÄÇÁÓHˆØˆØ×&Ñ& s°%¸RÓMÐMr$   c                	ó¦   € \        \        P                  ! VP                  \        R 7      \
        P                  4      pV P                  WVRR4      # r»  )r   re   r¼  r   r'   r�   rŸ   Úcreate_masked_store)r    r¾  Úvalr¿  rÀ  rÂ  s   &&&&& r!   Úcreate_storeÚInterpreterBuilder.create_store   s8   € ÜœBŸLšL¨¯©¼Ô>ÄÇÁÓHˆØ×'Ñ'¨°$¸¸dÓCÐCr$   c                	ó  € VP                  4       p\        V4      pVf-   \        \        P                  ! VP
                  VR7      V4      p\        P                  ! VP
                  VP
                  VP
                  V4      p	\        W—4      # )Nrd   )r.   r¬   r   re   rµ   r   Ú_interpreterÚload)
r    ÚptrsrÂ  rÃ  Úcache_modifierÚeviction_policyrÁ  Údtype_ttÚdtype_npÚrets
   &&&&&&&   r!   r½  Ú%InterpreterBuilder.create_masked_load  sg   € Ø×&Ñ&Ó(ˆÜ  Ó*ˆØŠ=Ü ¤§¢¨t¯y©yÀÔ!IÈ8ÓTˆEÜ×Ò §	¡	¨4¯9©9°e·j±jÀ(ÓKˆÜ˜CÓ*Ð*r$   c                	ón   € \         P                  ! VP                  VP                  VP                  4      # r&   )rÌ  Ústorer   )r    rÎ  r6   rÂ  rÏ  rÐ  s   &&&&&&r!   rÇ  Ú&InterpreterBuilder.create_masked_store  s#   € Ü×!Ò! $§)¡)¨U¯Z©Z¸¿¹ÓCÐCr$   c                	óæ  € VP                   P                  pVP                  pV\        P                  8X  d   V\        P                  8X  g+   V\        P                  8X  dZ   V\        P                  8X  dE   \        VP                  W4R 4      P                  \        V4      4      p\        WRP                  4      # \        VP                  P                  \        V4      4      VP                  4      # r&   )r   rm   r�   r£   r¡   rÕ   r   rã   r¬   r   rk   )r    ÚsrcÚdst_typeÚsrc_element_typeÚdst_element_typer   s   &&&   r!   Ú	cast_implÚInterpreterBuilder.cast_impl  s¤   € ØŸ9™9×+Ñ+ÐØ#Ÿ?™?ÐØ¤§¡Ô+Ð0@ÄBÇJÁJÔ0NØ¤§
¡
Ô*Ð/?Ä2Ç;Á;Ô/NÜ! #§(¡(Ð,<ÐPTÓU×ZÑZÔ[hÐiqÓ[rÓsˆDÜ §o¡oÓ6Ð6ä §¡§¡´¸hÓ0GÓ HÈ(Ï/É/ÓZÐZr$   c                	ó$   € V P                  W4      # r&   ©rÝ  ©r    rÙ  rÚ  s   &&&r!   r+  ÚInterpreterBuilder.<lambda>  ó   € °$·.±.ÀÔ2Or$   c                	ó$   € V P                  W4      # r&   rà  rá  s   &&&r!   r+  râ    rã  r$   c                	ó$   € V P                  W4      # r&   rà  rá  s   &&&r!   r+  râ    rã  r$   c                	ó$   € V P                  W4      # r&   rà  rá  s   &&&r!   r+  râ    rã  r$   c                	ó$   € V P                  W4      # r&   rà  rá  s   &&&r!   r+  râ    s   € °·±¸sÔ0Mr$   c                	ó$   € V P                  W4      # r&   rà  rá  s   &&&r!   r+  râ    rã  r$   c                	ó$   € V P                  W4      # r&   rà  )r    rÙ  rÚ  Ú	is_signeds   &&&&r!   r+  râ     s   € ¸T¿^¹^ÈCÔ=Zr$   c                	óÎ   € VP                   P                  pVP                  p\        VP                  WEV4      P	                  \        V4      4      p\        WbP                  4      # r&   )r   rm   rÕ   r   rã   r¬   r   )r    rÙ  rÚ  r¾   rÛ  rÜ  r   s   &&&&   r!   r  Ú"InterpreterBuilder.create_fp_to_fp"  sP   € ØŸ9™9×+Ñ+ÐØ#Ÿ?™?ÐÜ˜cŸh™hÐ(8ÈMÓZ×_Ñ_Ô`mÐnvÓ`wÓxˆÜ˜D§/¡/Ó2Ð2r$   c                	ór   € \        VP                  P                  \        V4      4      VP                  4      # r&   )r   r   rã   r¬   rm   rá  s   &&&r!   Úcreate_bitcastÚ!InterpreterBuilder.create_bitcast(  s%   € Ü˜CŸH™HŸM™M¬-¸Ó*AÓBÀHÇOÁOÓTÐTr$   c                	óÔ   € V! VP                   VP                   4      pVP                  P                  p\        WE4      '       g   VP	                  \        V4      4      p\        WE4      # r&   ©r   r   rm   r   rk   r¬   r   )r    ÚlhsÚrhsÚoprÔ   r’   s   &&&&  r!   Ú	binary_opÚInterpreterBuilder.binary_op,  sN   € Ù�C—H‘H˜cŸh™hÓ'ˆØ—9‘9×#Ñ#ˆä% f×7Ò7Ø—]‘]¤=°Ó#:Ó;ˆFä˜FÓ-Ð-r$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úadd©r    rò  ró  s   &&&r!   r+  râ  5  s   € ¨¯©¸Ä"Ç&Á&Ô)Ir$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úmultiplyrú  s   &&&r!   r+  râ  6  ó   € ¨¯©¸Ä"Ç+Á+Ô)Nr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Údividerú  s   &&&r!   r+  râ  7  s   € ¨¯©¸Ä"Ç)Á)Ô)Lr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úfmodrú  s   &&&r!   r+  râ  8  ó   € ¨¯©¸Ä"Ç'Á'Ô)Jr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úsubtractrú  s   &&&r!   r+  râ  9  rþ  r$   c                	óB   € V P                  V\        P                  4      # r&   )Úunary_opre   Únegative©r    r»   s   &&r!   r+  râ  :  s   €  d§m¡m°E¼2¿;¹;Ô&Gr$   c                	óB   € V P                  W\        P                  4      # r&   rü  rú  s   &&&r!   r+  râ  ;  ó   € ¨¯©°sÄÇÁÔ(Mr$   c                	óB   € V P                  W\        P                  4      # r&   r   rú  s   &&&r!   r+  râ  <  s   € °·±ÀÌ"Ï)É)Ô1Tr$   c                	ó$   € V P                  W4      # r&   ©Úcreate_idivrú  s   &&&r!   r+  râ  =  ó   € ¨×)9Ñ)9¸#Ô)Cr$   c                	ó$   € V P                  W4      # r&   r  rú  s   &&&r!   r+  râ  >  r  r$   c                	óB   € V P                  W\        P                  4      # r&   r  rú  s   &&&r!   r+  râ  @  r  r$   c                	óB   € V P                  W\        P                  4      # r&   r  rú  s   &&&r!   r+  râ  A  r  r$   c                	óB   € V P                  W\        P                  4      # r&   rø  rú  s   &&&r!   r+  râ  B  s   € ¨¯©°sÄÇÁÔ(Hr$   c                	óB   € V P                  W\        P                  4      # r&   r  rú  s   &&&r!   r+  râ  C  r  r$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Ú
left_shiftrú  s   &&&r!   r+  râ  D  s   € ¨¯©°sÄÇÁÔ(Or$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Úright_shiftrú  s   &&&r!   r+  râ  E  s   € ¨¯©¸Ä"Ç.Á.Ô)Qr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   r·   rú  s   &&&r!   r+  râ  F  ó   € ¨$¯.©.¸Ä2Ç:Á:Ô*Nr$   c                	óB   € V P                  W\        P                  4      # r&   r  rú  s   &&&r!   r+  râ  G  r  r$   c                	óB   € V P                  W\        P                  4      # r&   r  rú  s   &&&r!   r+  râ  H  ó   € ¨T¯^©^¸CÄbÇjÁjÔ-Qr$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Úfminrú  s   &&&r!   r+  râ  I  ó   € ¨D¯N©N¸3ÄRÇWÁWÔ,Mr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   r¶   rú  s   &&&r!   r+  râ  J  r  r$   c                	óB   € V P                  W\        P                  4      # r&   r'  rú  s   &&&r!   r+  râ  K  r  r$   c                	óB   € V P                  W\        P                  4      # r&   r'  rú  s   &&&r!   r+  râ  L  r"  r$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Úfmaxrú  s   &&&r!   r+  râ  M  r%  r$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Ú
less_equalrú  s   &&&r!   r+  râ  N  ó   € ¨D¯N©N¸3ÄRÇ]Á]Ô,Sr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úlessrú  s   &&&r!   r+  râ  O  r%  r$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úgreater_equalrú  s   &&&r!   r+  râ  P  ó   € ¨D¯N©N¸3ÄR×EUÑEUÔ,Vr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úgreaterrú  s   &&&r!   r+  râ  Q  ó   € ¨D¯N©N¸3ÄRÇZÁZÔ,Pr$   c                	óB   € V P                  W\        P                  4      # r&   r-  rú  s   &&&r!   r+  râ  R  r/  r$   c                	óB   € V P                  W\        P                  4      # r&   r1  rú  s   &&&r!   r+  râ  S  r%  r$   c                	óB   € V P                  W\        P                  4      # r&   r4  rú  s   &&&r!   r+  râ  T  r6  r$   c                	óB   € V P                  W\        P                  4      # r&   r8  rú  s   &&&r!   r+  râ  U  r:  r$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Úequalrú  s   &&&r!   r+  râ  V  s   € ¨4¯>©>¸#ÄBÇHÁHÔ+Mr$   c                	óB   € V P                  W\        P                  4      # r&   ©rõ  re   Ú	not_equalrú  s   &&&r!   r+  râ  W  s   € ¨4¯>©>¸#ÄBÇLÁLÔ+Qr$   c                	óB   € V P                  W\        P                  4      # r&   r1  rú  s   &&&r!   r+  râ  X  r%  r$   c                	óB   € V P                  W\        P                  4      # r&   r8  rú  s   &&&r!   r+  râ  Y  r:  r$   c                	óB   € V P                  W\        P                  4      # r&   r-  rú  s   &&&r!   r+  râ  Z  r/  r$   c                	óB   € V P                  W\        P                  4      # r&   r4  rú  s   &&&r!   r+  râ  [  r6  r$   c                	óB   € V P                  W\        P                  4      # r&   r@  rú  s   &&&r!   r+  râ  \  ó   € ¨D¯N©N¸3ÄRÇXÁXÔ,Nr$   c                	óB   € V P                  W\        P                  4      # r&   rC  rú  s   &&&r!   r+  râ  ]  ó   € ¨D¯N©N¸3ÄRÇ\Á\Ô,Rr$   c                	óB   € V P                  W\        P                  4      # r&   r1  rú  s   &&&r!   r+  râ  ^  r%  r$   c                	óB   € V P                  W\        P                  4      # r&   r8  rú  s   &&&r!   r+  râ  _  r:  r$   c                	óB   € V P                  W\        P                  4      # r&   r-  rú  s   &&&r!   r+  râ  `  r/  r$   c                	óB   € V P                  W\        P                  4      # r&   r4  rú  s   &&&r!   r+  râ  a  r6  r$   c                	óB   € V P                  W\        P                  4      # r&   r@  rú  s   &&&r!   r+  râ  b  rJ  r$   c                	óB   € V P                  W\        P                  4      # r&   rC  rú  s   &&&r!   r+  râ  c  rL  r$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Úbitwise_andrú  s   &&&r!   r+  râ  d  ó   € ¨¯©°sÄÇÁÔ(Pr$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Úbitwise_xorrú  s   &&&r!   r+  râ  e  rU  r$   c                	óB   € V P                  W\        P                  4      # r&   )rõ  re   Ú
bitwise_orrú  s   &&&r!   r+  râ  f  s   €  t§~¡~°cÄÇÁÔ'Nr$   c                	óØ   € \        VP                  \        P                  ! VP                  VP                  4      ,
          VP                  ,          VP                  P
                  4      # r&   )r   r   re   r  r   rm   rú  s   &&&r!   r  ÚInterpreterBuilder.create_idivj  sC   € ô ˜SŸX™X¬¯ª°·±¸#¿(¹(Ó(CÕCÈÏÉÕPÐRU×R[ÑR[×RbÑRbÓcÐcr$   c                	ó~  € \        VP                  P                  4      p\        VP                  P                  4      pVP                  P                  V4      pVP                  P                  V4      p\	        WQP                  4      p\	        WbP                  4      pV P                  W\        P                  4      # r&   )r�   r   r   rk   r   rõ  re   r  )r    rò  ró  Ú	lhs_dtypeÚ	rhs_dtypeÚlhs_dataÚrhs_datas   &&&    r!   Úcreate_ashrÚInterpreterBuilder.create_ashrp  s{   € ä(¨¯©¯©Ó8ˆ	Ü(¨¯©¯©Ó8ˆ	Ø—8‘8—?‘? 9Ó-ˆØ—8‘8—?‘? 9Ó-ˆÜ˜8§Y¡YÓ/ˆÜ˜8§Y¡YÓ/ˆØ�~‰~˜c¬¯©Ó7Ð7r$   c                	óz  € VP                   P                  pV\        P                  8X  g   V\        P                  8X  d?   \        \        VP                   VP                   4      VP                  P                  4      # \        \        R VP                  ^,          ^,           24      pVP                   P                  V4      pVP                   P                  V4      p\        P                  ! WV4      VP                  ^,          ,	          p\        VP                  V4      VP                  P                  4      # )r®   )r   r   re   rœ   rl   r   Únp_umulhi_u64rm   r¯   r   rk   rý  )r    rò  ró  r   Úcompute_dtyper_  r`  Úret_datas   &&&     r!   Úcreate_umulhiÚ InterpreterBuilder.create_umulhiz  sÎ   € Ø—‘—‘ˆØ”B—H‘HÔ ¬¯©Ô 2Ü¤¨c¯h©h¸¿¹Ó AÀ3Ç9Á9×CSÑCSÓTÐTä#¤B¨$¨u¯~©~ÀÕ/AÀAÕ/EÐ.FÐ(GÓHˆMØ—x‘x—‘ }Ó5ˆHØ—x‘x—‘ }Ó5ˆHÜ—{’{ 8Ó6¸5¿>¹>ÈAÕ;MÕNˆHÜ §¡°Ó 6¸¿	¹	×8HÑ8HÓIÐIr$   c                	óê   € V! VP                   VP                   VP                   4      pVP                  P                  p\        WV4      '       g   VP	                  \        V4      4      p\        WV4      # r&   rñ  )r    rò  ró  rÃ  rô  rÔ   r’   s   &&&&&  r!   Ú
ternary_opÚInterpreterBuilder.ternary_op†  sT   € Ù�C—H‘H˜cŸh™h¨¯
©
Ó3ˆØ—;‘;×%Ñ%ˆä% f×7Ò7Ø—]‘]¤=°Ó#:Ó;ˆFä˜FÓ-Ð-r$   c                	ó   € V\         P                  P                  8X  d@   V P                  V P                  W\        P
                  4      V\        P                  4      # V P                  WV\        P                  4      # r&   )	r¸   ÚPROPAGATE_NANÚNONErõ  re   r+  r$  rj  Úclip)r    ÚargÚloÚhiÚpropagate_nanss   &&&&&r!   Úcreate_clampfÚ InterpreterBuilder.create_clampf�  sS   € ØœS×.Ñ.×3Ñ3Ô3Ø—>‘> $§.¡.°¼"¿'¹'Ó"BÀBÌÏÉÓPÐPà—?‘? 3¨B´·±Ó8Ð8r$   c                	óD   € V P                  WV\        P                  4      # r&   )rj  re   rë   )r    Úcondrò  ró  s   &&&&r!   r+  râ  •  s   € °·±ÀÈCÔQS×QYÑQYÔ1Zr$   c                	óš   € \        VP                  VP                  ,          VP                  ,           VP                  P                  4      # r&   ©r   r   r   rm   r4  s   &&&&r!   Ú
create_fmaÚInterpreterBuilder.create_fma—  s,   € Ü˜AŸF™F Q§V¡V�O¨a¯f©fÕ4°a·g±g·n±nÓEÐEr$   c                	ób   € \        V! VP                  4      VP                  P                  4      # r&   ry  )r    rp  rô  s   &&&r!   r
  ÚInterpreterBuilder.unary_op›  s!   € Ü™B˜sŸx™x›L¨#¯)©)×*:Ñ*:Ó;Ð;r$   c                	óN  € VP                   pVP                  ^,
          p\        \        RVP                   24      pVP                  P                  V4      p^V,          ^,
          pWV,          P                  \        V4      4      p\        WqP                   P                  4      # )rè   r®   )	r   r   r¯   re   r   rã   r¬   r   rm   )r    rp  rÑ  Úmask_bitwidthÚnp_uint_dtyper   rÂ  rÓ  s   &&      r!   Úcreate_fabsÚInterpreterBuilder.create_fabsž  s‚   € à—9‘9ˆØ ×3Ñ3°aÕ7ˆÜ¤ d¨8×+FÑ+FÐ*GÐ$HÓIˆØ�x‰x�}‰}˜]Ó+ˆØ�]Õ" aÕ'ˆØ�{× Ñ ¤¨xÓ!8Ó9ˆÜ˜C§¡×!1Ñ!1Ó2Ð2r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úcos©r    rp  s   &&r!   r+  râ  ¨  ó   €  4§=¡=°´b·f±fÔ#=r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úexpr…  s   &&r!   r+  râ  ©  r†  r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úexp2r…  s   &&r!   r+  râ  ª  ó   €  D§M¡M°#´r·w±wÔ$?r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úabsr…  s   &&r!   r+  râ  «  s   €  D§M¡M°#´r·v±vÔ$>r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úfloorr…  s   &&r!   r+  râ  ¬  s   €  T§]¡]°3¼¿¹Ô%Ar$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úceilr…  s   &&r!   r+  râ  ­  r‹  r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úlogr…  s   &&r!   r+  râ  ®  r†  r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úlog2r…  s   &&r!   r+  râ  ¯  r‹  r$   c                	óB   € V P                  V\        P                  4      # r&   ©r
  re   Úsqrtr…  s   &&r!   r+  râ  °  s   € ¨D¯M©M¸#¼r¿w¹wÔ,Gr$   c                	óB   € V P                  V\        P                  4      # r&   r—  r…  s   &&r!   r+  râ  ±  r‹  r$   c                	óB   € V P                  V\        P                  4      # r&   )r
  re   Úsinr…  s   &&r!   r+  râ  ²  r†  r$   c                	óæ   € VP                   P                  \        P                  8X  d   \	        VP                   4      M\        VP                   4      p\        W!P                  P                  4      # r&   )r   r   re   r¡   Únp_erf_fp32Únp_erf_fp64r   rm   )r    rp  rÓ  s   && r!   Ú
create_erfÚInterpreterBuilder.create_erf´  sF   € Ø'*§x¡x§~¡~¼¿¹Ô'CŒk˜#Ÿ(™(Ô#ÌÐUX×U]ÑU]ÓI^ˆÜ˜C§¡×!1Ñ!1Ó2Ð2r$   c                	óŒ   € \        ^\        P                  ! VP                  4      ,          VP                  P
                  4      # ©rè   )r   re   r˜  r   r   rm   r…  s   &&r!   Úcreate_rsqrtÚInterpreterBuilder.create_rsqrt¸  s+   € Ü˜A¤§¢¨¯©Ó 1Õ1°3·9±9×3CÑ3CÓDÐDr$   c                	ót   € \        VP                  P                  V4      VP                  P                  4      # r&   )r   r   rj   r   rm   )r    rp  rI   Úallow_reorders   &&&&r!   r+  râ  ¼  s(   € ¼\È#Ï(É(×JZÑJZÐ[`ÓJaÐcf×clÑcl×csÑcsÔ=tr$   c                	ó€   € \        \        P                  ! VP                  V4      VP                  P
                  4      # r&   )r   re   Ú	transposer   r   rm   )r    rp  Úperms   &&&r!   Úcreate_transÚInterpreterBuilder.create_trans¾  s(   € ÜœBŸLšL¨¯©°4Ó8¸#¿)¹)×:JÑ:JÓKÐKr$   c                	óÜ  € VP                   pVP                   pVP                  P                  ^8X  d!   VP                  P                  4       '       g<   VP                  P                  ^8X  d¥   VP                  P                  4       '       d…   \	        WaP                  \
        P                  R4      P                  \        P                  4      p\	        WrP                  \
        P                  R4      P                  \        P                  4      p\        \        P                  ! WgVP                   P                  R7      VP                   ,           VP                  P                  4      # )rc   Nrd   )r   r   r   Úis_floatingrÕ   r�   r    rã   re   r   Úmatmulrm   )r    rÞ   rß   ÚdÚinput_precisionÚmax_num_imprecise_accÚa_dataÚb_datas   &&&&&&  r!   Ú
create_dotÚInterpreterBuilder.create_dotÁ  sÜ   € Ø—‘ˆØ—‘ˆØ�G‰G×&Ñ&¨!Ô+°·±×0CÑ0C×0EÒ0EØ�G‰G×&Ñ&¨!Ô+°·±×0CÑ0C×0EÒ0EÜ# F¯G©G´R·Z±ZÀÓF×KÑKÌBÏJÉJÓWˆFÜ# F¯G©G´R·Z±ZÀÓF×KÑKÌBÏJÉJÓWˆFÜœBŸIšI f¸A¿F¹F¿L¹LÔIÈAÏFÉFÕRÐTU×T[ÑT[×TbÑTbÓcÐcr$   c                	ó~   € \        \        P                  ! W#\        P                  R 7      \        P                  4      # r…  )r   re   ri   r›   r�   )r    Úret_tyÚstartÚstops   &&&&r!   Úcreate_make_rangeÚ$InterpreterBuilder.create_make_rangeÊ  s"   € ÜœBŸIšI e¼¿¹ÔBÄBÇHÁHÓMÐMr$   c                	ó€  € Vf?   \        \        P                  ! VP                  \        R7      \
        P                  4      p\        P                  ! VP                  VP                  P                  R7      p\        P                  ! VP                  VP                  \        P                  ! VP                  4      4      p\        P                  ! W^ V3VR7      ^ ,          pV^ ;;,          \        P                  ! VP                  4      P                  4       ,          uu&   \        V\
        P                  4      # )Nrd   )Úbinsrh   Úweights)r   re   r¼  r   r'   r�   rŸ   r   rë   rµ   Ú	histogramÚlogical_notÚsumr›   )r    r   r½  rÂ  Údummy_weightsr¿  s   &&&&  r!   Úcreate_histogramÚ#InterpreterBuilder.create_histogramÍ  s¾   € ØŠ<Ü¤§¢¨T¯Y©Y¼dÔ CÄRÇWÁWÓMˆDô Ÿš T§Y¡Y°d·i±i·o±oÔFˆô �xŠx˜Ÿ	™	 4§9¡9¬b¯mªm¸D¿I¹IÓ.FÓGˆÜ—L’L ¸¸D¸	È=ÔYÐZ[Õ\ˆ	à�!�œŸš t§y¡yÓ1×5Ñ5Ó7Õ7‹Ü˜I¤r§x¡xÓ0Ð0r$   c                	ó˜   € \        \        P                  ! VP                  VP                  VR 7      VP                  P
                  4      # ©r  )r   re   Útake_along_axisr   r   rm   )r    rÙ  Úindicesr  s   &&&&r!   Úcreate_gatherÚ InterpreterBuilder.create_gatherß  s3   € ÜœB×.Ò.¨s¯x©x¸¿¹ÈDÔQÐSV×S\ÑS\×ScÑScÓdÐdr$   c                	ó  € VP                  4       pVP                  p\        ^V^,          4      p\        VP                  WRP                  P                  \        P                  4      ,          ,           VP                  4      # r¢  )	r.   r   Úmaxr   r   rk   re   rl   r   )r    r¾  ÚoffsetrÑ  Úelement_bitwidthÚelement_bytewidths   &&&   r!   Úcreate_addptrÚ InterpreterBuilder.create_addpträ  sc   € Ø×%Ñ%Ó'ˆØ#×6Ñ6Ðä Ð#3°qÕ#8Ó9ÐÜ˜CŸH™HÐ'8¿;¹;×;MÑ;MÌbÏiÉiÓ;XÕ'XÕXÐZ]×ZcÑZcÓdÐdr$   c                	ó€   € \        \        P                  ! VP                  V4      VP                  P
                  4      # r&   )r   re   Úexpand_dimsr   r   rm   )r    rp  r  s   &&&r!   Úcreate_expand_dimsÚ%InterpreterBuilder.create_expand_dimsë  s(   € ÜœBŸNšN¨3¯8©8°TÓ:¸C¿I¹I×<LÑ<LÓMÐMr$   c                	ó€   € \        \        P                  ! VP                  V4      VP                  P
                  4      # r&   )r   re   rf   r   r   rm   )r    rp  rI   s   &&&r!   Úcreate_broadcastÚ#InterpreterBuilder.create_broadcastî  s(   € ÜœBŸOšO¨C¯H©H°eÓ<¸c¿i¹i×>NÑ>NÓOÐOr$   c                	ó–   € \        \        P                  ! VP                  VP                  .4      VP                  P
                  4      # r&   )r   re   Úconcatenater   r   rm   rú  s   &&&r!   Ú
create_catÚInterpreterBuilder.create_catñ  s/   € ÜœBŸNšN¨C¯H©H°c·h±hÐ+?Ó@À#Ç)Á)×BRÑBRÓSÐSr$   c                	óš   € \        \        P                  ! VP                  VP                  .RR7      VP                  P
                  4      # )rè   r  rY   )r   re   Ústackr   r   rm   rú  s   &&&r!   Úcreate_joinÚInterpreterBuilder.create_joinô  s1   € äœBŸHšH c§h¡h°·±Ð%9ÀÔCÀSÇYÁY×EUÑEUÓVÐVr$   c                	óÆ   € \        VP                  R,          VP                  P                  4      \        VP                  R,          VP                  P                  4      3# ).).r   ).rè   ry  )r    rÈ  s   &&r!   Úcreate_splitÚInterpreterBuilder.create_splitø  sE   € ä˜SŸX™X fÕ-¨s¯y©y×/?Ñ/?Ó@Ä,ÈsÏxÉxÐX^ÕO_Ðad×ajÑaj×aqÑaqÓBrÐsÐsr$   c           	     	óÈ  € VP                   p\        VP                  \        P                  4      '       d[   \        \        P                  ! W2P                  ^ ,          \        VP                  4      R7      VP                  P                  4      # \        \        P                  ! W2P                  \        VP                  4      R7      VP                  P                  4      # r¯  )rI   rŽ   r   r�   r©   r   re   Úfullr   r¬   rm   )r    r·  rp  rI   s   &&& r!   Úcreate_splatÚInterpreterBuilder.create_splatü  s‹   € Ø—‘ˆÜ�c—i‘i¤§¡×/Ò/Ü¤§¢¨¯x©x¸­{Ä-ÐPS×PYÑPYÓBZÔ [Ð]`×]fÑ]f×]mÑ]mÓnÐnä¤§¢¨¯x©x¼}ÈSÏYÉYÓ?WÔ XÐZ]×ZcÑZc×ZjÑZjÓkÐkr$   c           	     	ó¸   € \        \        P                  ! RVP                  ^ ,          \	        VP
                  4      R7      VP
                  P                  4      # )rè   rd   r¢  )r   re   rå  r   r¬   r   rm   r…  s   &&r!   Úcreate_unsplatÚ!InterpreterBuilder.create_unsplat  s:   € ÜœBŸGšG E¨3¯8©8°A­;¼mÈCÏIÉIÓ>VÔWÐY\×YbÑYb×YiÑYiÓjÐjr$   c                	ó  € W@P                   9  d   \        R V 24      hV P                   V,          p\        \        P                  ! VP
                  VP
                  VP
                  V4      VP                  P                  4      # )úunsupported semantic )Úir_sem_to_interpreter_semr   r   rÌ  Ú
atomic_casr   r   rm   )r    r¾  ÚcmprÈ  ÚsemÚscopes   &&&&&&r!   Úcreate_atomic_casÚ$InterpreterBuilder.create_atomic_cas  si   € Ø×4Ñ4Ô4ÜÐ4°S°EÐ:Ó;Ð;Ø×,Ñ,¨SÕ1ˆÜœL×3Ò3°C·H±H¸c¿h¹hÈÏÉÐRUÓVÐX[×XaÑXa×XhÑXhÓiÐir$   c           	     	óp  € WP                   9  d   \        R V 24      hWPP                  9  d   \        RV 24      hV P                   V,          pV P                  V,          p\        \        P
                  ! WP                  VP                  VP                  V4      VP                  P                  4      # )zunsupported rmwOp rì  )	Úir_rmw_op_to_interpreter_rmw_opr   rí  r   rÌ  Ú
atomic_rmwr   r   rm   )r    ÚrmwOpr¾  rÈ  rÂ  rð  rñ  s   &&&&&&&r!   Úcreate_atomic_rmwÚ$InterpreterBuilder.create_atomic_rmw  s˜   € Ø×<Ñ<Ô<ÜÐ1°%°Ð9Ó:Ð:Ø×4Ñ4Ô4ÜÐ4°S°EÐ:Ó;Ð;Ø×4Ñ4°UÕ;ˆØ×,Ñ,¨SÕ1ˆÜœL×3Ò3°E¿8¹8ÀSÇXÁXÈtÏyÉyÐZ]Ó^Ð`c×`iÑ`i×`pÑ`pÓqÐqr$   c                	ó   € \        R 4      h)z4extern_elementwise not supported in interpreter mode©ÚNotImplementedError)r    ÚlibNameÚlibPathÚsymbolÚargListÚretTypeÚisPures   &&&&&&&r!   Úcreate_extern_elementwiseÚ,InterpreterBuilder.create_extern_elementwise  s   € Ü!Ð"XÓYÐYr$   c                	ó   € \        R 4      h)z,inline_asm not supported in interpreter moderû  )r    Ú	inlineAsmÚconstraintsÚvaluesr°  r  Úpacks   &&&&&&&r!   Úcreate_inline_asmÚ$InterpreterBuilder.create_inline_asm  ó   € Ü!Ð"PÓQÐQr$   c                	ó‚  € R V P                   ^ ,           RV P                   ^,           RV P                   ^,           R2pV'       d   VRV 2,          pV'       d   \        P                  ! RR /R7       V F"  p\        VRVP                   2,           4       K$  	  V'       d   \        P                  ! RR7       R# R# )Ú(z, Ú)Ú r(   c                ó   € R V R 2# )Ú0xÚ02xr9   rÙ   s   &r!   r+  Ú1InterpreterBuilder.create_print.<locals>.<lambda>$  s   € ¸bÀÀ3À¹Lr$   )Ú	formatterN)r3  re   Úset_printoptionsÚprintr   )r    ÚprefixÚhexr  ÚisSignedÚmsgr6   s   &&&&&  r!   Úcreate_printÚInterpreterBuilder.create_print  sž   € ð
 �$—-‘- Õ"Ð# 2 d§m¡m°AÕ&6Ð%7°r¸$¿-¹-ÈÕ:JÐ9KÈ1ÐMˆßØ�Q�v�h�<ÕˆCßÜ×Ò¨5Ñ2HÐ*IÕJÛˆEÜ�#˜!˜EŸJ™J˜<Ð(Õ(Ö)ñ çÜ×Ò¨$×/ñ r$   c                	ó&   € V'       g	   Q V 4       hR # r&   r9   )r    Ú	conditionÚmessages   &&&r!   Úcreate_assertÚ InterpreterBuilder.create_assert*  s   € çÐ&˜W˜IÓ&Šyr$   c                	ó$   € V'       g   Q R 4       hR# )zAssume failedNr9   )r    r  s   &&r!   Úcreate_assumeÚ InterpreterBuilder.create_assume.  s   € ßÐ)˜/Ó)Šyr$   c                	ó   € R # r&   r9   r   s   &r!   Úcreate_barrierÚ!InterpreterBuilder.create_barrier1  s   € ár$   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )rG   rH   r   rI   rJ   rK   Útensor_shaperM   rê  r'   rT   r€   r9   )rN   s   "r!   rO   r%  5  s;   € ÷ ñ °,ð ÐGYð Ðdvð Ø4=ðØJNðØY\ñr$   c                	ó@   € \        WW4V4      pVP                  4        V# r&   )rE   r^   )r    rH   rI   rK   r*  rê  rT   Údescs   &&&&&&& r!   Úcreate_make_tensor_descriptorÚ0InterpreterBuilder.create_make_tensor_descriptor5  s   € ä ¨WÀGÓLˆØ�‰ŒØˆr$   c               ó    € V ^8„  d   QhRRRR/# )rG   r,  rE   rÈ  rJ   r9   )rN   s   "r!   rO   r%  ;  s    € ÷ [ñ [Ð+;ð [ÐFXñ [r$   c           	     	ó0  € \        V\        4      '       g   Q hVP                  V4      w  rVVP                  4       p\	        V4      pVP
                  p	V	\        P                  P                  8X  d.   \        \        P                  ! VP                  VR 7      V4      p
MdV	\        P                  P                  8X  d8   \        \        P                  ! VP                  \        R4      VR 7      V4      p
M\!        RV	 24      hV P#                  WVW£VRR7      # )rd   r÷   zunsupported padding F)rÏ  rÐ  rÁ  )rŽ   rE   rt   r.   r¬   rT   r¸   ÚPADDING_OPTIONÚPAD_ZEROr   re   rµ   r   ÚPAD_NANÚ	full_likeÚfloatr   r½  )r    r,  rÈ  rÏ  rÐ  rÎ  rÂ  rÑ  rÒ  rT   rÃ  s   &&&&&      r!   Úcreate_descriptor_loadÚ)InterpreterBuilder.create_descriptor_load;  så   € ä˜$Ô 0×1Ò1Ð1Ð1Ø×.Ñ.¨wÓ7‰
ˆØ×&Ñ&Ó(ˆÜ  Ó*ˆØ—,‘,ˆØ”c×(Ñ(×1Ñ1Ô1Ü ¤§¢¨t¯y©yÀÔ!IÈ8ÓT‰EØœ×*Ñ*×2Ñ2Ô2Ü ¤§¢¨d¯i©i¼¸u»ÈXÔ!VÐX`Óa‰EäÐ3°G°9Ð=Ó>Ð>Ø×&Ñ& t°5Ø7FÐTYð 'ó [ð 	[r$   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   r,  rE   r6   r   rÈ  rJ   r9   )rN   s   "r!   rO   r%  K  s(   € ÷ Gñ GÐ,<ð GÀ\ð GÐ\nñ Gr$   c                	óP   € VP                  V4      w  rEV P                  WBVR R 4      # r&   )rt   rÇ  )r    r,  r6   rÈ  rÎ  rÂ  s   &&&&  r!   Úcreate_descriptor_storeÚ*InterpreterBuilder.create_descriptor_storeK  s+   € Ø×.Ñ.¨wÓ7‰
ˆØ×'Ñ'¨°T¸4ÀÓFÐFr$   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   r,  rE   Ú	x_offsetsr   Úy_offsetr9   )rN   s   "r!   rO   r%  O  s#   € ÷ 	+ñ 	+Ð-=ð 	+È,ð 	+Ðbnñ 	+r$   c                	ó¶  € VP                   P                  P                  p\        V4      p\        P
                  ! VP                  P                  ^ ,          VP                  R,          .VR7      pRpRp	\        VP                  4       FA  w  r«\        V\        P                  4      V.pV P                  WW‰4      P                  WzR3&   KC  	  \        Wu4      # )r   rd   N:NNNrY   )rH   r   r,   r¬   re   Úzerosr   rI   rL   Ú	enumerater   r�   r›   r6  )r    r,  r=  r>  r°  r   Únp_dtypeÚresultrÏ  rÐ  rË   Úx_offsetrÈ  s   &&&&&        r!   Úcreate_descriptor_gatherÚ+InterpreterBuilder.create_descriptor_gatherO  s®   € Ø—	‘	—‘×*Ñ*ˆÜ  Ó'ˆÜ—’˜9Ÿ>™>×/Ñ/°Õ2°D×4DÑ4DÀRÕ4HÐIÐQYÔZˆØˆØˆÜ$ Y§^¡^Ö4‰KˆAÜ# H¬b¯h©hÓ7¸ÐBˆGØ×6Ñ6°tÀnÓf×kÑkˆF�a�4‹Lñ 5ô ˜FÓ*Ð*r$   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rG   r,  rE   r6   r   r=  r>  r9   )rN   s   "r!   rO   r%  Z  s+   € ÷ ?ñ ?Ð.>ð ?À|ð ?Ð`lð ?Ø,8ñ?r$   c                	óì   € \        VP                  4       FZ  w  rV\        VP                  V,          VP                  4      p\        V\        P
                  4      V.pV P                  WV4       K\  	  R # r&   )rA  r   r   r   r�   r›   r:  )	r    r,  r6   r=  r>  rË   rD  ÚslicerÈ  s	   &&&&&    r!   Úcreate_descriptor_scatterÚ,InterpreterBuilder.create_descriptor_scatterZ  sT   € ä$ Y§^¡^Ö4‰KˆAÜ  §¡¨A¥°·±Ó<ˆEÜ# H¬b¯h©hÓ7¸ÐBˆGØ×(Ñ(¨°gÖ>ó 5r$   c                	ó4  € \        V4      pR VP                  9   d.   \        \        P                  ! ^RVR7      VP
                  4      # V\        P                  8X  d.   \        \        P                  ! ^RVR7      VP
                  4      # \        RV 24      h)rƒ   rd   Tzunsupported type rY   )r¬   Únamer   re   rå  rm   r†  Ú	TypeError)r    r°  Únp_types   && r!   Úget_all_ones_valueÚ%InterpreterBuilder.get_all_ones_valuea  ss   € Ü Ó%ˆØ�G—L‘LÔ Ü¤§¢¨¨2°WÔ =¸t¿{¹{ÓKÐKØœŸ™Ô Ü¤§¢¨¨4°wÔ ?ÀÇÁÓMÐMäÐ/°¨vÐ6Ó7Ð7r$   c               óD   € V ^8„  d   QhRRRRRRRRRRR	RR
RRRRRRRRR/# )rG   rò  r   Úlhs_scale_handlezOptional[TensorHandle]Úlhs_format_enumz_ir.ScaleDotElemTypeTYró  Úrhs_scale_handleÚrhs_format_enumÚ	fast_mathr'   Ú
lhs_k_packÚ
rhs_k_packÚ
acc_handler#  r9   )rN   s   "r!   rO   r%  j  sp   € ÷ 	0ñ 	0 \ð 	0ÐE[ð 	0Ø+Að	0ØHTð	0à,Bð	0àUkð	0ð &*ð	0ð 8<ð	0ð JNð	0ð '3ð		0ð 8Dñ		0r$   c                	ó¼   € \        WW8R R7      p\        WEWiRR7      p\        P                  ! W¼4      V
P                  ,           p\	        V\
        P                  4      # )F)r  T)r  re   r®  r   r   r�   r¡   )r    rò  rS  rT  ró  rU  rV  rW  rX  rY  rZ  r_  r`  rC  s   &&&&&&&&&&&   r!   Úcreate_dot_scaledÚ$InterpreterBuilder.create_dot_scaledj  sJ   € ô
 /¨sÀoÐjoÔpˆÜ.¨sÀoÐjnÔoˆä—’˜8Ó.°·±Õ@ˆÜ˜F¤B§J¡JÓ/Ð/r$   )r|   r/  r2  r3  r.  N)Úzero)µr:   r;   r<   r=   r¸   ÚMEM_SEMANTICÚACQUIRErÌ  ÚRELEASEÚRELAXEDÚACQUIRE_RELEASErí  Ú	ATOMIC_OPÚADDÚRMW_OPÚFADDÚMINÚUMINÚMAXÚUMAXÚANDÚORÚXORÚXCHGrõ  rU   r7  r=  r@  rD  rH  rK  rN  rR  rU  rY  r\  r`  rc  rf  ri  rl  rp  rt  rw  rz  r  r‚  rˆ  r‹  r�  r’  r–  r™  rœ  rŸ  r¢  r¥  r©  r¬  r±  rµ  r¸  rÄ  rÉ  r½  rÇ  rÝ  Úcreate_si_to_fpÚcreate_ui_to_fpÚcreate_fp_to_siÚcreate_fp_to_uiÚcreate_fp_extÚcreate_fp_truncÚcreate_int_castr  rî  rõ  Úcreate_faddÚcreate_fmulÚcreate_fdivÚcreate_fremÚcreate_fsubÚcreate_fnegÚ
create_mulÚcreate_precise_divfÚcreate_sdivÚcreate_udivÚcreate_sremÚcreate_uremÚ
create_addÚ
create_subÚ
create_shlÚcreate_lshrÚcreate_minsiÚcreate_minuiÚcreate_minimumfÚcreate_minnumfÚcreate_maxsiÚcreate_maxuiÚcreate_maximumfÚcreate_maxnumfÚcreate_icmpSLEÚcreate_icmpSLTÚcreate_icmpSGEÚcreate_icmpSGTÚcreate_icmpULEÚcreate_icmpULTÚcreate_icmpUGEÚcreate_icmpUGTÚcreate_icmpEQÚcreate_icmpNEÚcreate_fcmpOLTÚcreate_fcmpOGTÚcreate_fcmpOLEÚcreate_fcmpOGEÚcreate_fcmpOEQÚcreate_fcmpONEÚcreate_fcmpULTÚcreate_fcmpUGTÚcreate_fcmpULEÚcreate_fcmpUGEÚcreate_fcmpUEQÚcreate_fcmpUNEÚ
create_andÚ
create_xorÚ	create_orÚcreate_int_to_ptrÚcreate_ptr_to_intr  ra  rg  rj  rt  Úcreate_selectrz  r
  r�  Ú
create_cosÚ
create_expÚcreate_exp2Úcreate_iabsÚcreate_floorÚcreate_ceilÚ
create_logÚcreate_log2Úcreate_precise_sqrtÚcreate_sqrtÚ
create_sinrŸ  r£  Úcreate_reshaperª  r´  rº  rÃ  rÉ  rÐ  rÔ  r×  rÛ  rß  râ  ræ  ré  rò  rø  r  r
  r  r!  r$  r'  r-  r6  r:  rE  rJ  rP  r\  rC   r9   r$   r!   r   r   d  sß  † à×Ñ× Ñ  ,×";Ñ";×"CÑ"CØ×Ñ× Ñ  ,×";Ñ";×"CÑ"CØ×Ñ× Ñ  ,×";Ñ";×"CÑ"CØ×Ñ×(Ñ(¨,×*CÑ*C×*SÑ*Sð	!Ðð 	�‰×Ñ˜<×.Ñ.×2Ñ2Ø�‰×Ñ˜L×/Ñ/×4Ñ4Ø�‰×Ñ˜<×.Ñ.×2Ñ2Ø�‰×Ñ˜L×/Ñ/×4Ñ4Ø�‰×Ñ˜<×.Ñ.×2Ñ2Ø�‰×Ñ˜L×/Ñ/×4Ñ4Ø�‰×Ñ˜<×.Ñ.×2Ñ2Ø�‰×Ñ˜,×-Ñ-×0Ñ0Ø�‰×Ñ˜<×.Ñ.×2Ñ2Ø�‰×Ñ˜L×/Ñ/×4Ñ4ð'Ð#õNò"ò%ò
òòòòòòòòòòòòòòòòòò3ò+òHòIòGòKòIòKòIòKòIòMòMòMòLòWò
WòNò
Dò+òDò[ñ P€OÙO€OÙO€OÙO€OÙM€MÙO€OÙZ€Oò3òUò.ñ J€KÙN€KÙL€KÙJ€KÙN€KÙG€KÙM€JÙTÐÙC€KÙC€KáJ€KÙJ€KÙH€JÙM€JÙO€JÙQ€KÙN€LÙN€LÙQ€OÙM€NÙN€LÙN€LÙQ€OÙM€NÙS€NÙM€NÙV€NÙP€NÙS€NÙM€NÙV€NÙP€NÙM€MÙQ€MÙM€NÙP€NÙS€NÙV€NÙN€NÙR€NÙM€NÙP€NÙS€NÙV€NÙN€NÙR€NÙP€JÙP€JÙN€IØ&ÐØ&Ðòdò8ò	Jò.ò9ñ [€MòFò<ò3ñ >€JÙ=€JÙ?€KÙ>€KÙA€LÙ?€KÙ=€JÙ?€KÙGÐÙ?€KÙ=€Jò3òEñ u€NòLòdòNò1ò$eò
eòNòPòTòWòtòlòkòjòròZòRò0ò'ò*ò÷õ[õ Gõ	+õ?ò8÷	0ñ 	0r$   r   r   Úinterpreter_semanticc                  ó>   € ] tR tRtRtR R ltR R ltR R ltR	tR
# )Ú_LangPatchScopei{  z2Tracks patched attributes so they can be restored.c               ó   € V ^8„  d   QhRR/# r"  r9   )rN   s   "r!   rO   Ú_LangPatchScope.__annotate__~  s   € ÷ =ñ =˜$ñ =r$   c                	ó   € . V n         R # r&   ©Ú_changesr   s   &r!   rU   Ú_LangPatchScope.__init__~  s	   € Ø:<ˆŽr$   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rG   ÚobjÚobjectrM  r€   r6   r#  r$  r9   )rN   s   "r!   rO   r»  �  s(   € ÷ "ñ "˜Fð "¨#ð "°fð "Àñ "r$   c                	óx   € \        W\        4      pV P                  P                  WV34       \	        WV4       R # r&   )r¯   Ú_MISSINGr¾  ÚappendÚsetattr)r    rÁ  rM  r6   Úoriginals   &&&& r!   r7   Ú_LangPatchScope.set_attr�  s/   € Ü˜3¤hÓ/ˆØ�‰×Ñ˜c¨Ð2Ô3Ü�˜5Ö!r$   c               ó   € V ^8„  d   QhRR/# r"  r9   )rN   s   "r!   rO   r»  †  s   € ÷ -ñ -˜ñ -r$   c                	ó®   € V P                   '       dC   V P                   P                  4       w  rpV\        J d   \        W4       KF  \	        WV4       KT  R # r&   )r¾  ÚpoprÄ  ÚdelattrrÆ  )r    rÁ  rM  rÇ  s   &   r!   ÚrestoreÚ_LangPatchScope.restore†  sA   € Ø�m�mˆmØ"&§-¡-×"3Ñ"3Ó"5ÑˆC�xØœ8Ó#Ü˜Ö"ä˜ 8Ö,ñ r$   r½  N)	r:   r;   r<   r=   r>   rU   r7   rÍ  rC   r9   r$   r!   r¹  r¹  {  s   † Ù<õ=õ"÷
-ñ -r$   r¹  c               ó   € V ^8„  d   QhRR/# ©rG   rñ  r¹  r9   )rN   s   "r!   rO   rO   �  s   € ÷ *ñ *°?ñ *r$   c                ó8   € R V/R lpVP                  WV4       R# )Úmemberc           
     ó„   € T ! T/ VP                  4        UUu/ uF  w  r4VR 8w  g   K  W4bK  	  uppBR \        /B # u uppi )r  )Úitemsr·  )rÒ  ÚargsÚkwargsÚkÚvs   $*,  r!   r+  Ú_patch_attr.<locals>.<lambda>�  s[   € ¹Àð :wàMSÏ\É\Ì^ôAVÙM[ÁTÀQØDEÈÑDTô BFÀÂÙM[òAVñ:wô bvó:wùóAVs   ˜<¨<N)r7   )rÁ  rM  rÒ  r  rñ  Ú
new_members   &&&&& r!   Ú_patch_attrrÛ  �  s"   € ðx fó x€Jð 
‡N�N�3˜jÖ)r$   c               ó   € V ^8„  d   QhRR/# rÐ  r9   )rN   s   "r!   rO   rO   —  s   € ÷ ;ñ ;¨ñ ;r$   c                ó¬   € \         P                  ! V 4       F9  w  r4\        P                  P	                  V4      '       g   K,  \        WWAV4       K;  	  R # r&   )ÚinspectÚ
getmembersr�   ÚcoreÚ
is_builtinrÛ  )Úpkgr  rñ  rM  rÒ  s   &&&  r!   Ú_patch_builtinrã  —  s:   € Ü×*Ò*¨3Ö/‰ˆÜ�7‰7×Ñ˜f×%Ô%Ü˜ 6°EÖ:ó 0r$   c               ó   € V ^8„  d   QhRR/# rÐ  r9   )rN   s   "r!   rO   rO   �  s   € ÷ :ñ : oñ :r$   c                óò   a€ R  oR pVP                  V RR 4       VP                  V RV3R l4       VP                  V RR 4       VP                  V RR	 4       VP                  V R
\        V4      4       R# )c                ój   € V P                   P                  pVP                  ^8X  d   \        V4      # R# )rè   T)r  r   Úsizer'   )r    r   s   & r!   Ú	_get_boolÚ%_patch_lang_tensor.<locals>._get_boolŸ  s,   € Ø�{‰{×Ñˆð "ŸY™Y¨!œ^Œt�D‹zÐ5°Ð5r$   c                óØ  € \        \        P                  ! V P                  P                  4      V P                  P
                  4      pV P                  P                  4       '       g   Q h\        V P                  P                  4      pVR,          VR,          uVR&   VR&   \        P                  P                  V P
                  V4      p\        P                  P                  W4      # )rG   r  rY   )r   re   r¨  r  r   r   r°  Úis_blockÚlistrI   r�   rà  r©   r  )r    r  rL   Úres_tys   &   r!   Ú_get_transposeÚ*_patch_lang_tensor.<locals>._get_transpose¥  sŸ   € ÜœbŸlšl¨4¯;©;×+;Ñ+;Ó<¸d¿k¹k×>OÑ>OÓPˆØ�y‰y×!Ñ!×#Ò#Ð#Ð#Ü˜4Ÿ9™9Ÿ?™?Ó+ˆØ+6°r­?¸KÈ½OÐ(ˆ�B‰˜ R™Ü—‘×#Ñ# D§J¡J°Ó<ˆÜ�w‰w�~‰~˜fÓ-Ð-r$   Ú	__index__c                ó\   € \        V P                  P                  P                  4       4      # r&   )rƒ   r  r   Úsqueezer   s   &r!   r+  Ú$_patch_lang_tensor.<locals>.<lambda>­  s   € ´S¸¿¹×9IÑ9I×9QÑ9QÓ9SÔ5Tr$   r)   c                ó   <€ S! V 4      # r&   r9   )r    rè  s   &€r!   r+  ró  ®  s	   ø€ ±I¸d´Or$   Ú__repr__c                ó@   € \        V P                  P                  4      # r&   )Úreprr  r   r   s   &r!   r+  ró  ¯  s   € ´D¸¿¹×9IÑ9IÔ4Jr$   Ú__str__c                ó@   € \        V P                  P                  4      # r&   )r€   r  r   r   s   &r!   r+  ró  °  s   € ´3°t·{±{×7GÑ7GÔ3Hr$   r   N)r7   Úproperty)r  rñ  rî  rè  s   && @r!   Ú_patch_lang_tensorrû  �  sh   ø€ ò6ò.ð 
‡N�N�6˜;Ñ(TÔUØ	‡N�N�6˜:Ô'CÔDØ	‡N�N�6˜:Ñ'JÔKØ	‡N�N�6˜9Ñ&HÔIØ	‡N�N�6˜3¤¨Ó 8Ö9r$   c                  ó:   € ] tR tRtR tR tR tR tR tR t	Rt
R	# )
ÚReduceScanOpInterfacei´  c                	ó   € Wn         W n        R # r&   ©r  Ú
combine_fn)r    r  r   s   &&&r!   rU   ÚReduceScanOpInterface.__init__¶  s   € ØŒ	Ø$Žr$   c                	óT   € Ve$   V\        V4      8¼  d   \        RV RV 24      hR # R # )Nzaxis z out of bounds for shape )rR   r   )r    rI   r  s   &&&r!   Ú
check_axisÚ ReduceScanOpInterface.check_axisº  s4   € ØÒ ¬¨E«
Ô 2Ü˜u T FÐ*CÀEÀ7ÐKÓLÐLñ !3Ñr$   c                	óæ   € V Fj  p\        V\        P                  P                  4      '       g   \	        R \        V4       24      hV P                  VP                  V P                  4       Kl  	  R# )zinput must be a tensor, got N)	rŽ   r�   rà  r  r   r°  r  rI   r  )r    r»   rp  s   && r!   Úcheck_tensorÚ"ReduceScanOpInterface.check_tensor¾  sN   € ÛˆCÜ˜c¤2§7¡7§>¡>×2Ò2Ü Ð#?ÄÀSÃ	¸{Ð!KÓLÐLØ�O‰O˜CŸI™I t§y¡yÖ1ó r$   c                	ót  € \        V4      p\        VR 4      '       dO   VP                  '       d=   VP                  V4      p\        P
                  ! V\        VP                  4      4      pM\        P                  ! V.VR7      pTp\        P                  P                  \        WP                  4      V4      # )rI   rd   )r¬   r-   rI   rk   r�   r©   rì  re   rê   rà  r  r   rm   )r    rÓ  r   rB  Úret_types   &&&  r!   Ú	to_tensorÚReduceScanOpInterface.to_tensorÄ  s|   € Ü  Ó'ˆÜ�3˜× Ò  S§Y§Y YØ—*‘*˜XÓ&ˆCÜ—}’} U¬D°·±«OÓ<‰Hä—(’(˜C˜5¨Ô1ˆCØˆHÜ�w‰w�~‰~œl¨3·±Ó=¸xÓHÐHr$   c                	ó   € \        R 4      h)z,apply_impl must be implemented by subclassesrû  r  s   &&r!   Ú
apply_implÚ ReduceScanOpInterface.apply_implÎ  r  r$   c                	óø   € \        V\        4      '       g   V P                  V34      ^ ,          # V P                  V4       V P	                  V4      p\        V\
        \        34      '       d   \        V4      # V3# )r   )rŽ   ÚtupleÚapplyr  r  rì  )r    r»   rÓ  s   && r!   r  ÚReduceScanOpInterface.applyÑ  sb   € Ü˜%¤×'Ò'Ø—:‘:˜u˜iÓ(¨Õ+Ð+Ø×Ñ˜%Ô Ø�o‰o˜eÓ$ˆÜ'¨¬d´E¨]×;Ò;Œu�S‹zÐHÀ#ÀÐHr$   rÿ  N)r:   r;   r<   r=   rU   r  r  r
  r  r  rC   r9   r$   r!   rý  rý  ´  s$   † ò%òMò2òIòRöIr$   rý  c                  óJ   a € ] tR tRtV 3R ltR tR tR	R ltR tR t	Rt
V ;t# )
Ú	ReduceOpsiÙ  c                	ó2   <€ \         SV `  W4       W0n        R # r&   )ÚsuperrU   Ú	keep_dims)r    r  r   r  Ú	__class__s   &&&&€r!   rU   ÚReduceOps.__init__Û  s   ø€ Ü‰Ñ˜Ô*Ø"Žr$   c                	óþ   € . pV Fi  pVe   VP                  V4       K  ^ pVP                  V P                  VP                  P                  P	                  4       VP
                  4      4       Kk  	  \        V4      V3# r&   )rÅ  r
  r  r   Úflattenr   r  )r    r»   r  rÓ  r   s   &&&  r!   ÚunravelÚReduceOps.unravelß  sg   € ØˆÛˆDØÒØ—
‘
˜4Ö à�Ø—
‘
˜4Ÿ>™>¨$¯+©+×*:Ñ*:×*BÑ*BÓ*DÀdÇjÁjÓQÖRñ ô �S‹z˜4ÐÐr$   c                	ó>  a aaa€ S P                   pS P                  SS P                   4      w  op. p. pS^ ,          P                  P                  P                  pV^ V Wc^,           R ,           pS Fl  pVP                  VP                  P                  4       VP                  \        P                  ! WxP                  P                  P                  R7      4       Kn  	  \        V^ ,          P                  4       EFÞ  p	\        P                  ! W–4      oS^ V SV^,           R ,           o\        ;QJ d"    . VVV 3R l\        V4       4       F  NK  	  5M! VVV 3R l\        V4       4       4      p
SV,          ^ 8X  dQ   \        \        V4      4       F6  pW«,          P                  P                  P                  4       W[,          S&   K8  	  KÖ  \        ;QJ d"    . VVV 3R l\        V4       4       F  NK  	  5M! VVV 3R l\        V4       4       4      pS P                   P"                  ! . VOV
O5!  p\%        V\        4      '       g   V3MTp\        \        V4      4       Fn  p\%        WË,          \&        P(                  P*                  4      '       d+   WË,          P                  P                  P                  4       MWË,          W[,          S&   Kp  	  EKá  	  . p\        V4       F«  w  rŸS P,                  '       dO   Ve   \        P.                  ! Wó4      pMG\        \        V4      4       F  p\        P.                  ! V^ 4      pK  	  MVf   VP                  4       pVP                  S P1                  VSV	,          P                  4      4       K­  	  V# )r   Nrd   c              3  ó|   <"  € T F1  w  rSP                  VS,          SV,          P                  4      x € K3  	  R # 5ir&   ©r
  r   )Ú.0Úiir¯  r»   Úinput_indexr    s   &  €€€r!   Ú	<genexpr>Ú+ReduceOps.generic_reduce.<locals>.<genexpr>ø  s1   øé € ÐsÑ]rÑTYÐTV §¡¨q°­~¸uÀR½y¿¹× OÐ OÓ]rùó   ƒ9<c              3  ó|   <"  € T F1  w  rSP                  VS,          SV,          P                  4      x € K3  	  R # 5ir&   r   )r!  ÚoiÚor»   Úoutput_indexr    s   &  €€€r!   r$  r%  þ  s1   øé € Ð!wÑ`vÑW\ÐWY $§.¡.°°<µÀ%ÈÅ)Ç/Á/×"RÐ"RÓ`vùr&  )r  r  r  r   rI   rÅ  re   r@  r   rh   rç  Úunravel_indexr  rA  rR   rZ   r   ÚfnrŽ   r�   rà  r  r  rÓ  r
  )r    r»   Úoriginal_axisr  Ú
input_dataÚoutput_dataÚinput_shapeÚoutput_shaperp  rË   Úinput_tupleÚjÚ	acc_tupleÚcombine_fn_retrÓ  r   Ú_r#  r*  s   ff               @@r!   Úgeneric_reduceÚReduceOps.generic_reduceé  s­  û€ ØŸ	™	ˆØ—l‘l 5¨$¯)©)Ó4‰ˆˆtØˆ
ØˆØ˜A•h—o‘o×*Ñ*×0Ñ0ˆØ" 1 TÐ*¨[À½¸Ð-CÕCˆÛˆCØ×Ñ˜cŸj™jŸo™oÔ.Ø×ÑœrŸxšx¨¿J¹J¿O¹O×<QÑ<QÔRÖSñ ô �z !•}×)Ñ)×*ˆAä×*Ò*¨1Ó:ˆKØ& q¨Ð.°¸TÀA½X¸YÐ1GÕGˆLßœ%ÖsÔ]fÐgqÔ]rÓsŸ%™%ÖsÔ]fÐgqÔ]rÓsÓsˆKØ˜4Õ  AÔ%äœs ;Ó/Ö0�AØ3>µ>×3HÑ3H×3MÑ3M×3RÑ3RÓ3T�K•N <Ó0ó 1÷ "œEÖ!wÔ`iÐjuÔ`vÓ!wŸE™EÖ!wÔ`iÐjuÔ`vÓ!wÓw�	Ø!%§¡×!3Ò!3Ð!M°YÐ!MÀÓ!M�Ü6@ÀÔQV×6WÒ6W˜^Ñ.Ð]k�	Üœs ;Ó/Ö0�AÜV`Ø!�¤b§g¡g§n¡n÷W6ò W6°9µ<×3FÑ3F×3KÑ3K×3PÑ3PÔ3RØ;D½<ð  •N <Ó0ô 1ñ +ð" ˆÜ  Ö-‰GˆAØ�~�~ˆ~Ø Ò,ÜŸ>š>¨$Ó5‘Dä"¤3 {Ó#3Ö4˜Ü!Ÿ~š~¨d°AÓ6šò 5ð Ò&à—y‘y“{�Ø�J‰J�t—~‘~ d¨E°!­H¯N©NÓ;Ö<ñ .ð ˆ
r$   c                	óì  € \        V\        4      '       d
   V^ ,          MTpRpRpV'       dN   V P                  V! VP                  P                  V P
                  V P                  R7      VP                  4      pV'       dR   V P                  V! VP                  P                  V P
                  V P                  R7      \        P                  4      pVe   Ve   WE3# Ve   V# Ve   V# \        R4      h)r   N©r  Úkeepdimsz-val_reduce_op and idx_reduce_op are both None)rŽ   r  r
  r  r   r  r  r   r�   r›   r   )r    r»   Úval_reduce_opÚidx_reduce_oprÈ  Úidxs   &&&&  r!   Úmin_maxÚReduceOps.min_max  sÃ   € ä& u¬e×4Ò4��a–¸%ˆØˆØˆßØ—.‘.¡¨u¯|©|×/@Ñ/@ÀtÇyÁyÐ[_×[iÑ[iÔ!jÐlq×lwÑlwÓxˆCßØ—.‘.¡¨u¯|©|×/@Ñ/@ÀtÇyÁyÐ[_×[iÑ[iÔ!jÔln×ltÑltÓuˆCØŠ?˜sšØ�8ˆOØŠ_ØˆJØŠ_ØˆJäÐLÓMÐMr$   c                	ó¸   € V P                  \        P                  ! VP                  P                  V P
                  V P                  R 7      VP                  4      # )r:  )r
  re   rÁ  r  r   r  r  r   r  s   &&r!   rÁ  ÚReduceOps.sum&  s<   € Ø�~‰~œbŸfšf U§\¡\×%6Ñ%6¸T¿Y¹YÐQU×Q_ÑQ_Ô`Ðbg×bmÑbmÓnÐnr$   c                	ó  € V P                   \        P                  P                  J g)   V P                   \        P                  P                  J d8   V P                  V^ ,          \        P                  \        P                  R7      # V P                   \        P                  P                  J g)   V P                   \        P                  P                  J d8   V P                  V^ ,          \        P                  \        P                  R7      # V P                   \        P                  P                  J d*   V P                  V^ ,          \        P                  RR7      # V P                   \        P                  P                  J d*   V P                  V^ ,          \        P                  RR7      # V P                   \        P                  P                  J d   V P!                  V^ ,          4      # V P#                  V4      # )r   )r<  r=  N)r   r�   ÚstandardÚ_argmin_combine_tie_break_leftÚ_argmin_combine_tie_break_fastr?  re   ÚnanminÚ	nanargminÚ_argmax_combine_tie_break_leftÚ_argmax_combine_tie_break_fastÚnanmaxÚ	nanargmaxÚ_elementwise_maxÚ_elementwise_minÚ_sum_combinerÁ  r7  r  s   &&r!   r  ÚReduceOps.apply_impl)  sH  € ð
 �O‰OœrŸ{™{×IÑIÓIØ—?‘?¤b§k¡k×&PÑ&PÓPØ—<‘<  a¥¼¿	¹	ÔQS×Q]ÑQ]�<Ó^Ð^Ø�o‰o¤§¡×!KÑ!KÓKØ—‘¤B§K¡K×$NÑ$NÓNØ—<‘<  a¥¼¿	¹	ÔQS×Q]ÑQ]�<Ó^Ð^Ø�_‰_¤§¡× <Ñ <Ó<Ø—<‘<  a¥¼¿	¹	ÐQU�<ÓVÐVØ�_‰_¤§¡× <Ñ <Ó<Ø—<‘<  a¥¼¿	¹	ÐQU�<ÓVÐVØ�_‰_¤§¡× 8Ñ 8Ó8Ø—8‘8˜E !�HÓ%Ð%ð ×&Ñ& uÓ-Ð-r$   )r  r&   )r:   r;   r<   r=   rU   r  r7  r?  rÁ  r  rC   Ú__classcell__©r  s   @r!   r  r  Ù  s)   ø† õ#ò ò)ôVNò$o÷.ð .r$   r  c                  ó@   a € ] tR tRtV 3R ltR tR tR tR tRt	V ;t
# )ÚScanOpsi?  c                	ó2   <€ \         SV `  W4       W0n        R # r&   )r  rU   Úreverse)r    r  r   rV  r  s   &&&&€r!   rU   ÚScanOps.__init__A  s   ø€ Ü‰Ñ˜Ô*ØŽr$   c                	ó¦   € V P                  \        P                  ! VP                  P                  V P
                  R 7      VP                  R7      .# ©r  rd   )r
  re   Úcumsumr  r   r  r   r  s   &&r!   rZ  ÚScanOps.cumsumE  s8   € Ø—‘œrŸyšy¨¯©×):Ñ):ÀÇÁÔKÐSX×S^ÑS^�Ó_Ð`Ð`r$   c                	ó¦   € V P                  \        P                  ! VP                  P                  V P
                  R 7      VP                  R7      .# rY  )r
  re   Úcumprodr  r   r  r   r  s   &&r!   r]  ÚScanOps.cumprodH  s8   € Ø—‘œrŸzšz¨%¯,©,×*;Ñ*;À$Ç)Á)ÔLÐTY×T_ÑT_�Ó`ÐaÐar$   c           	     	ón  a aaa€ . p. pS^ ,          P                   P                  P                  pS Fl  pVP                  VP                   P                  4       VP                  \        P
                  ! WEP                   P                  P                  R7      4       Kn  	  \        V^ ,          P                  4       EF*  p\        P                  ! Wd4      o\        ;QJ d"    . VVV 3R l\        V4       4       F  NK  	  5M! VVV 3R l\        V4       4       4      pSS P                  ,          ^ 8X  dQ   \        \        V4      4       F6  pWx,          P                   P                  P                  4       W8,          S&   K8  	  KÊ  \        ;QJ d*    . VV 3R l\        \        S4      4       4       F  NK  	  5M#! VV 3R l\        \        S4      4       4       4      o\        ;QJ d"    . VVV 3R l\        V4       4       F  NK  	  5M! VVV 3R l\        V4       4       4      p	S P                  P                   ! . V	OVO5!  p
\#        V
\        4      '       g   V
3MT
p	\        \        V4      4       Fn  p\#        W˜,          \$        P&                  P(                  4      '       d+   W˜,          P                   P                  P                  4       MW˜,          W8,          S&   Kp  	  EK-  	  . p\        V4       F7  w  rgVP                  S P+                  VSV,          P                  4      4       K9  	  V# )r   rd   c              3  ó|   <"  € T F1  w  rSP                  VS,          SV,          P                  4      x € K3  	  R # 5ir&   r   )r!  r"  r¯  Úindexr»   r    s   &  €€€r!   r$  Ú'ScanOps.generic_scan.<locals>.<genexpr>V  s/   øé € ÐfÑPeÁuÀr˜Ÿ™¨¨%­°%¸µ)·/±/×BÐBÓPeùr&  c              3  óv   <"  € T F.  qSP                   8X  d   SV,          ^,
          MSV,          x € K0  	  R# 5i)rè   Nr  )r!  rË   ra  r    s   & €€r!   r$  rb  \  s-   øé € Ð"kÑYjÐTU¸¿	¹	´> 5¨¥8¨a¦<ÀuÈQÅxÔ#OÓYjùs   ƒ69c              3  ó|   <"  € T F1  w  rSP                  VS,          SV,          P                  4      x € K3  	  R # 5ir&   r   )r!  r(  r)  r»   Ú
prev_indexr    s   &  €€€r!   r$  rb  ]  s1   øé € Ð!uÑ^tÑUZÐUW $§.¡.°°:µÀÀbÅ	ÇÁ×"PÐ"PÓ^tùr&  )r  r   rI   rÅ  re   r@  r   rh   rç  r+  r  rA  r  rR   rZ   r   r,  rŽ   r�   rà  r  r
  )r    r»   r.  r/  rI   rp  rË   r   r3  r4  r5  rÓ  ra  re  s   ff          @@r!   Úgeneric_scanÚScanOps.generic_scanK  s:  û€ Øˆ
ØˆØ�a•—‘×$Ñ$×*Ñ*ˆÛˆCØ×Ñ˜cŸj™jŸo™oÔ.Ø×ÑœrŸxšx¨·Z±Z·_±_×5JÑ5JÔKÖLñ ô �z !•}×)Ñ)×*ˆAä×$Ò$ QÓ.ˆEß”5ÖfÔPYÐZdÔPeÓf—5‘5ÖfÔPYÐZdÔPeÓfÓfˆDØ�T—Y‘YÕ 1Ô$äœs ;Ó/Ö0�AØ,0­G¯N©N×,?Ñ,?×,DÑ,DÓ,F�K•N 5Ó)ó 1÷ #œUÕ"kÔY^Ô_bÐchÓ_iÔYjÓ"kŸU™UÕ"kÔY^Ô_bÐchÓ_iÔYjÓ"kÓk�
ß!œEÖ!uÔ^gÐhsÔ^tÓ!uŸE™EÖ!uÔ^gÐhsÔ^tÓ!uÓu�	Ø!%§¡×!3Ò!3Ð!F°YÐ!FÀÓ!F�Ü6@ÀÔQV×6WÒ6W˜^Ñ.Ð]k�	Üœs ;Ó/Ö0�AÜOYØ!�¤b§g¡g§n¡n÷P6ò P6¨I­L×,?Ñ,?×,DÑ,D×,IÑ,IÔ,KØ;D½<ð  •N 5Ó)ô 1ñ +ð" ˆÜ  Ö-‰GˆAØ�J‰J�t—~‘~ d¨E°!­H¯N©NÓ;Ö<ñ .àˆ
r$   c           
     	óî  € . pV P                   '       dj   V Fb  pVP                  V P                  \        P                  ! VP
                  P                  V P                  R 7      VP                  4      4       Kd  	  MTpV P                  \        P                  P                  8X  d   V P                  V^ ,          4      pMSV P                  \        P                  P                  8X  d   V P                  V^ ,          4      pMV P!                  V4      pV P                   '       dO   V FH  p\        P                  ! VP
                  P                  V P                  R 7      VP
                  n        KJ  	  V# rÆ  )rV  rÅ  r
  re   Úflipr  r   r  r   r   r�   rD  rO  rZ  Ú_prod_combiner]  rf  )r    r»   Ú	new_inputrp  rÓ  s   &&   r!   r  ÚScanOps.apply_impli  sô   € Øˆ	Ø�<�<ˆ<Û�Ø× Ñ  §¡´·²¸¿
¹
¿¹ÈdÏiÉiÔ0XÐZ]×ZcÑZcÓ!dÖeò ð ˆIØ�?‰?œbŸk™k×6Ñ6Ô6Ø—+‘+˜i¨�lÓ+‰CØ�_‰_¤§¡× 9Ñ 9Ô9Ø—,‘,˜y¨�|Ó,‰Cð ×#Ñ# IÓ.ˆCØ�<�<ˆ<Û�Ü"$§'¢'¨#¯*©*¯/©/ÀÇ	Á	Ô"J�—
‘
–ñ àˆ
r$   )rV  )r:   r;   r<   r=   rU   rZ  r]  rf  r  rC   rQ  rR  s   @r!   rT  rT  ?  s#   ø† õòaòbò÷<ð r$   rT  c               ó   € V ^8„  d   QhRR/# rÐ  r9   )rN   s   "r!   rO   rO   }  s   € ÷ ;ñ ;˜oñ ;r$   c                óú   € RR lpRR lpV P                  \        RV4       V P                  \        RV4       V P                  \        P                  RV4       V P                  \        P                  RV4       R# )Fc                ó8   € \        WV4      P                  V 4      # r&   )r  r  )r»   r  r   r  rÖ  s   &&&&,r!   Ú_new_reduceÚ'_patch_reduce_scan.<locals>._new_reduce�  s   € Ü˜¨9Ó5×;Ñ;¸EÓBÐBr$   c                ó8   € \        WV4      P                  V 4      # r&   )rT  r  )r»   r  r   rV  rÖ  s   &&&&,r!   Ú	_new_scanÚ%_patch_reduce_scan.<locals>._new_scan„  s   € Ü�t¨Ó1×7Ñ7¸Ó>Ð>r$   ÚreduceÚassociative_scanN)F)r7   r�   rà  )rñ  rp  rs  s   &  r!   Ú_patch_reduce_scanrw  }  sY   € ôCô?ð 
‡N�N”2�x Ô-Ø	‡N�N”2Ð)¨9Ô5Ø	‡N�N”2—7‘7˜H kÔ2Ø	‡N�N”2—7‘7Ð.°	Ö:r$   c               ó   € V ^8„  d   QhRR/# rÐ  r9   )rN   s   "r!   rO   rO   �  s   € ÷ Oñ O /ñ Or$   c           	     óÊ  € R  pRR lpRR lpR pVP                  V RV4       VP                  V RV4       VP                  V RV4       VP                  V R\        4       VP                  V P                  R	V4       VP                  V R
\        VRR7      4       VP                  V R\        VRR7      4       VP                  V R\        VRR7      4       \	        V4       R# )c                ó  € V P                   R 8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP	                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R	8X  d   VP                  4       # V P                   R
8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP                  4       # V P                   R8X  d   VP!                  4       # V P                   R8X  d   VP#                  4       # V P                   R8X  d   VP%                  4       # V P                   R8X  d   VP'                  4       # \)        RV  R24      h)ÚvoidrŸ   r—   r–   r™   r˜   r›   rš   rœ   rl   r†   rˆ   rŠ   r‡   r‰   Úfp16Úbf16Úfp32Úfp64zfail to convert z to ir type)rM  Úget_void_tyrN  rR  rU  rY  r\  r`  rc  rf  ri  rw  rl  rp  rz  rt  r@  rD  rH  rK  r   )r    r  s   &&r!   Ú
_new_to_irÚ$_patch_lang_core.<locals>._new_to_ir�  s  € à�9‰9˜ÔØ×&Ñ&Ó(Ð(Ø�Y‰Y˜&Ô Ø×&Ñ&Ó(Ð(Ø�Y‰Y˜&Ô Ø×&Ñ&Ó(Ð(Ø�Y‰Y˜'Ô!Ø×'Ñ'Ó)Ð)Ø�Y‰Y˜'Ô!Ø×'Ñ'Ó)Ð)Ø�Y‰Y˜(Ô"Ø×(Ñ(Ó*Ð*Ø�Y‰Y˜'Ô!Ø×'Ñ'Ó)Ð)Ø�Y‰Y˜(Ô"Ø×(Ñ(Ó*Ð*Ø�Y‰Y˜'Ô!Ø×'Ñ'Ó)Ð)Ø�Y‰Y˜(Ô"Ø×(Ñ(Ó*Ð*Ø�Y‰Y˜'Ô!Ø×'Ñ'Ó)Ð)Ø�Y‰Y˜)Ô#Ø×)Ñ)Ó+Ð+Ø�Y‰Y˜*Ô$Ø×*Ñ*Ó,Ð,Ø�Y‰Y˜*Ô$Ø×*Ñ*Ó,Ð,Ø�Y‰Y˜)Ô#Ø×)Ñ)Ó+Ð+Ø�Y‰Y˜&Ô Ø×&Ñ&Ó(Ð(Ø�Y‰Y˜&Ô Ø×&Ñ&Ó(Ð(Ø�Y‰Y˜&Ô Ø×'Ñ'Ó)Ð)Ø�Y‰Y˜&Ô Ø×(Ñ(Ó*Ð*ÜÐ+¨D¨6°Ð=Ó>Ð>r$   Nc                ó:   € Vf   ^pVf   ^ T rTMYrT\        WEV4      # r&   )rh   )Úarg1Úarg2ÚsteprÖ  r¸  Úends   &&&,  r!   Ú
_new_rangeÚ$_patch_lang_core.<locals>._new_range»  s*   € ØŠ<ØˆDØŠ<Ø˜D‘3à�3Ü�U Ó&Ð&r$   c                ó$   € V '       g   Q V4       hR # r&   r9   )rw  r  s   &&r!   Ú_new_static_assertÚ,_patch_lang_core.<locals>._new_static_assertÄ  s   € ßÐ�SÓŠtr$   c                ó¼  € \        V \        P                  4      '       g   V # \        V\        \        34      '       g   V.MTpV Uu. uF1  p\        V\        P
                  4      '       d   VP                  MTNK3  	  pp\        V4      \        ^\        V P                  4      4      8w  d   \        RV 24      hV P                  P                  W!4       V # u upi )rè   z$len(values) != len(input.shape) for )rŽ   r�   r  rì  r  Ú	constexprr6   rR   rÌ  rI   r   r  r7   )r»   r  rM  rØ  s   &&& r!   Ú	_set_attrÚ#_patch_lang_core.<locals>._set_attrÇ  sª   € ä˜%¤§¡×+Ò+ØˆLä!+¨F´T¼5°M×!BÒ!B�&‘ÈˆÙIOÓPÉÀAœZ¨¬2¯<©<×8Ò8�!—'’'¸aÒ?ÉˆÐPÜˆv‹;œ#˜a¤ U§[¡[Ó!1Ó2Ô2ÜÐCÀDÀ6ÐJÓKÐKØ�‰×Ñ˜dÔ+Øˆùò	 Qs   Á7Crh   Ústatic_rangeÚstatic_assertÚstatic_printÚto_irÚmultiple_ofztt.divisibility)rM  Úmax_contiguousztt.contiguityÚmax_constancyztt.constancy)NN)Ú )r7   r  r   r   rw  )Úlangrñ  r�  rˆ  r‹  r�  s   &&    r!   Ú_patch_lang_corerš  �  s½   € ò(?ôX'ôò
ð 
‡N�N�4˜ *Ô-Ø	‡N�N�4˜¨Ô4Ø	‡N�N�4˜Ð*<Ô=Ø	‡N�N�4˜¬Ô/Ø	‡N�N�4—:‘:˜w¨
Ô3Ø	‡N�N�4˜¬°	Ð@QÔ(RÔSØ	‡N�N�4Ð)¬7°9À?Ô+SÔTØ	‡N�N�4˜¬'°)À.Ô*QÔRä�uÖr$   c                ón  € \        4       pV P                  P                  4        UUu. uFB  w  r#\        P                  ! V4      '       g   K#  V\
        \
        P                  39   g   K@  VNKD  	  ppp\        V4      ^8¼  g   Q R4       hV Fv  p\        V\        V4       \        VP                  \        V4       V\
        8X  d   \        VP                  \        V4       \        VP                  V4       \        WQ4       Kx  	  \        \
        P                  P                  \        V4       V# u uppi )rè   z:triton.language must be visible from within jit'd function)r¹  Ú__globals__rÔ  rÞ  Úismoduler�   rà  rR   rã  Úinterpreter_builderr  r×   rû  rš  Útensor_descriptor_base)r,  rñ  r6  r6   Úlangsr™  s   &     r!   Ú_patch_langr¡  ß  så   € ÜÓ€EØ#%§>¡>×#7Ñ#7Ô#9ÔpÑ#9‘x�q¼W×=MÒ=MÈe×=TŒUÐY^ÔceÔgi×gnÑgnÐboÑYo�UˆUÑ#9€EÑpÜˆu‹:˜Œ?ÐXÐXÓXˆ?ÛˆÜ�tÔ0°%Ô8Ü�t—{‘{Ô$7¸Ô?Ø”2Œ:Ü˜4Ÿ9™9Ô&9¸5ÔAÜ˜4Ÿ;™;¨Ô.Ü˜Ö%ñ ô ”2—7‘7×1Ñ1Ô3FÈÔNØ€Lùó qs   ¨ D1ÁD1Á*D1c                ó  € \        V \        4      '       de   \        \        P                  ! V .\        P
                  R 7      \        P                  4      p\        P                  ! V\        P                  4      # \        V \        4      '       Ed"   \        P                  ! \        P                  P                  P                  V 4      R4      p\        P                  pRT u;8:  d   R8  d   M M\        P                  pMwRT u;8:  d   R8  d   M M\        P                   pMTR	T u;8:  d   R8  d   M M\        P"                  pM1RT u;8:  d   R
8  d   M M\        P$                  pM\'        RV  24      h\        \        P                  ! V .VR 7      V4      p\        P                  ! W4      # \)        V R4      '       d”   \        P                  ! \        P                  P                  P                  V 4      R4      p\        \        P                  ! V P+                  4       .\        P$                  R 7      V4      p\        P                  ! W4      # \        V \,        4      '       d   \/        V \1        \2        V 4      4      # \        V \4        4      '       dà   V P6                   Uu. uF  p\3        V4      NK  	  ppV P6                  R,          ^8X  g   Q h\        P8                  ! ^4      VR&   \:        P=                  \3        V P>                  4      V P@                   Uu. uF  p\3        V4      NK  	  upTV PB                   Uu. uF  p\        P8                  ! V4      NK  	  upV PD                  R7      # V # u upi u upi u upi )rd   NzUnsupported integer value Údata_ptr)rH   rI   rK   rL   Úpadding_optionl        i   €l        l            lûÿÿÿ         l            rY   )#rŽ   r'   r   re   rê   r†  r�   rŸ   r  rƒ   Ú	str_to_tyÚtritonÚruntimeÚjitÚmangle_typer›   rš   rœ   rl   r   r-   r£  r  r   ÚmapÚ_implicit_cvtr   rK   rŽ  r·  Úmake_tensor_descriptorrH   rI   rL   rT   )rp  r  Útyr   ÚsrK   rß   s   &      r!   r«  r«  ï  su  € Ü�#”t×ÒÜœbŸhšh¨ u´B·H±HÔ=¼r¿w¹wÓGˆÜ�yŠy˜¤§¡Ó)Ð)Ü�#”s×ÓÜ�\Š\œ&Ÿ.™.×,Ñ,×8Ñ8¸Ó=¸tÓDˆÜ—‘ˆØ�SÖ ˜5× Ü—H‘H‰EØ�cÖ!˜E×!Ü—I‘I‰EØ�sÖ"˜U×"Ü—H‘H‰EØ�cÖ!˜E×!Ü—I‘I‰EäÐ9¸#¸Ð?Ó@Ð@ÜœbŸhšh¨ u°EÔ:¸BÓ?ˆÜ�yŠy˜Ó$Ð$Üˆs�J×ÒÜ�\Š\œ&Ÿ.™.×,Ñ,×8Ñ8¸Ó=¸tÓDˆÜœbŸhšh¨¯©«Ð'7¼r¿y¹yÔIÈ2ÓNˆÜ�yŠy˜Ó$Ð$Ü	�Cœ×	Ò	Ü˜S¤#¤m°SÓ"9Ó:Ð:Ü	�CÔ)×	*Ò	*Ø-0¯[ª[Ó9©[¨”= Ö#©[ˆÐ9Ø�{‰{˜2� !Ô#Ð#Ð#Ü—l’l 1“oˆ�‰Ü#×:Ñ:ÄÈcÏhÉhÓ@WØ\_×\eÒ\eÓAfÑ\eÐWXÄ-ÐPQÖBRÑ\eÑAfÐpwØad×apÒapÓGqÑapÐ\]ÌÏÊÐUVÎÑapÑGqØJMÏ+É+ð ;ó Wð 	Wð €Jùò :ùò BgùÚGqs   Ê,M?Ì&N
ÍN	c                ó†   € \        V \        P                  P                  P                  4      '       d   V P
                  # V # r&   )rŽ   r¦  r§  r¨  ÚTensorWrapperrH   )Úts   &r!   Ú_unwrap_tensorr²    s-   € Ü�!”V—^‘^×'Ñ'×5Ñ5×6Ò6Ø�v‰vˆØ€Hr$   c                óÔ   € \        V\        P                  P                  P                  4      '       d4   \        P                  P                  P	                  WP
                  4      # V # r&   )rŽ   r¦  r§  r¨  r°  r   )r±  Úoriginal_tensors   &&r!   Ú_rewrap_tensorrµ    sE   € Ü�/¤6§>¡>×#5Ñ#5×#CÑ#C×DÒDÜ�~‰~×!Ñ!×/Ñ/°×3HÑ3HÓIÐIØ€Hr$   c                  ó4   € ] tR tRt. 3R ltR tR tR tRtR# )ÚGridExecutori  c                	ó.  € ^RI Hp Wn        W n        W0n        W@n        \        P                  ! V4      P                  4        UUu/ uF  w  rgWe! V4      bK  	  pppV Uu. uF  qhP                  V4      R8X  g   K  VNK  	  upV n
        R# u uppi u upi )rè   )Ú_normalize_tyrŽ  N)r¨  r¹  r,  Ú	arg_namesÚgridÚpre_run_hooksrÞ  Úget_annotationsrÔ  ÚgetÚ
constexprs)	r    r,  rº  r»  r¼  r¹  rM  r­  r?   s	   &&&&&    r!   rU   ÚGridExecutor.__init__!  sƒ   € Ý&àŒØ"ŒØŒ	Ø*ÔÜCJ×CZÒCZÐ[]ÓC^×CdÑCdÔCfÔgÑCf±x°t˜4 ¨rÓ!2Ò2ÑCfˆÑgÙ,5Ób©I D×9LÑ9LÈTÓ9RÐVaÑ9aŸ4˜4©IÑbˆŽùó hùÚbs   ÁBÁ BÁ<Bc                	ó    aa	€ / o	VV	3R  loV Uu. uF  pS! V4      NK  	  pp/ pVP                  4        F  w  rgS! V4      WV&   K  	  WE3# u upi )c                ó  <€ \        V \        4      '       d   \        V \        SV 4      4      # \        V \        4      '       dS   \	        S! V P
                  4      V P                  V P                  V P                  V P                  V P                  4      # \        V R 4      '       g   V # \        V 4      pVP                  4       P                  4       S9  d2   VP                  4       pVP                  4       SVP                  4       &   SVP                  4       P                  4       ,          pVP!                  ^ RR7      pVP#                  W!P%                  4       VP'                  4       VP)                  4       4       \+        W0R7      pV# )r£  Úcpu)Údevice)r´  )rŽ   r  r   rª  r   rH   rI   rK   rL   rT   Úround_f32_to_tf32r-   r²  Úuntyped_storager£  rÃ  Ú	new_emptyÚset_Ústorage_offsetrç  r\   rµ  )rp  Úunwrapped_argÚstorageÚcpu_argÚ_to_cpuÚstoragess   &   €€r!   rÍ  Ú,GridExecutor._init_args_hst.<locals>._to_cpu.  s;  ø€ Ü˜#œu×%Ò%Ü$ S¬#¨g°sÓ*;Ó<Ð<Ü˜CÔ!1×2Ò2Ü'Ù˜CŸH™HÓ%Ø—I‘IØ—K‘KØ—O‘OØ—K‘KØ×)Ñ)óð ô ˜S *×-Ò-Ø�
ä*¨3Ó/ˆMØ×,Ñ,Ó.×7Ñ7Ó9ÀÔIØ'×7Ñ7Ó9�Ø/6¯{©{«}�˜×)Ñ)Ó+Ñ,à˜}×<Ñ<Ó>×GÑGÓIÕJˆGØ#×-Ñ-¨a¸Ð-Ó>ˆGØ�L‰L˜×">Ñ">Ó"@À-×BTÑBTÓBVÐXe×XlÑXlÓXnÔoÜ$ WÔBˆGØˆNr$   )rÔ  )
r    Úargs_devrÖ  rp  Úargs_hstÚ
kwargs_hstr5   r6   rÍ  rÎ  s
   &&&     @@r!   Ú_init_args_hstÚGridExecutor._init_args_hst+  sY   ù€ Øˆö	ñ4 -5Ó5©H S‘G˜C–L©HˆÐ5ð ˆ
Ø Ÿ,™,ž.‰JˆCÙ% e›nˆJ‹Oñ )àÐ#Ð#ùò 6s   �Ac                	óú   a
a€ / oV
V3R  lo
\        W4       F  w  rVS
! WV4       K  	  VP                  4        F  w  rxWG,          p	S
! W‰4       K  	  SP                  4        F  w  rVVP                  V4       K  	  R# )c                óª  <€ \        V R 4      '       dW   \        V 4      \        V4      rV P                  4       VP                  4       3SV P                  4       P                  4       &   R# \	        V \
        4      '       d   \        W4       F  w  rS! W4       K  	  R# \	        V \        4      '       d    S! V P                  VP                  4       R# R# )r£  N)	r-   r²  rÆ  r£  rŽ   r  Úzipr   rH   )Úarg_devÚarg_hstÚ	_from_cpurÎ  s   &&€€r!   rÚ  Ú1GridExecutor._restore_args_dev.<locals>._from_cpuS  s¢   ø€ Ü�w 
×+Ò+ä#1°'Ó#:¼NÈ7Ó<S˜ØBI×BYÑBYÓB[Ð]d×]tÑ]tÓ]vÐAw�˜×0Ñ0Ó2×;Ñ;Ó=Ó>Ü˜G¤U×+Ò+Ü*-¨gÖ*?Ñ&�WÙ˜gÖ/ó +@ä˜GÔ%5×6Ò6Ù˜'Ÿ,™,¨¯©Ö5ñ 7r$   N)r×  rÔ  r  Úcopy_)r    rÐ  rÑ  rÖ  rÒ  rØ  rÙ  r5   Ú	kwarg_devÚ	kwarg_hstrÚ  rÎ  s   &&&&&     @@r!   Ú_restore_args_devÚGridExecutor._restore_args_devP  sn   ù€ Øˆö		6ô !$ HÖ 7ÑˆGÙ�gÖ'ñ !8ð %Ÿl™lžn‰NˆCØ"�ˆIÙ�iÖ+ñ -ð #+§/¡/Ö"3ÑˆWØ�M‰M˜'Ö"ó #4r$   c                	ó  € \         P                  ! V P                  4      pVP                  4        UUu/ uF  w  rEWCP                  9   g   K  WEbK  	  pppV P                  W4      w  rgV P                   F  pV! V/ VB  K  	  \        V P                  4      p	 \         P                  ! V P                  .VO5/ VB p
V
P                  4        UUu/ uF#  w  r¼Y»V P                  9   d   TM
\        V4      bK%  	  p
pp\        V P                  4      '       d   V P                  V
4      MV P                  p\        V4      ^8:  g   Q R4       hVR^\        V4      ,
          ,          ,           p\        P                  ! V!    \!        V^ ,          4       F]  p\!        V^,          4       FD  p\!        V^,          4       F+  p\        P#                  WïV4       V P                  ! R/ V
B  K-  	  KF  	  K_  	   T	P3                  4        T P5                  YY'4       R# u uppi u uppi   \$         dF   p\&        P(                  P*                  P,                  '       d   h \/        \1        T4      4      ThRp?ii ; i  T	P3                  4        i ; i)é   z#grid must have at most 3 dimensionsNr¢  r9   )rÞ  Úgetfullargspecr,  rÔ  rÕ  rÓ  r¼  r¡  Úgetcallargsr¿  r«  Úcallabler»  rR   rž  r=  rh   r7  Ú	Exceptionr¦  ÚknobsÚcompilationÚfront_end_debuggingr   r÷  rÍ  rß  )r    rÐ  rÖ  Úargspecr×  rØ  rÑ  rÒ  ÚhookÚpatch_scoperÕ  rM  rp  r»  rÚ   r5  r6  Úes   &*,               r!   Ú__call__ÚGridExecutor.__call__i  s  € ô ×(Ò(¨¯©Ó1ˆØ#)§<¡<¤>ÔG¡>™4˜1°Q¿,¹,Ñ5F”$�!’$¡>ˆÑGà#×2Ñ2°8ÓDÑˆà×&Ô&ˆDÙ�(Ð)˜jÔ)ñ 'ô " $§'¡'Ó*ˆð	"ô ×&Ò& t§w¡wÐH°ÒH¸ZÑHˆDØbf×blÑblÔbnÔoÑbnÑU^ÐUY�D¨¯©Ô!8™#¼mÈCÓ>PÒPÑbnˆDÑoä&.¨t¯y©y×&9Ò&9�4—9‘9˜T”?¸t¿y¹yˆDÜ�t“9 ”>ÐHÐ#HÓH�>Ø˜% 1¤s¨4£y¥=Õ1Õ1ˆDÜ×,Ò,¨dÒ3ð	7Ü˜t A�wž�AÜ" 4¨¥7ž^˜Ü!& t¨A¥w¦˜AÜ/×<Ñ<¸QÀ1ÔEØ ŸGšG™O dœOó "0ó ,ò (ð ×ÑÔ!à×Ñ˜x°6ÖFùó? Hùó pøô ô 7Ü—<‘<×+Ñ+×?×?Ð?ØÜ&¤t¨A£wÓ/°QÐ6ûð7ûð
 ×ÑÕ!úsJ   ´HÁHÂ7I8 Ã)HÃ:BI8 ÆA3H% ÈI8 È%I5È0A I0É0I5É5I8 É8J
)rº  r¿  r,  r»  r¼  N)	r:   r;   r<   r=   rU   rÓ  rß  rî  rC   r9   r$   r!   r·  r·    s   † à:<ô cò#$òJ#ö2$Gr$   r·  c                  ó   € ] tR tRtR tRtR# )ÚASTTransformeri�  c           	     	óº  € . pVP                    F  pW P                  V4      .,          pK  	  \        V4      ^8”  d   \        R4      h\        P
                  ! \        P                  ! \        P                  ! R\        P                  ! 4       R7      R\        P                  ! 4       R7      VP                  \        P                  ! RR7      .. R7      Vn	        V# )	rè   z&Multiple assignments are not supportedr·  )ÚidÚctxr
  )r6   r   rô  F)r6   )ÚfuncrÕ  Úkeywords)ÚtargetsÚvisitrR   r   ÚastÚCallÚ	AttributeÚNameÚLoadr6   ÚConstant)r    ÚnodeÚnamesÚtargets   &&  r!   Úvisit_AssignÚASTTransformer.visit_Assign’  sŸ   € ØˆØ—l”lˆFØ—j‘j Ó(Ð)Õ)ŠEñ #äˆu‹:˜Œ>ÜÐEÓFÐFô —X’XÜ—’¤S§X¢XÐ1GÌSÏXÊXËZÔ%XÐ_jÜ#&§8¢8£:ô/Ø6:·j±jÄ#Ç,Â,ÐUZÔB[Ð5\ÐgiôkˆŒ
ð ˆr$   r9   N)r:   r;   r<   r=   r  rC   r9   r$   r!   rñ  rñ  �  s   † ör$   rñ  c                  óN   € ] tR tRt]! 4       tR tR tR tR t	R t
R tR tR	tR
# )ÚFunctionRewriteri   c                	ó:   € Wn         W n        R V n        ^ V n        R# )r˜  N)r,  rÖ  ÚfilenameÚdef_file_lineno)r    r,  rÖ  s   &&,r!   rU   ÚFunctionRewriter.__init__£  s   € ØŒØŒØˆŒà$%ˆÖr$   c                	óN  €  \         P                  ! V P                  4      w  rT P	                  4       w  T n        T n        T P                  T4      T n        T P                  T4      pT P                  T4      pT P                  T4      #   \         d    T P                  u # i ; ir&   )rÞ  Úgetsourcelinesr,  ræ  Ú_get_jit_fn_file_liner  r  Ú	_find_defÚ
def_linenoÚ_prepare_sourceÚ_transform_astÚ_compile_and_exec)r    Úlinesr6  rÙ  Útransformed_asts   &    r!   Úrewrite_astÚFunctionRewriter.rewrite_astª  s’   € ð	Ü×-Ò-¨d¯g©gÓ6‰HˆEð /3×.HÑ.HÓ.JÑ+ˆŒ�tÔ+ØŸ.™.¨Ó/ˆŒØ×"Ñ" 5Ó)ˆØ×-Ñ-¨cÓ2ˆØ×%Ñ% oÓ6Ð6øô ô 	Ø—7‘7ŠNð	ús   ‚"B
 Â
B$Â#B$c                	ób   € ^RI Hp V! V P                  4      pVP                  VP                  3# )rè   )ÚJITFunction)r¨  r  r,  Ú	file_nameÚdef_file_line_number)r    r  Újit_funcs   &  r!   r  Ú&FunctionRewriter._get_jit_fn_file_line¾  s*   € Ý$Ù˜tŸw™wÓ'ˆØ×!Ñ! 8×#@Ñ#@Ð@Ð@r$   c                	ó’   € ^ p\        V4       F5  w  r4VP                  4       P                  R4      '       g   K,  V^,           pK7  	  V# )r   zdef )rA  ÚstripÚ
startswith)r    r  r  rË   Úlines   &&   r!   r  ÚFunctionRewriter._find_defÃ  s@   € Øˆ
ä  Ö'‰GˆAØ�z‰z‹|×&Ñ& v×.Ô.Ø �U’
ñ (ð Ðr$   c                	óz   € WP                   ^,
          R pRP                  V4      p\        P                  ! V4      # )rè   Nr˜  )r  ÚjoinÚtextwrapÚdedent)r    r  rÙ  s   && r!   r  Ú FunctionRewriter._prepare_sourceË  s2   € Ø—o‘o¨Õ)Ð*Ð+ˆØ�g‰g�e‹nˆÜ�Š˜sÓ#Ð#r$   c                	óæ   € \         P                  ! V4      pV P                  P                  V4      p\         P                  ! V4       V P
                  ^,
          p\         P                  ! W44       V# r¢  )rù  ÚparseÚast_transformerrø  Úfix_missing_locationsr  Úincrement_lineno)r    rÙ  Ú
parsed_astr  Ú
inc_linenos   &&   r!   r  ÚFunctionRewriter._transform_astÐ  sY   € ô —Y’Y˜s“^ˆ
Ø×.Ñ.×4Ñ4°ZÓ@ˆÜ×!Ò! /Ô2Ø×)Ñ)¨AÕ-ˆ
Ü×Ò˜_Ô9ØÐr$   c                	ó"  € \        WP                  R R7      p/ V P                  CpV P                  P                  p\        4       P                  4        F  w  rVWT9  g   K  WdV&   K  	  \        W$V4       W0P                  P                  ,          # )Úexec)r  Úmode)	Úcompiler  rÖ  r,  rœ  ÚglobalsrÔ  r/  r:   )r    r  Úcompiled_codeÚlocal_namespaceÚ
fn_globalsr5   r6   s   &&     r!   r  Ú"FunctionRewriter._compile_and_execÛ  so   € Ü ¿-¹-ÈfÔUˆØ)˜TŸ[™[˜/ˆØ—W‘W×(Ñ(ˆ
Ü!›)Ÿ/™/Ö+‰JˆCØÖ$Ø"'˜3“ñ ,ô 	ˆ]¨Ô8ØŸw™w×/Ñ/Õ0Ð0r$   )r  r  r  r,  rÖ  N)r:   r;   r<   r=   rñ  r(  rU   r  r  r  r  r  r  rC   r9   r$   r!   r  r     s.   † Ù$Ó&€Oò&ò7ò(Aò
ò$ò
	ö1r$   r  c                  óZ   € ] tR tRt$ / tR]R&   R R ltR tR tR t	]
R	 4       t R
 tRtR# )ÚInterpretedFunctioniæ  zDict[Callable, Callable]Úrewritten_fnc               ó   € V ^8„  d   QhRR/# r"  r9   )rN   s   "r!   rO   Ú InterpretedFunction.__annotate__ê  s   € ÷ Iñ I¨ñ Ir$   c                	óô   € Wn         \        V3/ VB V n        W n        . V n        \
        P                  ! V4      pVP                  P                  4        Uu. uF  qDP                  NK  	  upV n
        R # u upi r&   )r,  r  ÚrewriterrÖ  r¼  rÞ  Ú	signatureÚ
parametersr  rM  rº  )r    r,  rÖ  r>  rØ  s   &&,  r!   rU   ÚInterpretedFunction.__init__ê  sa   € ØŒÜ(¨Ñ6¨vÑ6ˆŒØŒØˆÔä×%Ò% bÓ)ˆ	Ø*3×*>Ñ*>×*EÑ*EÔ*GÓHÑ*G QŸ&œ&Ñ*GÑHˆŽùÒHs   ÁA5c               	ó‚   € V'       d   R # V P                  4       p\        WPP                  WP                  4      ! V/ VB # r&   )Úrewriter·  rº  r¼  )r    r»  ÚwarmuprÕ  rÖ  r,  s   &$$*, r!   ÚrunÚInterpretedFunction.runó  s5   € ßÙØ�\‰\‹^ˆÜ˜B§¡°×6HÑ6HÔIÈ4ÐZÐSYÑZÐZr$   c                	ób   € \        V4      '       g   Q hV P                  P                  V4       R # r&   )rå  r¼  rÅ  )r    rë  s   &&r!   Úadd_pre_run_hookÚ$InterpretedFunction.add_pre_run_hookù  s$   € Ü˜�~Š~Ðˆ~Ø×Ñ×!Ñ! $Ö'r$   c                	óÔ   € V P                   V P                  9  d2   V P                  P                  4       V P                  V P                   &   V P                  V P                   ,          # r&   )r,  r9  r=  r  r   s   &r!   rB  ÚInterpretedFunction.rewriteý  sJ   € Ø�7‰7˜$×+Ñ+Ô+Ø)-¯©×)BÑ)BÓ)DˆD×Ñ˜dŸg™gÑ&Ø× Ñ  §¡Õ)Ð)r$   c                	ó.   € V P                   P                  # r&   )r,  r:   r   s   &r!   r:   ÚInterpretedFunction.__name__  s   € à�w‰w×ÑÐr$   c                	ó®   € \        V P                  4       V P                  4       p V! V/ VB #   \         d   p\	        \        T4      4      ThR p?ii ; ir&   )r¡  r,  rB  ræ  r   r÷  )r    rÕ  rÖ  r,  rí  s   &*,  r!   rî  ÚInterpretedFunction.__call__  sO   € ä�D—G‘GÔØ�\‰\‹^ˆð	3Ù�tÐ&˜vÑ&Ð&øÜô 	3Ü"¤4¨£7Ó+°Ð2ûð	3ús   §/ ¯AºAÁA)rº  r,  rÖ  r¼  r=  N)r:   r;   r<   r=   r9  r?   rU   rD  rG  rB  rú  rî  rC   r9   r$   r!   r8  r8  æ  s<   ‡ à-/€LÐ*Ó/õIò[ò(ò*ð
 ñ ó ð ö3r$   r8  )VÚ__conditional_annotations__Ú
__future__r   rù  r#  rÞ  Útypingr   r   r   r   r   r	   r×   Únumpyre   r¦  Útriton.languageÚlanguager�   r@   r
   Útriton.language.semanticr   Útriton.runtime.jitr   Útriton.tools.tensor_descriptorr   Úerrorsr   Ú	functoolsr   Ú_C.libtritonr   rÌ  r   r¸   Ú_utilsr   r   r   rE   rx   r   r�   r¬   rÕ   rÛ   rà   rå   ró   rþ   r  r  Ú	vectorizer¡   r�  r¢   rž  rl   rd  r  r   rÂ  rÄ  rž  r·  r?   r¹  rÛ  rã  rû  rý  r  rT  rw  rš  r¡  r«  r²  rµ  r·  ÚNodeTransformerrñ  r  r8  )rO  s   @r!   Ú<module>r^     sï  øðß "Ð "Û 
Û Û ß A× Aã Û ã Ý Û Ý !å 3Ý .Ý ;Ý $Ý Ý 6Ý $Ý "áˆCƒL€ð ÷ð ó ð÷@("ñ ("ñV �$Ô÷
&ð 
&ó ð
&òò 	òò@='ò@ò
#òò4ò$ò@+òð2 �lŠl˜4¨¯©¨Ô5€Ø�lŠl˜4¨¯©¨Ô5€Ø—’˜Z°·±°Ô<€÷pñ p÷O0ñ O0ñd ‹8€Ù(Ó*Ð Ù'5Ð6IÓ'JÐ �nÓ J÷-ñ -õ(*õ;õ:÷."Iñ "IôJc.Ð%ô c.ôL;Ð#ô ;õ|;õ Oòdò !òHò÷nGñ nGôb�S×(Ñ(ô ÷ C1ñ C1ôL'3˜/¨!Õ,ö '3r$   