+
    –°³j_J  ã                  ó  € ^ RI Ht ^ RIHtHt ^ RIHtHt ^ RIt^RI	H
t
Ht ^RIHt ]'       d   ^RIHt R R	 lt] ! R
 R4      4       tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR# )é    )Úannotations)Ú	dataclassÚfield)ÚAnyÚTYPE_CHECKINGN)Ú_match_levelsÚDimEntry)Ú
TensorInfo©ÚDimc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚlstÚlistÚitemr   Úreturnz
int | None© )Úformats   "ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/functorch/dim/_getsetitem.pyÚ__annotate__r      s!   € ÷ ñ �Tð  ð ¨ñ ó    c                ó°   € \        V 4       FF  w  r#\        V\        4      '       d#   \        V\        4      '       d   W18X  d   Vu # K=  W1J g   KD  Vu # 	  R# )zÆ
Helper function to find index of item in list.

For DimEntry objects, uses __eq__ comparison which properly handles
both positional and Dim entries.

Returns the index if found, None if not found.
N)Ú	enumerateÚ
isinstancer	   )r   r   ÚiÚ	list_items   &&  r   Ú_safe_indexr      sM   € ô " #ž‰ˆä�dœH×%Ò%¬*°YÄ×*IÒ*IØÔ Ø’ñ !àÕØŠHñ 'ñ r   c                  óˆ   € ] tR t^#t$ RtR]R&   RtR]R&   RtR]R&   ]! ]	R7      t
R	]R
&   ]! ]	R7      tR]R&   RtR]R&   RtR# )ÚIndexingInfoFÚboolÚcan_call_originalÚadvanced_indexingNztorch.Tensor | NoneÚself_tensor)Údefault_factoryz	list[Any]Úflat_inputsúlist[DimEntry]Úresult_levelsÚ
has_devicer   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r!   Ú__annotations__r"   r#   r   r   r%   r'   r(   Ú__static_attributes__r   r   r   r   r   #   sK   ‡ à#Ð�tÓ#Ø#Ð�tÓ#Ø'+€KÐ$Ó+Ù"°4Ô8€K�Ó8Ù$)¸$Ô$?€M�>Ó?Ø€J�×r   r   c               ó    € V ^8„  d   QhRRRR/# )r   Úobjr   r   r    r   )r   s   "r   r   r   -   s   € ÷ 	;ñ 	;�#ð 	;˜$ñ 	;r   c                óh   € ^RI HpHp VP                  ! V 4      ;'       g    VP                  V 4      # )zÁ
Check if an object has first-class dimensions.

