Ë
    Z^(h›1  ã                  ó†  — d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& erd dl'm(Z( 	 	 	 	 	 	 	 dd	„Z)d
dœ	 	 	 	 	 	 	 	 	 d d„Z*d!d„Z+d"d„Z,d#d„Z-d$d„Z.ddœd%d„Z/dddddddœZ0d&d„Z1	 	 	 	 	 	 	 	 	 	 	 	 d'd„Z2	 	 	 	 	 	 	 	 	 	 d(d„Z3y))é    )Úannotations)ÚTYPE_CHECKING)Úlocal)ÚArgNameÚ	BaseCTypeÚBindingÚConstRefCTypeÚCTypeÚMutRefCTypeÚ
NamedCTypeÚSpecialArgNameÚ
TupleCTypeÚVectorCTypeÚvoidT)ÚArrayRefCTypeÚBaseTypeToCppMappingÚOptionalCTypeÚscalarTÚtensorListTÚtensorT)ÚArgumentÚ	ArgumentsÚBaseTyÚBaseTypeÚListTypeÚNativeFunctionÚOptionalTypeÚReturnÚSelfArgumentÚTensorOptionsArgumentsÚType)Úassert_never)ÚSequencec          	     óè  — t        | t        «      r™| j                  t        j                  k(  s| j                  t        j
                  k(  ry t        | «      dk(  r*t        |t        t        t        j                     «      «      S t        |t        t        | j                     «      «      S t        | t        «      r9t        | j                  |¬«      }|€y t        |t        |j                  «      «      S t        | t         «      rZt        | j                  «      dk(  rA| j"                  €J ‚t        |t%        t        t        t        j&                     «      «      «      S y t)        dt+        | «      › �«      ‚)NÚSymInt©ÚbindsÚboolúunrecognized type )Ú
isinstancer   Únamer   ÚTensorÚScalarÚstrr   r   r   Úintr   Úvaluetype_typeÚelemr   Útyper   Úsizer   r(   ÚAssertionErrorÚrepr)Útr'   r1   s      ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torchgen/executorch/api/et_cpp.pyr0   r0   B   s  € ô
 �!”XÔØ�6‰6”V—]‘]Ò" a§f¡f´·±Ò&=Øä�‹V�xÒÜ˜e¤YÔ/CÄFÇJÁJÑ/OÓ%PÓQÐQä˜%¤Ô+?ÀÇÁÑ+GÓ!HÓIÐIÜ	�A”|Ô	$Ü˜aŸf™f¨EÔ2ˆØˆ<ØÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”xÔ	 Üˆq�v‰v‹;˜&Ò Ø—6‘6Ð%Ð%Ð%ÜØ”}¤YÔ/CÄFÇKÁKÑ/PÓ%QÓRóð ð äÐ1´$°q³'°Ð;Ó<Ð<ó    F)Úremove_non_owning_ref_typesc          
     óÀ  — t        | |¬«      }|�|S t        | t        «      rÄ| j                  t        j
                  k(  rZ|r6t        j                  «       s"t        |t        t        t        «      «      «      S t        |t        t        t        «      «      «      S | j                  t        j                  k(  r"t        |t        t        t        «      «      «      S t        d| › �«      ‚t        | t         «      rõt#        | j$                  «      dk(  rc|r6t        j                  «       s"t        |t        t        t        «      «      «      S t        |t        t'        t        t        «      «      «      «      S t#        | j$                  «      dk(  r+t        |t        t'        t        t        «      «      «      «      S t)        | j$                  ||¬«      }t        |t'        |j*                  «      «      S t        | t,        «      rÎt#        | j$                  «      dk(  rt        |t        t.        «      «      S t#        | j$                  «      dk(  rt1        d«      ‚t#        | j$                  «      dk(  r+t        |t3        t'        t        t        «      «      «      «      S t)        | j$                  ||¬«      }t        |t3        |j*                  «      «      S t        d	t5        | «      › �«      ‚)
Nr&   z&base type should have been value type r,   r-   ©Úmutabler'   ÚDimnamez"Executorch doesn't support DimnameúTensor?r)   )r0   r*   r   r+   r   r,   r   Ú!use_const_ref_for_mutable_tensorsr   r   r   r   r	   r-   r   r4   r   r.   r1   r   Úargumenttype_typer2   r   r   ÚNotImplementedErrorr   r5   )r6   r<   r'   r9   Úrr1   s         r7   r@   r@   d   s   € ô 	Ø	Øô	€Að 	€}ØˆÜ�!”XÔØ�6‰6”V—]‘]Ò"Ùœu×FÑFÔHÜ! %¬´Y¼wÓ5GÓ)HÓIÐIä! %¬´yÄÓ7IÓ)JÓKÐKØ�V‰V”v—}‘}Ò$Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGä Ð#IÈ!ÈÐ!MÓNÐNÜ	�A”|Ô	$Üˆq�v‰v‹;˜(Ò"Ùœu×FÑFÔHÜ!Øœ;¤y´Ó'9Ó:óð ô "Øœ=¬´yÄÓ7IÓ)JÓKóð ô �—‘‹[˜HÒ$Ü˜e¤]´=ÄÌ7ÓASÓ3TÓ%UÓVÐVÜ  §¡°ÀÔFˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”xÔ	 äˆq�v‰v‹;˜(Ò"Ü˜e¤Y¬{Ó%;Ó<Ð<Ü�—‘‹[˜IÒ%Ü%Ð&JÓKÐKÜ�—‘‹[˜IÒ%Ü˜e¤]´=ÄÌ7ÓASÓ3TÓ%UÓVÐVÜ  §¡°ÀÔFˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:äÐ1´$°q³'°Ð;Ó<Ð<r8   c               óF   — t        | j                  | j                  |¬«      S )Nr;   )r@   r2   Úis_write)Úar'   s     r7   Úargument_typerF   ™   s   € Ü˜QŸV™V¨Q¯Z©Z¸uÔEÐEr8   c               óR  — t        | d¬«      }|�|j                  S t        | t        «      rž| j                  t
        j                  k(  rU|rDt        j                  «       rt        t        t        «      «      S t        t        t        «      «      S t        t        «      S | j                  t
        j                  k(  r`t        t        «      S t        | t        «      rA|rJ d«       ‚t!        | j"                  d¬«      }| j$                  �
J d| › �«       ‚t'        |«      S t)        d| › �«      ‚)NÚ__placeholder__r&   zTNative functions should never return a mutable tensor list. They should return void.F©r<   z'fixed size list returns not supported: zunrecognized return type )r0   r2   r*   r   r+   r   r,   r   r?   r	   r   r   r   r-   r   r   Úreturntype_typer1   r3   r   r4   )r6   r<   rB   r1   s       r7   rJ   rJ   ¢   sõ   € ä�qÐ 1Ô2€AØ€}Ø�v‰vˆä�!”XÔØ�6‰6”V—]‘]Ò"ÙÜ×:Ñ:Ô<Ü(¬´7Ó);Ó<Ð<ä&¤y´Ó'9Ó:Ð:ô !¤Ó)Ð)Ø�V‰V”v—}‘}Ò$ÜœWÓ%Ð%Ü	�A”xÔ	 Ùð 	
Øbó	
ˆ{ô ˜qŸv™v¨uÔ5ˆØ�v‰vˆ~ÐLÐ!HÈÈÐLÓLˆ~Ü˜4Ó Ð ä
Ð4°Q°CÐ8Ó
9Ð9r8   c                óD   — t        | j                  | j                  ¬«      S )NrI   )rJ   r2   rD   )rB   s    r7   Úreturn_typerL   Ã   s   € Ü˜1Ÿ6™6¨1¯:©:Ô6Ð6r8   c                óÂ   — t        | «      dk(  rt        t        «      S t        | «      dk(  rt        | d   «      S t	        | D �cg c]  }t        |«      ‘Œ c}«      S c c}w )Nr   é   )Úlenr   r   rL   r   )ÚrsrB   s     r7   Úreturns_typerQ   È   sO   € Ü
ˆ2ƒw�!‚|ÜœÓÐÜ	ˆR‹�AŠÜ˜2˜a™5Ó!Ð!ä°2Ö6¨aœ; q�>Ò6Ó7Ð7ùÒ6s   ÁAÚresult)Úfallback_namec               ó¸  ‡— g }t        | j                  j                  «      D �]3  \  }Š| j                  j                  j                  j                  r|dk(  sJ d«       ‚d}nã| j                  j                  «       r.| j                  j                  j                  |   j                  }n›‰j                  ret        ˆfd„| j                  j                  «       D «       «      }|r*| j                  j                  «       s‰j                  › d�}n7‰j                  }n*t        | j                  j                  «      dk(  r|n|› |› �}|j                  |«       �Œ6 |S )Nr   z.illegal inplace function with multiple returnsÚselfc              3  óP   •K  — | ]  }‰j                   |j                   k(  –— Œ y ­w)N)r+   )Ú.0rE   rB   s     €r7   ú	<genexpr>zreturn_names.<locals>.<genexpr>á   s#   øè ø€ ò  Ø%&�—‘˜!Ÿ&™&Õ ñ ùs   ƒ#&Ú_returnrN   )Ú	enumerateÚfuncÚreturnsr+   ÚinplaceÚ	is_out_fnÚ	argumentsÚoutÚanyÚschema_order_argumentsrO   Úappend)ÚfrS   r\   Úir+   Úname_conflictrB   s         @r7   Úreturn_namesrg   Ñ   s  ø€ Ø€GÜ˜!Ÿ&™&Ÿ.™.Ó)ó ‰ˆˆ1ð �6‰6�;‰;×Ñ×#Ò#Ø˜’6ÐKÐKÓK�6Ø‰Dð �V‰V×ÑÔØ—6‘6×#Ñ#×'Ñ'¨Ñ*×/Ñ/‰Dà�VŠVÜó  Ø*+¯&©&×*GÑ*GÓ*Iô ó ˆMñ  Q§V¡V×%5Ñ%5Ô%7ØŸ&™&˜ Ð)‘à—v‘v‘ô
 %(¨¯©¯©Ó$7¸1Ò$<‘=À]ÀOÐTUÐSVÐBWˆDØ�‰�tÖð5ð6 €Nr8   ÚfalseÚtrueztorch::execustd::nulloptú{}z+torch::executorch::MemoryFormat::Contiguousztorch::executorch::kLong)ÚFalseÚTrueÚNonez[]Úcontiguous_formatÚlongc                óÖ  — | dk(  rt        |«      dk(  ryt        |t        «      r¬|j                  t        j                   u r�t        | «      dk\  r‚| d   dk(  rz| d   dk(  rrd}d	}|d	z   t        | «      k  rW| |   d
k7  r| |   dk(  r|dz  }n|| |   z  }|d	z  }n!| |d	z      dk(  r|dz  }n|| ||dz    z  }|dz  }|d	z   t        | «      k  rŒWd|› d�S t        |t        «      r| dk(  ryt        | |j                  «      S t        |t        «      rH| j                  d«      r| j                  d«      rd| d	d z   dz   S |j                  €t        d| › d�«      ‚t        j                  | | «      S )Nrm   r>   rj   é   r   ú'éÿÿÿÿÚ rN   ú\ú"z\"ztorch::executor::nulloptú[ú]ú{ú}z,Expected a list default '[...]' but found: ')r.   r*   r   r+   r   rO   r   Údefault_exprr1   r   Ú
startswithÚendswithr3   Ú
ValueErrorÚJIT_TO_CPP_DEFAULTÚget)Údr6   Úsre   s       r7   r{   r{   ü   s}  € ØˆF‚{”s˜1“v Ò*ØÜ�!”XÔ 1§6¡6¬V¯Z©ZÑ#7äˆq‹6�QŠ;˜1˜Q™4 3š;¨1¨R©5°Cª<ØˆAØˆAØ�a‘%œ#˜a›&’.Ø�Q‘4˜4’<Ø˜‘t˜s’{Ø˜U™
™à˜Q˜q™T™	˜Ø˜‘F‘Aà˜˜Q™‘x 3’Ø˜S™™à˜Q˜q 1 q¡5˜\Ñ)˜Ø˜‘F�Að �a‘%œ#˜a›&“.ð �q�c˜�8ˆOä�!”\Ô"Ø�Š;Ø-ä˜A˜qŸv™vÓ&Ð&ä�!”XÔØ�<‰<˜Ô §¡¨C¤Ø˜˜1˜R˜‘= 3Ñ&Ð&Ø�V‰Vˆ^äÐKÈAÈ3ÈaÐPÓQÐQä×!Ñ! ! QÓ'Ð'r8   c               óü  ‡‡‡‡— 	 	 	 	 dˆˆˆˆfd„}t        | t        «      r�| j                  dk(  r‰rt        j                  }n| j                  }d }| j                  ‰vr,| j
                  � t        | j
                  | j                  «      }t        t        | |¬«      | j                  || ¬«      gS t        | t        «      rt        d«      ‚t        | t        «      r‰rg S  || j                  «      S t        | «       y )Nc                ó$   •— t        | ‰‰‰‰¬«      S )N)Úcpp_no_default_argsÚmethodÚfaithfulÚhas_tensor_options)Úargument)rE   r…   r‡   rˆ   r†   s    €€€€r7   Úsub_argumentzargument.<locals>.sub_argument/  s!   ø€ ô ØØ 3ØØØ1ô
ð 	
r8   Úmemory_formatr&   )Únctyper+   Údefaultr‰   z3Need to implement type resolution for TensorOptions)rE   ú0Argument | TensorOptionsArguments | SelfArgumentÚreturnúlist[Binding])r*   r   r+   r   Ú possibly_redundant_memory_formatr�   r{   r2   r   rF   r    rA   r   r‰   r"   )rE   r…   r†   r‡   rˆ   rŠ   r'   r�   s    ````   r7   r‰   r‰   '  så   û€ ð	
Ø;ð	
à	÷	
ð 	
ô �!”XÔà�6‰6�_Ò$Ñ);Ü"×CÑC‰Eà—F‘FˆEØ"ˆØ�6‰6Ð,Ñ,°·±Ð1FÜ" 1§9¡9¨a¯f©fÓ5ˆGäÜ$ Q¨eÔ4Ø—V‘VØØô	ð
ð 	
ô 
�AÔ-Ô	.Ü!Ð"WÓXÐXÜ	�A”|Ô	$ÙàˆIá §
¡
Ó+Ð+ä�Q�r8   c               óz  — g }|r7|j                  | j                  «       |j                  | j                  «       n6|j                  | j                  «       |j                  | j                  «       |D ��cg c]7  }t        |||| j                  d u|¬«      D ]  }|r|j                  «       n|‘Œ Œ9 c}}S c c}}w )N)r‡   r†   rˆ   r…   )ÚextendÚnon_outr`   r‰   Útensor_optionsÚ
no_default)r_   r‡   r†   r…   ÚargsrE   rB   s          r7   r_   r_   W  sµ   € ð DF€DÙØ�‰�I×%Ñ%Ô&Ø�‰�I—M‘MÕ"à�‰�I—M‘MÔ"Ø�‰�I×%Ñ%Ô&ð ÷
àÜØØØØ(×7Ñ7¸tÐCØ 3ô
ò
ð ñ #ˆ�‰Œ¨Ñ)ð
Ø)ó
ð 
ùó 
s   Á7<B7N)r6   r!   r'   r   r�   zNamedCType | None)
r6   r!   r<   r(   r'   r   r9   r(   r�   r   )rE   r   r'   r   r�   r   )r6   r!   r<   r(   r�   r
   )rB   r   r�   r
   )rP   zSequence[Return]r�   r
   )rd   r   rS   r.   r�   zSequence[str])r�   r.   r6   r!   r�   r.   )rE   rŽ   r…   úset[str]r†   r(   r‡   r(   rˆ   r(   r�   r�   )
r_   r   r‡   r(   r†   r(   r…   r˜   r�   r�   )4Ú
__future__r   Útypingr   Útorchgenr   Útorchgen.api.typesr   r   r   r	   r
   r   r   r   r   r   r   Útorchgen.executorch.api.typesr   r   r   r   r   r   Útorchgen.modelr   r   r   r   r   r   r   r   r   r    r!   Útorchgen.utilsr"   Úcollections.abcr#   r0   r@   rF   rJ   rL   rQ   rg   r   r{   r‰   r_   © r8   r7   ú<module>r¢      sh  ðÝ "å  å ÷÷ ÷ ñ ÷÷ ÷÷ ÷ ñ õ (ñ Ý(ðð&=Øð=ð ð=ð ó	=ðN ).ñ1=Øð1=ð ð1=ð ð	1=ð
 "&ð1=ð ó1=ójFó:óB7ó
8ð =Eõ ðB ØØ&Ø
ØFØ&ñÐ ó%(ðV-Ø7ð-ð "ð-ð ð	-ð
 ð-ð ð-ð ó-ð`Øðð ðð ð	ð
 "ðð ôr8   