ó
    IC˜júC  ã                  ó<  • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$  S SK%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1  \(       a  S SK2J3r3  SSS	.       S$S
 jjr4SSS.         S%S jjr5SSS.           S&S jjr6SS.S'S jjr7SS.S(S jjr8SS.S)S jjr9SS.S*S jjr:SS.S+S jjr;SSSSSSSS.r<S,S  jr=SS.             S-S! jjr>SS.           S.S" jjr?g#)/é    )Úannotations)ÚTYPE_CHECKING)Úassert_never)Úlocal)ÚArgNameÚ
ArrayCTypeÚArrayRefCTypeÚ	BaseCTypeÚBaseTypeToCppMappingÚBindingÚboolTÚConstRefCTypeÚCTypeÚintArrayRefTÚiTensorListRefTÚ	ListCTypeÚlongTÚMutRefCTypeÚ
NamedCTypeÚOptionalCTypeÚoptionalIntArrayRefTÚoptionalSymIntArrayRefTÚscalarTÚSpecialArgNameÚsymIntArrayRefTÚSymIntTÚtensorListTÚtensorOptionsTÚtensorTÚ
TupleCTypeÚVectorCTypeÚvoidT)ÚArgumentÚ	ArgumentsÚBaseTyÚBaseTypeÚFunctionSchemaÚListTypeÚNativeFunctionÚOptionalTypeÚReturnÚSelfArgumentÚTensorOptionsArgumentsÚType)ÚSequenceF)Úfaithful_name_for_out_overloadsÚsymint_overloadc               ó¬   • [        U R                  R                  5      nU(       a  US-  nU R                  5       (       a  U(       a  US-  nU$ US-  nU$ )NÚ_symintÚ_outfÚ_out)ÚstrÚnameÚ	is_out_fn)Úfuncr0   r1   r7   s       ÚžC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\torchgen/api/cpp.pyr7   r7   K   sS   € ô ˆt�y‰y�~‰~Ó€DÞØ�	ÑˆØ‡~�~×ÑÞ*Ø�G‰OˆDð €Kð �F‰NˆDà€Kó    T©ÚmutableÚsymintc               ó  • [        U [        5      (       a�  U R                  [        R                  [        R
                  4;   a  g [        U 5      S:X  a9  U(       a  [        U[        [        5      5      $ [        U[        [        5      5      $ [        U[        [        U R                     5      5      $ [        U [        5      (       a8  [        U R                  XUS9nUc  g [        U[        UR                   5      5      $ [        U ["        5      (       a_  [        U R                  5      S:X  aE  U R$                  c  ['        S5      e[        U[)        [        [*        5      U R$                  5      5      $ g ['        S[-        U 5       35      e)NÚSymInt©Úbindsr=   r>   Úboolzbool ListType must have a sizeúunrecognized type )Ú
isinstancer&   r7   r%   ÚTensorÚScalarr6   r   r
   r   r   r   r*   Úvaluetype_typeÚelemr   Útyper(   ÚsizeÚAssertionErrorr   r   Úrepr)ÚtrB   r=   r>   rI   s        r:   rH   rH   `   s"  € ô �!”X×ÑØ�6‰6”f—m‘m¤V§]¡]Ð3Ó3ØÜ�‹V�xÓÞÜ! %¬´7Ó);Ó<Ð<ä! %¬´5Ó)9Ó:Ð:ä˜%¤Ô+?ÀÇÁÑ+GÓ!HÓIÐIÜ	�A”|×	$Ñ	$Ü˜aŸf™f¨EÈ6ÑRˆØ‰<ØÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”x×	 Ñ	 Üˆq�v‰v‹;˜&Ó Ø�v‰v‰~Ü$Ð%EÓFÐFÜ˜e¤Z´	¼%Ó0@À!Ç&Á&Ó%IÓJÐJàäÐ1´$°q³'°Ð;Ó<Ð<r;   )Úremove_non_owning_ref_typesr>   c               ó˜  • [        U UUUS9nUb  U$ [        U [        5      (       Ga  U R                  [        R
                  :X  a…  U(       a<  [        R                  " 5       (       d"  [        U[        [        [        5      5      5      $ U(       a  [        U[        [        5      5      $ [        U[        [        [        5      5      5      $ U R                  [        R                  :X  aB  U(       a  [        U[        [        5      5      $ [        U[        [        [        5      5      5      $ [        SU  35      e[        U [         5      (       Ga'  [#        U R$                  5      S:X  a—  U(       a<  [        R                  " 5       (       d"  [        U[        [        [        5      5      5      $ U(       a"  [        U['        [        [        5      5      5      $ [        U[        ['        [        [        5      5      5      5      $ [#        U R$                  5      S:X  aT  U(       a"  [        U['        [        [        5      5      5      $ [        U[        ['        [        [        5      5      5      5      $ [        U R$                  [(        5      (       a<  [#        U R$                  R$                  5      S:X  a  [        U[        [*        5      5      $ [        U R$                  [(        5      (       a\  [#        U R$                  R$                  5      S:X  a9  U(       a  [        U[        [,        5      5      $ [        U[        [*        5      5      $ [/        U R$                  XUS9n[        U['        UR0                  5      5      $ [        U [(        5      (       Ga)  [#        U R$                  5      S:X  aB  U(       a"  [        U[3        [        [4        5      5      5      $ [        U[        [6        5      5      $ [#        U R$                  5      S:X  a‹  U(       aK  U(       a"  [        U[3        [        [8        5      5      5      $ [        U[3        [        [4        5      5      5      $ U(       a  [        U[        [:        5      5      $ [        U[        [6        5      5      $ [#        U R$                  5      S:X  aU  [        R<                  " 5       (       a"  [        U[        [        [>        5      5      5      $ [        U[        [@        5      5      $ [#        U R$                  5      S:X  a"  [        U[C        [        [        5      5      5      $ [#        U R$                  5      S:X  a4  [        U[        [E        ['        [        [        5      5      5      5      5      $ [/        U R$                  XUS9n[        U[C        UR0                  5      5      $ [        S	[G        U 5       35      e)
NrA   z&base type should have been value type rF   rG   Úintr@   )r=   rB   r>   úTensor?rD   )$rH   rE   r&   r7   r%   rF   r   Ú!use_const_ref_for_mutable_tensorsr   r   r
   r   r   rG   r   rL   r*   r6   rI   r   r(   r   r   Úargumenttype_typerJ   r!   r   r   r   r   Úuse_ilistref_for_tensor_listsr   r   r	   r   rM   )rN   r=   rB   rO   r>   ÚrrI   s          r:   rT   rT   …   sý  € ô 	Ø	ØØØñ		€Að 	�}Øˆä�!”X×ÒØ�6‰6”V—]‘]Ó"Þœu×FÒF×HÑHÜ! %¬´Y¼wÓ5GÓ)HÓIÐIÞ,Ü! %¬´7Ó);Ó<Ð<ä! %¬´yÄÓ7IÓ)JÓKÐKØ�V‰V”v—}‘}Ó$Þ*Ü! %¬´7Ó);Ó<Ð<Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGä Ð#IÈ!ÈÐ!MÓNÐNÜ	�A”|×	$Ò	$Üˆq�v‰v‹;˜(Ó"Þœu×FÒF×HÑHÜ!Øœ;¤y´Ó'9Ó:óð ö -Ü! %¬´yÄÓ7IÓ)JÓKÐKä!Øœ=¬´yÄÓ7IÓ)JÓKóð ô �—‘‹[˜HÓ$Þ*Ü! %¬´yÄÓ7IÓ)JÓKÐKÜ˜e¤]´=ÄÌ7ÓASÓ3TÓ%UÓVÐVÜ˜Ÿ™¤×)Ñ)¬c°!·&±&·+±+Ó.>À%Ó.GÜ˜e¤YÔ/CÓ%DÓEÐEÜ˜Ÿ™¤×)Ñ)¬c°!·&±&·+±+Ó.>À(Ó.JÞÜ! %¬Ô3JÓ)KÓLÐLä! %¬Ô3GÓ)HÓIÐIÜ  §¡°ÈfÑUˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”x×	 Ò	 äˆq�v‰v‹;˜%ÓÞ*Ü! %¬´Y¼uÓ5EÓ)FÓGÐGä! %¬´<Ó)@ÓAÐAÜˆq�v‰v‹;˜(Ó"Þ*ÞÜ% e¬[¼Ä7Ó9KÓ-LÓMÐMä% e¬[¼Ä5Ó9IÓ-JÓKÐKæÜ% e¬Y´Ó-GÓHÐHä% e¬Y´|Ó-DÓEÐEÜˆq�v‰v‹;˜(Ó"Ü×2Ò2×4Ñ4Ü! %¬´yÄÓ7QÓ)RÓSÐSä! %¬´;Ó)?Ó@Ð@Ü�—‘‹[˜HÓ$Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGÜ�—‘‹[˜IÓ%ÜØ”}¤Y¬}¼YÄwÓ=OÓ/PÓ%QÓRóð ô ! §¡°ÈfÑUˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:äÐ1´$°q³'°Ð;Ó<Ð<r;   ©r>   c               ó@   • [        U R                  U R                  X!S9$ )N)r=   r>   rB   )rT   rJ   Úis_write)ÚarB   r>   s      r:   Úargument_typer[   â   s   € Ü˜QŸV™V¨Q¯Z©ZÀÑTÐTr;   c               ó2  • [        U SUSS9nUb  UR                  $ [        U [        5      (       a¬  U R                  [
        R                  :X  a`  U(       aJ  [        R                  " 5       (       a  [        [        [        5      5      $ [        [        [        5      5      $ [        [        5      $ U R                  [
        R                  :X  a  [        [        5      $ O®[        U [        5      (       aL  U(       a  [!        S5      e[#        U R$                  SS9nU R&                  b  [!        SU  35      e[)        U5      $ [        U [*        5      (       a8  [#        U R$                  US9n[-        U R$                  5      S:X  a  [/        U5      $ [!        S	U  35      e)
NÚ__placeholder__TrA   zTNative functions should never return a mutable tensor list. They should return void.F)r=   z'fixed size list returns not supported: rF   zunrecognized return type )rH   rJ   rE   r&   r7   r%   rF   r   rS   r   r
   r   r   rG   r   r(   rL   Úreturntype_typerI   rK   r!   r*   r6   r   )rN   r=   r>   rV   rI   s        r:   r^   r^   ë   sF  € ô 	�qÐ 1¸7È4ÑP€AØ�}Ø�v‰vˆä�!”X×ÑØ�6‰6”V—]‘]Ó"ÞÜ×:Ò:×<Ñ<Ü(¬´7Ó);Ó<Ð<ä&¤y´Ó'9Ó:Ð:ô !¤Ó)Ð)Ø�V‰V”v—}‘}Ó$ÜœWÓ%Ð%ð %ä	�A”x×	 Ñ	 ÞÜ ð+óð ô ˜qŸv™v¨uÑ5ˆØ�6‰6ÑÜ Ð#JÈ1È#Ð!NÓOÐOÜ˜4Ó Ð Ü	�A”|×	$Ñ	$Ü˜qŸv™v¨wÑ7ˆÜˆq�v‰v‹;˜(Ó"Ü  Ó&Ð&ä
Ð4°Q°CÐ8Ó
9Ð9r;   c               ó@   • [        U R                  U R                  US9$ )Nr<   )r^   rJ   rY   )rV   r>   s     r:   Úreturn_typer`     s   € Ü˜1Ÿ6™6¨1¯:©:¸fÑEÐEr;   c          
     óÆ   • [        U 5      S:X  a  [        [        5      $ [        U 5      S:X  a  [        U S   US9$ [	        U  Vs/ s H  n[        X!S9PM     sn5      $ s  snf )Nr   é   rW   )Úlenr
   r"   r`   r    )Úrsr>   rV   s      r:   Úreturns_typere     sV   € Ü
ˆ2ƒw�!ƒ|ÜœÓÐÜ	ˆR‹�A‹Ü˜2˜a™5¨Ñ0Ð0äÁ"ÓEÂ"¸Qœ; qÔ8Á"ÑEÓFÐFùÒEs   ÁAÚresult)Úfallback_namec               óü  ^• / n[        U R                  R                  5       GHT  u  nmU R                  R                  R                  R                  (       a  US:w  a  [        S5      eSnOùU R                  R                  5       (       a.  U R                  R                  R                  U   R                  nO¬TR                  (       ap  [        U4S jU R                  R                  5        5       5      nU(       a/  U R                  R                  5       (       d  TR                   S3nO8TR                  nO+[        U R                  R                  5      S:X  a  UOU U 3nUR                  U5        GMW     U$ )Nr   z.illegal inplace function with multiple returnsÚselfc              3  óV   >#   • U  H  nTR                   UR                   :H  v •  M      g 7f)N)r7   )Ú.0rZ   rV   s     €r:   Ú	<genexpr>Úreturn_names.<locals>.<genexpr>4  s"   øé € ð  Ú*I Q�—‘˜!Ÿ&™&Ö Ò*Iùs   ƒ&)Ú_returnrb   )Ú	enumerater9   Úreturnsr7   ÚinplacerL   r8   Ú	argumentsÚoutÚanyÚschema_order_argumentsrc   Úappend)Úfrg   rp   Úir7   Úname_conflictrV   s         @r:   Úreturn_namesrz   #  s  ø€ Ø€GÜ˜!Ÿ&™&Ÿ.™.×)‰ˆˆ1ð �6‰6�;‰;×Ñ×#×#Ø�A‹vÜ$Ð%UÓVÐVØ‰Dð �V‰V×Ñ×ÑØ—6‘6×#Ñ#×'Ñ'¨Ñ*×/Ñ/‰Dà�V�VÜô  Ø*+¯&©&×*GÑ*GÔ*Ió ó ˆMö  Q§V¡V×%5Ñ%5×%7Ñ%7ØŸ&™&˜ Ð)‘à—v‘v‘ô
 %(¨¯©¯©Ó$7¸1Ó$<‘=À]ÀOÐTUÐSVÐBWˆDØ�‰�t×ñ7 *ð8 €Nr;   ÚfalseÚtrueú::std::nulloptzat::Reduction::Meanú{}zc10::MemoryFormat::Contiguousú	at::kLong)ÚFalseÚTrueÚNoneÚMeanz[]Úcontiguous_formatÚlongc               óˆ  • U S:X  a  [        U5      S:X  a  g[        U[        5      (       a°  UR                  [        R                   L a“  [        U 5      S:¼  a„  U S   S:X  a{  U S   S:X  ar  SnS	nUS	-   [        U 5      :  aV  X   S
:w  a  X   S:X  a  US-  nOX0U   -  nUS	-  nOXS	-      S:X  a  US-  nO	X0XDS-    -  nUS-  nUS	-   [        U 5      :  a  MV  SU S3$ [        U[        5      (       a  U S:X  a  g[        XR                  US9$ [        U[        5      (       aŽ  U R                  S5      (       a!  U R                  S5      (       a  SU S	S -   S-   $ U(       a4  U R                  5       (       a  [        UR                  5      S:X  a  SU  S3$ UR                  c  [        SU  S35      e[        R!                  X 5      $ )Nr‚   rR   r~   é   r   Ú'éÿÿÿÿÚ rb   Ú\Ú"z\"r}   rW   Ú[Ú]Ú{Ú}r@   zc10::SymInt(Ú)z,Expected a list default '[...]' but found: ')r6   rE   r&   r7   r%   rc   r*   Údefault_exprrI   r(   Ú
startswithÚendswithÚisdigitrK   Ú
ValueErrorÚJIT_TO_CPP_DEFAULTÚget)ÚdrN   r>   Úsrx   s        r:   r’   r’   P  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›&“.Ø‘4˜4“<Ø‘t˜s“{Ø˜U™
™à˜q™T™	˜Ø˜‘F‘Aà˜Q™‘x 3“Ø˜S™™à˜q q¡5˜\Ñ)˜Ø˜‘F�Að �a‘%œ#˜a›&•.ð �q�c˜�8ˆOä�!”\×"Ñ"Ø�‹;Ø#ä˜AŸv™v¨fÑ5Ð5ä�!”X×ÑØ�<‰<˜×Ñ §¡¨C§¡Ø˜˜1˜R˜‘= 3Ñ&Ð&Þ˜Ÿ	™	Ÿ™¬¨A¯F©F«°xÓ(?Ø! !  AÐ&Ð&Ø�V‰V‰^äÐKÈAÈ3ÈaÐPÓQÐQä×!Ñ! !Ó'Ð'r;   c               ó´  ^^^^^•     SUUUUU4S jjn[        U [        5      (       a‘  U R                  S:X  a  T(       a  [        R                  nOU R                  nS nU R                  T;  a,  U R
                  b  [        U R
                  U R                  TS9n[        [        XTS9U R                  UU S9/$ [        U [        5      (       aÍ  T(       aK  U" U R                  5      U" U R                  5      -   U" U R                  5      -   U" U R                  5      -   $ S nST;   a  [        S5      e[!        S U R!                  5        5       5      (       a  S	nOU R                  R
                  S
:X  a  Sn[        [#        S[%        [&        5      5      SUU S9/$ [        U [(        5      (       a  T(       a  / $ U" U R*                  5      $ [-        U 5        g )Nc           	     ó    >• [        U TTTTTS9$ )N)Úcpp_no_default_argsÚmethodÚfaithfulr>   Úhas_tensor_options)Úargument)rZ   r�   rŸ   r    rž   r>   s    €€€€€r:   Úsub_argumentÚargument.<locals>.sub_argument†  s$   ø€ ô ØØ 3ØØØØ1ñ
ð 	
r;   Úmemory_formatrW   )rB   r>   )Únctyper7   Údefaultr¡   Úoptionsz.'options' should not be in cpp_no_default_argsc              3  ó>   #   • U  H  oR                   S :H  v •  M     g7f)r‚   N)r¦   )rk   Úxs     r:   rl   Úargument.<locals>.<genexpr>°  s   é € Ð8²¨1—9‘9 Ö&²ùs   ‚r~   r…   r   )rZ   ú0Argument | TensorOptionsArguments | SelfArgumentÚreturnúlist[Binding])rE   r#   r7   r   Ú possibly_redundant_memory_formatr¦   r’   rJ   r   r[   r-   ÚdtypeÚlayoutÚdeviceÚ
pin_memoryrL   Úallr   r
   r   r,   r¡   r   )	rZ   r�   rž   rŸ   r>   r    r¢   rB   r¦   s	    `````   r:   r¡   r¡   }  s¦  ü€ ð

Ø;ð

à	÷

ó 

ô �!”X×Ñà�6‰6�_Ó$Ö);Ü"×CÑC‰Eà—F‘FˆEØ"ˆØ�6‰6Ð,Ó,°·±Ñ1FÜ" 1§9¡9¨a¯f©f¸VÑDˆGäÜ$ Q¸FÑCØ—V‘VØØñ	ð
ð 	
ô 
�AÔ-×	.Ñ	.Þá˜QŸW™WÓ%Ù˜qŸx™xÓ(ñ)á˜qŸx™xÓ(ñ)ñ ˜qŸ|™|Ó,ñ-ðð ˆGàÐ/Ó/Ü$Ð%UÓVÐVÜÑ8°·±´Ó8×8Ñ8Ø‘Ø—‘—‘ FÓ*Ø%�äÜ% i´¼>Ó1JÓKØ"Ø#Øñ	ðð ô 
�A”|×	$Ñ	$ÞàˆIá §
¡
Ó+Ð+ä�Q�r;   c               ó–  • / nU(       a7  UR                  U R                  5        UR                  U R                  5        O6UR                  U R                  5        UR                  U R                  5        U VVs/ s H>  n[        UUUUU R                  S LUS9  H  nU(       a  UR                  5       OUPM     M@     snn$ s  snnf )N)rŸ   r>   rž   r    r�   )ÚextendÚnon_outrs   r¡   Útensor_optionsÚ
no_default)rr   rŸ   r>   rž   r�   ÚargsrZ   rV   s           r:   rr   rr   Æ  s·   € ð DF€DÞØ�‰�I×%Ñ%Ô&Ø�‰�I—M‘MÕ"à�‰�I—M‘MÔ"Ø�‰�I×%Ñ%Ô&ñ ôâˆAÜØØØØØ(×7Ñ7¸tÐCØ 3õ
ˆAö #ˆ�‰Œ¨Ò)ñ
ñ 	*Ùòð ùó s   Á<ACN)r9   r'   r0   rC   r1   rC   r¬   r6   )
rN   r.   rB   r   r=   rC   r>   rC   r¬   zNamedCType | None)rN   r.   r=   rC   rB   r   rO   rC   r>   rC   r¬   r   )rZ   r#   rB   r   r>   rC   r¬   r   )rN   r.   r=   rC   r>   rC   r¬   r   )rV   r+   r>   rC   r¬   r   )rd   zSequence[Return]r>   rC   r¬   r   )rw   r)   rg   r6   r¬   zSequence[str])r™   r6   rN   r.   r>   rC   r¬   r6   )rZ   r«   r�   úset[str]rž   rC   rŸ   rC   r>   rC   r    rC   r¬   r­   )rr   r$   rŸ   rC   r>   rC   rž   rC   r�   rº   r¬   r­   )@Ú
__future__r   Útypingr   Útyping_extensionsr   Útorchgenr   Útorchgen.api.typesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   Útorchgen.modelr#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Úcollections.abcr/   r7   rH   rT   r[   r^   r`   re   rz   r—   r’   r¡   rr   © r;   r:   Ú<module>rÃ      s  ðÝ "å  Ý *å ÷÷ ÷ ÷ ÷ ÷ ÷ ó ÷<÷ ÷ ó ö  Ý(ð0 -2Ø!ñ	Ø
ðð &*ðð ð	ð
 	õð2 Øñ=Øð=ð ð=ð ð	=ð
 ð=ð õ=ðT ).ØñY=ØðY=ð ðY=ð ð	Y=ð
 "&ðY=ð ðY=ð õY=ðz BG÷ Uð ?D÷ &:ðT .3÷ Fð
 :?÷ Gð =E÷ ðD ØØØ!Ø
Ø8ØñÐ ô'(ðf ñFØ7ðFð "ðFð ð	Fð
 ðFð ðFð ðFð õFðZ ñ	Øðð ðð ð	ð
 ðð "ðð ör;   