This function checks if the object is either a Dim or a functorch Tensor
that has first-class dimensions, using the proper check_exact methods.
)r   ÚTensor)Ú r   r2   Úcheck_exact)r0   r   r2   s   &  r   Úhas_dimsr5   -   s)   € ÷ à�?Š?˜3Ó×:Ð: 6×#5Ñ#5°cÓ#:Ð:r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR	/# )
r   ÚszÚintÚsdÚdimsr   ÚnszÚnsdr   ÚNoner   )r   s   "r   r   r   9   s6   € ÷ 1#ñ 1#˜3ð 1# Cð 1#¨tð 1#¸$ð 1#ÀTð 1#Èdñ 1#r   c           	     ó¢  € ^RI Hp ^p\        V4       Fì  w  rxVP                  '       gÄ   \	        V^,           \        V4      4       FJ  p	W),          P                  '       g   V! RV: RW),          : 24      hWbV	,          P                  ,          pKL  	  W,          ^ 8w  d;   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p
V! RV  RV
 24      hW,          pW¸n        T p MWhP                  ,          pKî  	  W`8w  d   \        V4      p
V! RV  RV R	V
 24      h^ .\        V4      ,          pTp\        \	        \        V4      4      4       F   pWÜV&   WÒV,          P                  ,          pK"  	  \	        \        V4      4       F;  pVP                  W',          P                  4       VP                  WÇ,          4       K=  	  R
# )zE
Bind dimensions to size and calculate proper strides for dim packs.
©ÚDimensionBindErrorz1cannot infer the sizes of two dimensions at once ú and c              3  ó`   "  € T F$  qP                   '       d   VP                  MR x € K&  	  R# 5i)Ú?N)Úis_boundÚsize)Ú.0Údims   & r   Ú	<genexpr>Ú%_bind_dims_to_size.<locals>.<genexpr>L   s   é € ÐNÉÀ#¯¯¨˜CŸHšH¸#Ô=Ëùs   ‚,.z>inferred dimension does not evenly fit into larger dimension: z vs z!Dimension sizes to do not match (z != z) when matching dimension pack N)
r3   r@   r   rD   ÚrangeÚlenrE   ÚtupleÚreversedÚappend)r7   r9   r:   r;   r<   r@   Úrhs_prodr   rG   ÚjÚtupÚinferred_sizeÚnew_stridesÚcurrent_strides   &&&&&         r   Ú_bind_dims_to_sizerU   9   sŸ  € õ %à€HÜ˜D–/‰ˆØ�|�|ˆ|ä˜1˜q�5¤# d£)Ö,�Ø•w×'×'Ð'Ù,ØKÈCÉ7ÐRWÐX\ÕX_ÑWbÐcóð ð  �GŸL™LÕ(’ñ -ð �} Ô!ß”eÑNÉÓN—e‘eÑNÉÓNÓN�Ù(ØTÐUWÐTXÐX\Ð]`Ð\aÐbóð ð �NˆMØ$ŒHØˆHÙàŸ™Õ ŠHñ- "ð2 „~Ü�D‹kˆÙ Ø/°¨t°4¸°zÐA`ÐadÐ`eÐfó
ð 	
ð �#œ˜D›	•/€KØ€NÜ”eœC ›IÓ&Ö'ˆØ'�A‰Ø˜q�'Ÿ,™,Õ&Šñ (ô
 ”3�t“9ÖˆØ�
‰
�4•7—<‘<Ô Ø�
‰
�;•>Ö"ó r   c               ó    € V ^8„  d   QhRRRR/# )r   r%   r   r   rL   r   )r   s   "r   r   r   m   s   € ÷ ñ  ð ¨ñ r   c                ó   € \        V 4      # ©N)rL   )r%   s   &r   Úslice_to_tuplerY   m   s   € Ü�ÓÐr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úindexr   Úindicesr   r   r    r   )r   s   "r   r   r   q   s!   € ÷ %ñ %˜#ð %¨ð %°ñ %r   c                óÚ  € \        V \        4      '       d   VP                  V 4       R # \        V \        P                  4      '       d   VP                  V 4       R# \        V R4      '       d   \        V \        \        34      '       d   VP                  V 4       R# \        V \        4      '       d§   \        V 4      ^ 8¼  d   VP                  V 4       R # V  Fj  p\        V\        P                  \        34      '       g0   \        VR4      '       g   VRJ g   Ve   \        V4      '       g   KX  VP                  V 4        R # 	  VP                  V 4       R# VP                  V 4       R# )TFÚ__iter__.)r   rL   ÚextendÚtorchr2   rN   ÚhasattrÚstrÚbytesr   rK   Úslicer5   )r[   r\   r   s   && r   ÚextractIndicesre   q   s  € Ü�%œ×ÒØ�‰�uÔÙÜ	�Eœ5Ÿ<™<×	(Ò	(Ø�‰�uÔÙÜ�U˜J×'Ò'¬:Ø””Uˆ|÷,ò ,ð 	�‰�uÔÙô �%œ×ÒÜˆu‹:˜ÔØ�N‰N˜5Ô!Ùó ˆDä˜4¤%§,¡,´Ð!6×7Ò7Ü˜4 ×,Ò,Ø˜3“;Ø’<Ü˜D—>”>à—‘˜uÔ%Úñ ð 	�‰�uÔÙð ‡N�N�5ÔÙr   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# )r   Úclsr   ÚfuncÚtypesÚargsÚkwargsr   r   )r   s   "r   r   r   ™   s6   € ÷ 	!ñ 	!�ð 	!˜Cð 	!¨ð 	!°3ð 	!Àð 	!Èñ 	!r   c                óÈ   € V^ ,          pV^,          p\        WV\        V4      4      pVP                  '       d    \        P                  P                  WV4      # \        V4      # )r   )Ú
getsetitemr5   r!   r`   r2   Ú__getitem__Úinvoke_getitem)rg   rh   ri   rj   rk   Úselfr[   Úiinfos   &&&&&   r   Úgetitemrr   ™   sP   € Ø��7€DØ��G€Eä�t¤H¨T£NÓ3€EØ××Ðä�|‰|×'Ñ'¨Ó4Ð4ä˜%Ó Ð r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rp   r   r[   Úrhsr   r=   r   )r   s   "r   r   r   ¥   s(   € ÷ >-ñ >-�#ð >-˜cð >-¨ð >-°ñ >-r   c           	     ó2  € ^RI HpHp \        Y\	        V 4      ;'       g    \	        V4      4      pVP
                  '       d-   \        P                  P                  P                  WV4       R# VP                  ! VRR4      pV'       Ed`   VP                   EF	  pVP                  4       '       d   K  RpVP                   FA  p	V	P                  4       '       d   K  V	P                  4       VP                  4       J g   K?  Rp M	  V'       d   Ky  . p
VP                   FY  pVP                  4       '       d"   V
P                  VP!                  4       4       K:  V
P                  VP                  4       4       K[  	  V! RVP                  4       : R\#        V
4      : R24      h	  VP$                  f   \'        R4      h\)        VP$                  VP                  VP                  4      pMTpVP*                  '       de   \-        VP.                  4      pVP0                  f   \3        R	4      h\        P                  P                  P                  VP0                  WÜ4       R# VP0                  f   \3        R
4      hVP0                  P5                  V4       R# )z2Set values in tensor using first-class dimensions.)r@   r
   NFTz"rhs of setitem contains dimension z, which is not in the dimension on the left (Ú)z"Cannot match levels on None tensorzCannot setitem on None tensorzCannot copy to None tensor)r3   r@   r
   rm   r5   r!   r`   Ú_CÚ
TensorBaseÚ__setitem__ÚcreateÚlevelsÚis_positionalr'   rG   rN   ÚpositionrL   ÚtensorÚAssertionErrorr   r"   rY   r%   r#   ÚRuntimeErrorÚcopy_)rp   r[   rt   r@   r
   rq   Úrhs_infoÚlÚfoundÚresult_levelÚresult_dimsÚrlÚmatched_rhsrQ   s   &&&           r   Úsetitemr‰   ¥   s  € ç0ä�t¤H¨T£N×$CÐ$C´h¸s³mÓD€Eà××Ðä�‰×Ñ×'Ñ'¨°SÔ9Ùð × Ò   e¨UÓ3€Hç€xà—•ˆAØ—?‘?×$Ô$à�Ø$)×$7Ô$7�Là(×6Ñ6×8Ô8Ø(×,Ñ,Ó.°!·%±%³'Õ9à $˜Ùñ %8÷ ‘uà35�KØ#×1Ô1˜Ø×+Ñ+×-Ò-Ø'×.Ñ.¨r¯{©{«}Ö=à'×.Ñ.¨r¯v©v«xÖ8ñ	 2ñ -Ø<¸Q¿U¹U»W¹Kð HÜ! +Ó.Ñ1°ð4óð ñ+ !ð6 �?‰?Ò"Ü Ð!EÓFÐFÜ#Ø�O‰O˜XŸ_™_¨e×.AÑ.Aó
‰ð ˆð ××Ðä˜U×.Ñ.Ó/ˆØ×ÑÒ$ÜÐ>Ó?Ð?Ü�‰×Ñ×'Ñ'¨×(9Ñ(9¸3ÖLð ×ÑÒ$ÜÐ;Ó<Ð<Ø×Ñ×Ñ Ö,r   c               ó    € V ^8„  d   QhRRRR/# )r   rq   r   r   r   r   )r   s   "r   r   r   æ   s   € ÷ Rñ R˜,ð R¨3ñ Rr   c                ó&  € V P                   '       d:   V P                  p\        V P                  4      pVf   \	        R4      hW,          pMV P                  pVf   \	        R4      h^RIHp VP                  W0P                  V P                  4      # )NzCannot getitem on None tensor)r2   )
r"   r#   rY   r%   r€   r3   r2   Úfrom_positionalr'   r(   )rq   r#   rQ   Úrtensorr2   s   &    r   ro   ro   æ   sƒ   € Ø××ÐØ×'Ñ'ˆÜ˜U×.Ñ.Ó/ˆØÒÜÐ>Ó?Ð?ØÕ"‰à×#Ñ#ˆØŠ?ÜÐ>Ó?Ð?õ à×!Ñ! '×+>Ñ+>À×@PÑ@PÓQÐQr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rp   r   r[   Útensors_have_dimsr    r   r   r   )r   s   "r   r   r   ù   s4   € ÷ oPñ oP�Sð oP ð oP¸ð oPÀ,ñ oPr   c                óð  a€ ^RI Hp V'       * p. p\        V4      '       d   VP                  V4       M'\	        W4      pV'       d   V'       g   \        RR7      # ^ pRoRp. p	R V3R llp
R R lpR	p\        V4       FÀ  w  rÞ\        V4      '       d   R	pV^,          pK#  VR
J d   V
! V4       K3  \        Wã4      '       dO   R	pVP                  '       g   V
! V4       TpMV\        VP                  4      ,          pV	P                  V4       K’  Vf   RpKš  V! V4      '       d   R	pRpV^,          pK·  V^,          pKÂ  	  V'       d   \        RR7      # \        P                  ! V R	R4      p\        VP                  4      pVV8”  d   \        RV RV R24      hVV,
          pSR8w  dG   Ve   VP                  V4       M0\!        R4      .V,          pVRS V,           VS^,           R ,           p\#        \        V	4      ^,
          RR4       FV  pW�,          pVf   SR8w  d   VS8”  d
   VV,          pVV,          pVRV VP                  ,           VV^,           R ,           pKX  	  \%        Wõ. . V4      # )é   )ÚDimListT)r!   Nc               ó    € V ^8„  d   QhRRRR/# ©r   r   r8   r   r=   r   )r   s   "r   r   Ú getsetitem.<locals>.__annotate__  s   € ÷ 	ñ 	˜3ð 	 4ñ 	r   c                óB   <€ SR8w  d   ^RI Hp V! RS RV  24      hV oR# )r‘   r?   z\at most one ... or unbound dimension list can exist in indexing list but found 2 at offsets rA   Néÿÿÿÿ)r3   r@   )r   r@   Úexpanding_objects   & €r   Úcheck_expandingÚ#getsetitem.<locals>.check_expanding  s7   ø€ à˜rÔ!Ý,á$ØnØ#Ð$ E¨!¨ð.óð ð Òr   c               ó    € V ^8„  d   QhRRRR/# )r   Úsr   r   r    r   )r   s   "r   r   r•     s   € ÷ 
ñ 
�cð 
˜dñ 
r   c                óì   a€ ^RI Ho \        V \        \        34      ;'       dQ    \        V 4      ^ 8„  ;'       d;    \        ;QJ d    V3R lV  4       F  '       d   K   R# 	  R# ! V3R lV  4       4      # )r‘   r   c              3  óH   <"  € T F  pSP                   ! V4      x € K  	  R # 5irX   ©r4   )rF   r   r   s   & €r   rH   Ú1getsetitem.<locals>.is_dimpack.<locals>.<genexpr>  s   øé € Ð8±a¨d�C—O’O D×)Ð)³aùó   ƒ"FT)r3   r   r   rL   r   rK   Úall)rœ   r   s   &@r   Ú
is_dimpackÚgetsetitem.<locals>.is_dimpack  sj   ø€ Ýô �qœ5¤$˜-Ó(÷ 9ð 9Ü�A“˜‘
÷9ð 9ç“Ô8±aÓ8—”ð	
ò ð	
ð Ô8±aÓ8Ó8ð	
r   F.z	at least z/ indices were supplied but the tensor only has z dimensionsr—   )r3   r’   r5   rN   re   r   r   r   rD   rK   Ú_dimsr
   rz   r{   Ú
ValueErrorÚbind_lenrd   rJ   Úgetsetitem_flat)rp   r[   r�   r’   Úcan_call_original_getitemÚ
input_listÚis_sequenceÚdims_indexedÚunbound_dim_listÚdimlistsr™   r£   Úhas_dimpacks_or_noner   rœ   Ú	self_infoÚ
total_dimsÚexpanding_dimsÚ	no_slicesÚidxÚdlr˜   s   &&&                  @r   rm   rm   ù   s{  ø€ Ýà$5Ô 5Ðà€JÜ�‡‚Ø×Ñ˜%Õ ä$ UÓ7ˆç$¯[Ü°$Ô7Ð7ð €LØÐØÐØ€H÷	ð 	õ
ð !ÐÜ˜*Ö%‰ˆÜ�A�;Š;Ø(-Ð%Ø˜AÕŠLØ�#‹XÙ˜AÖÜ˜×#Ò#Ø(-Ð%Ø—:—:�:Ù Ô"Ø#$Ñ à¤ A§G¡G£Õ,�Ø�O‰O˜AÖØŠYØ#'Ò Ù˜�]Š]Ø(-Ð%Ø#'Ð Ø˜AÕŠLà˜AÕŠLñ+ &÷0 !Ü¨dÔ3Ð3ä×!Ò! $¨¨tÓ4€IÜ�Y×%Ñ%Ó&€JØ�jÔ ÜØ˜�~Ð%TÐU_ÐT`Ð`kÐló
ð 	
ð
   ,Õ.€NØ˜2ÔØÒ'à×%Ñ% nÕ5ô ˜t›˜¨Õ6ˆIàÐ,Ð,Ð-ØõàÐ-°Õ1Ð3Ð4õ5ð ô ”3�x“= 1Õ$ b¨"Ö-ˆØ�kˆð Ò$Ø  BÔ&ØÐ&Ô&à�>Õ!ˆCà˜�_ˆð    Ð%¨¯©Õ0°:¸cÀA½g¸iÐ3HÕHŠ
ñ! .ô$ ˜9°"°bÐ:NÓOÐOr   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r   r°   r
   rª   r   Úkeysr&   Úvaluesr¯   r    r   r   r   )r   s   "r   r   r   k  sL   € ÷ Iñ IØðIàðIð ðIð ð	Ið
 ðIð ñIr   c                óÀ	  aaaaaaaaaaaaaa a!a"a#a$€ ^RI Ho . o . o!R V V!3R llo. o. o#RoR VV#3R lloR VVV#3R llo. o. oV P                  f   \        R	4      hV P                  P	                  4       o"V P                  P                  4       oR
 VVVVV"3R lloVR,          oR VVVV3R llpR VVVVVVVVVV"3
R llp\        V P                  4       Fµ  w  rx\        W(4      p	V	e   V! WsV	,          4       K%  VP                  4       '       dG   V! 4        S'       g   S! \        R4      4       S! V4       Ke  S^ ,          p
SR,          oV! Wz4       K�  S! VP                  4       4       S! VP                  4       4       S! V4       K·  	  V! 4        S'       dX   S'       dP   V P                  f   \        R4      hV P                  P                  SSV P                  P                  4       4      pMV P                  p. o. pRo$RpR VV$3R llp\        S4       EFi  w  rS#V,          e?   RpV! 4        S#V,          P                   F  pWŒ9  g   K  VP                  V4       K  	  KO  SP                  ! V4      '       d¾   Tp\        S V4      pVf   \!        RV R24      hS!V,          ^8X  d+   \        R4      SV&   SP                  \#        V4      4       KÀ  RpRSV&   \%        VP'                  4       \#        V4      .RR4      S#V&   \#        V4      V9  d   VP                  \#        V4      4       V! 4        EK$  V\        R4      8w  d   Rp\)        V\*        4      '       d   EKO  SP                  \#        R4      4       EKl  	  S$R8w  d%   \-        V4       F  pSP/                  S$V4       K  	  V'       d¤   \1        \3        S4      4       F‹  pS#V,          f   K  S#V,          P                  pVf   \!        R4      hS#V,          P4                  '       g    Se   VP7                  SP8                  4      p\;        VS#V,          P                  V4      SV&   K�  	  ^ p\-        \1        \3        S4      4      4       F:  pSV,          P                  4       '       g   K"  V^,          p\#        V) 4      SV&   K<  	  \=        RVVSSV P4                  R7      # )r‘   r   c               ó    € V ^8„  d   QhRRRR/# )r   rG   r   r   r=   r   )r   s   "r   r   Ú%getsetitem_flat.<locals>.__annotate__x  s   € ÷ &ñ &�Sð &˜Tñ &r   c                óš   <€ \        SV 4      pVe   SV;;,          ^,          uu&   R # SP                  V 4       SP                  ^4       R # rX   )r   rN   )rG   r´   Ú	seen_dimsÚseen_dims_nusess   & €€r   Úadd_dimÚ getsetitem_flat.<locals>.add_dimx  s@   ø€ ä˜) SÓ)ˆØŠ?Ø˜C×  AÕ%Õ à×Ñ˜SÔ!Ø×"Ñ" 1Ö%r   Nc               ó    € V ^8„  d   QhRRRR/# )r   Úhandler   r   r=   r   )r   s   "r   r   r»   …  s   € ÷ #ñ # 3ð #¨4ñ #r   c                óL   <€ SP                  V 4       SP                  R 4       R # rX   ©rN   )rÂ   r%   Útensor_inputss   &€€r   Úappend_flat_handleÚ+getsetitem_flat.<locals>.append_flat_handle…  s   ø€ Ø×Ñ˜6Ô"Ø×Ñ˜TÖ"r   c               ó    € V ^8„  d   QhRRRR/# )r   Útir
   r   r=   r   )r   s   "r   r   r»   ‰  s   € ÷ .ñ . 
ð .¨tñ .r   c                ó˜   <€ SP                  R 4       SP                  V 4       V P                  '       d   Sf   V P                  oR # R # R # rX   )rN   r(   r~   )rÉ   Údevice_holding_tensorr%   rÅ   s   &€€€r   Úappend_tensor_inputÚ,getsetitem_flat.<locals>.append_tensor_input‰  s?   ø€ Ø×Ñ˜4Ô Ø×Ñ˜RÔ à�=�=ˆ=Ð2Ò:Ø$&§I¡IÒ!ñ ;‰=r   z%Cannot get size/stride on None tensorc               ó    € V ^8„  d   QhRRRR/# r”   r   )r   s   "r   r   r»   —  s   € ÷ ñ �sð ˜tñ r   c                ó|   <€ S'       d3   SP                  SV ,          4       SP                  SV ,          4       R # R # rX   rÄ   )r   r¯   r<   r;   r9   r7   s   &€€€€€r   Úappend_sizeÚ$getsetitem_flat.<locals>.append_size—  s+   ø€ ßØ�J‰J�r˜!•uÔØ�J‰J�r˜!•uÖñ  r   :NNNc               ó   € V ^8„  d   QhRR/# ©r   r   r=   r   )r   s   "r   r   r»   ž  s   € ÷ $ñ $˜ñ $r   c                 ó®   <€ S'       dL   S^ ,          f?   S ! \        R4      4       SP                  ^4       SP                  ^ 4       SR,          oKQ  R# R# )r   Nºr‘   NN)rd   rN   )rÆ   Úinput_itr<   r;   s   €€€€r   Úparse_nonesÚ$getsetitem_flat.<locals>.parse_nonesž  sA   ø€ ç˜8 A�;Ò.Ùœu T›{Ô+Ø�J‰J�qŒMØ�J‰J�qŒMØ •|ŠHñ	 /‰hr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r8   Úargr   r   r=   r   )r   s   "r   r   r»   ¦  s!   € ÷  ñ  �sð   ð  ¨ñ  r   c                ó  <
€ SP                   ! V4      '       d<   TpVP                  R8X  d   SV ,          Vn        S! V4       S	! V 4       S! V4       R# \        P                  ! VRR4      pV'       dT   S	! V 4       S
! V4       VP
                   F1  pVP                  4       '       d   K  S! VP                  4       4       K3  	  R# S'       d    \        V\        \        34      '       d„   \        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       dD   \        V4      pV F  pS! V4       S! V4       K  	  \        SV ,          SV ,          VSS4       R# S	! V 4       S! V4       R# )r‘   NFc              3  óH   <"  € T F  pSP                   ! V4      x € K  	  R # 5irX   rŸ   )rF   Údr   s   & €r   rH   Ú7getsetitem_flat.<locals>.append_item.<locals>.<genexpr>º  s   øé € Ð5VÑRUÈQ°c·o²oÀa×6HÐ6HÓRUùr¡   Tr—   )r4   Ú_sizerE   r
   rz   r{   r|   rG   r   rL   r   r¢   rU   )r   rÚ   rÝ   ÚinfoÚlevelÚdim_packr   r¿   rÆ   rÐ   rÌ   r¯   r<   r;   r9   r7   s   &&    €€€€€€€€€€r   Úappend_itemÚ$getsetitem_flat.<locals>.append_item¦  s   ø€ Ø�?Š?˜3×ÒØˆAØ�w‰w˜"Œ}Ø˜A��”Ù�AŒJÙ˜ŒNÙ˜sÔ#Ùä× Ò   e¨UÓ3ˆßÙ˜ŒNÙ Ô%ØŸœ�Ø×*Ñ*×,Ô,Ù˜EŸI™I›KÖ(ñ %ñ çÜ˜#¤¤t˜}×-Ò-·#³#Ô5VÑRUÓ5V·#·#²#Ô5VÑRUÓ5V×2VÒ2Vä ›9�Û!�AÙ˜A”JÙ& qÖ)ñ "ô # 2 a¥5¨"¨Q­%°¸3ÀÔDÙá�AŒÙ˜3Ör   rÕ   zCannot restride None tensorFc               ó   € V ^8„  d   QhRR/# rÓ   r   )r   s   "r   r   r»   í  s   € ÷ $ñ $˜tñ $r   c                 óX   <€ SR8X  d   \        S 4      oR# S\        S 4      8w  d   ^ oR# R# )r‘   Nr—   )rK   )r'   Útensor_insert_points   €€r   Úmark_tensor_indexÚ*getsetitem_flat.<locals>.mark_tensor_indexí  s.   ø€ à "Ô$Ü"% mÓ"4ÒØ ¤C¨Ó$6Ô6Ø"#Òñ 7r   TzDim z not found in seen_dimsz(TensorInfo should have valid tensor data)r!   r"   r#   r%   r'   r(   r—   )r3   r   r~   r€   rE   Ústrider   r{   r   r|   rd   rG   Ú
as_stridedÚstorage_offsetrN   r4   r   r	   r
   Ú
_get_ranger   r8   rM   ÚinsertrJ   rK   r(   ÚtoÚdevicer   r   )%r°   rª   r·   r¸   r¯   r×   rã   r   rá   r´   rÚ   r#   Úindex_levelsÚrequires_getindexrè   ÚinprÝ   Údim_idxÚtÚseen_positionalsr   r¿   rÆ   rÐ   rÌ   rË   r%   rÖ   r<   r;   r'   r9   r½   r¾   r7   rÅ   rç   s%   &&&&f               @@@@@@@@@@@@@@@@@r   r¨   r¨   k  sU  ÿÿù€ õ ð €IØ!#€O÷&ñ &ð €KØ!€MØ Ð÷#ñ #÷.ò .ð €CØ
€CØ×ÑÒÜÐBÓCÐCØ	×	Ñ	×	Ñ	Ó	 €BØ	×	Ñ	×	 Ñ	 Ó	"€B÷ô ð
 ˜!�}€H÷$ó $÷ ÷  ñ  ôB ˜i×.Ñ.Ö/‰ˆä˜$Ó&ˆØŠ?Ù˜ #�;Ö'à×"Ñ"×$Ò$Ù”ßÙ&¤u¨T£{Ô3Ù –Nà" 1�+�CØ'¨�|�HÙ Ö'á˜Ÿ	™	›Ô$Ù" 5§9¡9£;Ô/Ù˜A–ñ% 0ñ( „M÷ §Ø×ÑÒ#ÜÐ<Ó=Ð=Ø×&Ñ&×1Ñ1Ø��i×&Ñ&×5Ñ5Ó7ó
‰ð  ×&Ñ&ˆð  "€MØ€LØÐØÐ÷$ñ $ô ˜K×(‰ˆØ˜ÕÒ'Ø $ÐÙÔØ& qÕ)×0Ô0�ØÖ,Ø ×'Ñ'¨Ö.ó 1ð �_Š_˜S×!Ò!ØˆAä! )¨QÓ/ˆGØŠÜ$ t¨A¨3Ð.EÐ%FÓGÐGØ˜wÕ'¨1Ô,Ü!& t£�˜A‘Ø×$Ñ$¤X¨a£[Ö1à$(Ð!Ø!%�˜A‘Ü#-Ø—L‘L“N¤X¨a£[ M°5¸$ó$�˜aÑ ô ˜A“; lÔ2Ø ×'Ñ'¬°«Ô4Ù!×#à”e˜D“kÔ!Ø$(Ð!Ü˜c¤3×'Õ'Ø×$Ñ$¤X¨b£\×2ñ; )ð@ ˜bÔ Ü˜lÖ+ˆEØ× Ñ Ð!4°eÖ<ñ ,÷ Ü”s˜;Ó'Ö(ˆAØ˜QÕÔ+Ø! !Õ$×+Ñ+�Ø’9Ü(Ð)SÓTÐTà% aÕ(×3×3Ð3Ø-Ò9àŸ™Ð2×9Ñ9Ó:�AÜ!.¨q°-ÀÕ2B×2IÑ2IÈ<Ó!X�˜A“ñ )ð ÐÜ”eœC Ó.Ó/Ö0ˆØ˜Õ×)Ñ)×+Ô+Ø Õ!ÐÜ'Ð)9Ð(9Ó:ˆM˜!Óñ 1ô
 ØØ+ØØØ#Ø×'Ñ'ôð r   )Ú
__future__r   Údataclassesr   r   Útypingr   r   r`   Ú
_dim_entryr   r	   Ú_tensor_infor
   r3   r   r   r   r5   rU   rY   re   rr   r‰   ro   rm   r¨   r   r   r   Ú<module>rü      sr   ðÝ "ç (ß %ã ç /Ý $÷ Ýõð& ÷ð ó ðõ	;õ1#õhõ%õP	!õ>-õBRõ&oP÷dIr   