§
    Ì²Åj{ë  ã                  óþ  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
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 erd dlmZ  ed	¬
¦  «         G d„ d¦  «        ¦   «         Z ed	¬
¦  «         G d„ d¦  «        ¦   «         Z ed	¬
¦  «         G d„ de¦  «        ¦   «         Z ed	¬
¦  «         G d„ d¦  «        ¦   «         Z ed	¬
¦  «         G d„ de¦  «        ¦   «         Z ed	¬
¦  «         G d„ d¦  «        ¦   «         Z  ed	¬
¦  «         G d„ d¦  «        ¦   «         Z! ed	¬
¦  «         G d„ d¦  «        ¦   «         Z" ed	¬
¦  «         G d„ d¦  «        ¦   «         Z# ed	¬
¦  «         G d„ d¦  «        ¦   «         Z$dd œdbd'„Z%dcd(„Z&dd	d)œddd/„Z'ded1„Z(dfd4„Z)ddd5œdgd7„Z*ddd5œdhd<„Z+did@„Z,djdA„Z-djdB„Z.dkdE„Z/dldF„Z0	 dmdndI„Z1h dJ£Z2dodK„Z3dodL„Z4dMdNœdpdR„Z5d	dSœdqdV„Z6d	dSœdrdY„Z7d	dSœdsd[„Z8d\d]d^d_d_d`œZ9d	dSœdtda„Z:dMS )ué    )Úannotations)Ú	dataclass)ÚTYPE_CHECKING)Úcpp)ÚBindingÚCppSignatureÚCppSignatureGroup)Úpythonify_default)
ÚArgumentÚBaseTyÚBaseTypeÚFunctionSchemaÚListTypeÚNativeFunctionÚOptionalTypeÚReturnÚTypeÚVariant)ÚSequenceT)Úfrozenc                  ó   — e Zd ZU ded<   dS )ÚPythonReturnsútuple[Return, ...]ÚreturnsN©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úDC:\Projects\Historical\venv\Lib\site-packages\torchgen/api/python.pyr   r   Ì   s   € € € € € € àÐÐÑÐÐr!   r   c                  óX   — e Zd ZU ded<   ded<   ded<   ded<   dd	d
œdd„Zdddœdd„ZdS )ÚPythonArgumentÚstrÚnamer   Útypeú
str | NoneÚdefaultÚdefault_initFT©ÚmethodÚsymintr,   Úboolr-   Úreturnc               ó"  — t          | j        |¬¦  «                             dd¦  «                             dd¦  «        }| j        }|dk    r|dv r|sd}| j        �/ddddd	œ                     | j        | j        ¦  «        }|› d
|› d|› �S |› d
|› �S )N©r-   zconst Ú z &Úself)ÚTensorÚNumberÚinputÚNone)Únullptrú::std::nulloptústd::nulloptú{}ú ú=)Úargument_type_strr'   Úreplacer&   r)   Úget)r3   r,   r-   Útype_strr&   r)   s         r"   Úargument_strzPythonArgument.argument_strá   sÌ   € å˜dœi°Ð7Ñ7Ô7ßŠW�X˜rÑ"Ô"ßŠW�T˜2ÑÔð 	ð Œyˆð �6Š>ˆ>˜hÐ*>Ð>Ð>ÀvÐ>ØˆDð Œ<Ð#à!Ø"(Ø &Øð	ð ÷
 Šc�$”, ¤Ñ-Ô-ð ð Ð1Ð1 Ð1Ð1¨Ð1Ð1Ð1àÐ'Ð' Ð'Ð'Ð'r!   ©r,   Ú
deprecatedrD   c          	     óö  — t          | j        ¦  «        }| j        }|dk    r|dk    r|s|sd}|dk    r|dz  }|dk    r|dk    r
|sd|z   dz   }|ot          | t          ¦  «        o
| j        d	k    }| j        �ü|sút          | j        t          ¦  «        r¯| j        j        t          t          j
        ¦  «        k    rˆ| j                             d
¦  «        rn| j                             d¦  «        rTdd                     t          t          j        | j        dd…                              d¦  «        ¦  «        ¦  «        z   dz   }n'd	d	d	d	dddœ                     | j        | j        ¦  «        }|› d|› d|› �S |› d|› �S )Nr3   r4   r6   ÚfromÚ_Úoutú	Optional[ú]r7   Ú{Ú}ú(ú, é   éÿÿÿÿú,ú)Úcontiguous_formatÚper_tensor_affine)r8   r9   r:   r;   zc10::MemoryFormat::ContiguouszQScheme::PER_TENSOR_AFFINEú: ú = )Úargument_type_str_pyir'   r&   Ú
isinstanceÚPythonOutArgumentr)   r   Úelemr   r   ÚintÚ
startswithÚendswithÚjoinÚmapr%   ÚstripÚsplitr@   )r3   r,   rD   rA   r&   Útreat_as_no_defaultr)   s          r"   Úargument_str_pyizPythonArgument.argument_str_pyiû   sÄ  € õ )¨¬Ñ3Ô3ˆàŒyˆð �6Š>ˆ>˜h¨(Ò2Ð2¸6Ð2È*Ð2ØˆDà�6Š>ˆ>Ø�C‰KˆDð �5Š=ˆ=˜X¨Ò1Ð1¸*Ð1Ø" XÑ-°Ñ3ˆHð ð 'Ý˜4Õ!2Ñ3Ô3ð'à” Ò&ð 	ð Œ<Ð#Ð,?Ð#å˜4œ9¥hÑ/Ô/ð2à”I”N¥h­v¬zÑ&:Ô&:Ò:Ð:Ø”L×+Ò+¨CÑ0Ô0ð ;à”L×)Ò)¨#Ñ.Ô.ð ;ð
 ˜$Ÿ)š)¥C­¬	°4´<ÀÀ"ÀÔ3E×3KÒ3KÈCÑ3PÔ3PÑ$QÔ$QÑRÔRÑRÐUXÑXð �ð
  &Ø&,Ø$*Ø Ø5HØ2Eðð ÷ ’#�d”l D¤LÑ1Ô1ð ð Ð4Ð4˜hÐ4Ð4¨7Ð4Ð4Ð4àÐ(Ð(˜hÐ(Ð(Ð(r!   N)r,   r.   r-   r.   r/   r%   )r,   r.   rD   r.   r/   r%   )r   r   r   r   rB   rc   r    r!   r"   r$   r$   Ñ   sŒ   € € € € € € à€I€I�IØ€J€J�JØÐÐÑð ÐÐÑð .3À4ð (ð (ð (ð (ð (ð (ð6 !&¸%ð0)ð 0)ð 0)ð 0)ð 0)ð 0)ð 0)ð 0)r!   r$   c                  ó2   — e Zd ZU ded<   edd„¦   «         ZdS )rY   útuple[PythonArgument, ...]Úoutputsr/   úPythonOutArgument | Nonec                óz  — | sd S t          | ¦  «        }|dk    r*t          | d         j        | d         j        dd | ¬¦  «        S |dk    rdt	          d„ | D ¦   «         ¦  «        rt          d| › �¦  «        ‚t          dt          t          t          j	        ¦  «        |¦  «        dd | ¬¦  «        S t          d¦  «        ‚)	NrO   r   r7   )r&   r'   r)   r*   rf   c              3  óJ   K  — | ]}|j                              ¦   «          V — Œd S ©N©r'   Úis_tensor_like©Ú.0Úas     r"   ú	<genexpr>z1PythonOutArgument.from_outputs.<locals>.<genexpr>F  s3   è è € Ð@Ð@°1�q”v×,Ò,Ñ.Ô.Ð.Ð@Ð@Ð@Ð@Ð@Ð@r!   zUnsupported output type: rH   z!Unexpected PythonOutArgument size)ÚlenrY   r&   r'   ÚanyÚRuntimeErrorr   r   r   r4   ÚAssertionError)rf   Úsizes     r"   Úfrom_outputszPythonOutArgument.from_outputs7  sâ   € àð 	Ø�4å�7‰|Œ|ˆØ�1Š9ˆ9Ý$Ø˜Q”Z”_Ø˜Q”Z”_ØØ!Øðñ ô ð ð �AŠXˆXÝÐ@Ð@¸Ð@Ñ@Ô@Ñ@Ô@ð JÝ"Ð#H¸wÐ#HÐ#HÑIÔIÐIÝ$Øå�h¥v¤}Ñ5Ô5°tÑ<Ô<ØØ!Øðñ ô ð õ ÐAÑBÔBÐBr!   N)rf   re   r/   rg   )r   r   r   r   Ústaticmethodrv   r    r!   r"   rY   rY   .  sH   € € € € € € ð (Ð'Ð'Ñ'àðCð Cð Cñ „\ðCð Cð Cr!   rY   c                  óº   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ed!d„¦   «         Zdddœd"d„Zd#d„Zd#d„Zdddœd$d„Z	ddœd%d„Z
ddœd&d„Zd S )'ÚPythonSignaturer%   r&   re   Ú
input_argsÚinput_kwargsrg   Úoutput_argsr   r   Útensor_options_argsr.   r,   r/   c                ó   — dS )NFr    ©r3   s    r"   rD   zPythonSignature.deprecatedp  s   € àˆur!   F)Úskip_outputsÚskip_tensor_optionsr€   r�   ú.tuple[PythonArgument | PythonOutArgument, ...]c               ó
  — g }|                      | j        ¦  «         |                      | j        ¦  «         | j        �|s|                     | j        ¦  «         |s|                      | j        ¦  «         t          |¦  «        S rj   )Úextendrz   r{   r|   Úappendr}   Útuple)r3   r€   r�   Úresults       r"   Ú	argumentszPythonSignature.argumentst  s~   € ð <>ˆØ�Š�d”oÑ&Ô&Ð&Ø�Š�dÔ'Ñ(Ô(Ð(ØÔÐ'°Ð'Ø�MŠM˜$Ô*Ñ+Ô+Ð+Ø"ð 	4Ø�MŠM˜$Ô2Ñ3Ô3Ð3Ý�V‰}Œ}Ðr!   r[   c                óD   — t          |                      ¦   «         ¦  «        S rj   )rq   rˆ   r   s    r"   Úarguments_countzPythonSignature.arguments_count€  s   € Ý�4—>’>Ñ#Ô#Ñ$Ô$Ð$r!   c                óT   — t          | j        ¦  «        t          | j        ¦  «        z   S rj   )rq   rz   r{   r   s    r"   Ú
output_idxzPythonSignature.output_idxƒ  s"   € Ý�4”?Ñ#Ô#¥c¨$Ô*;Ñ&<Ô&<Ñ<Ð<r!   T©r€   r-   r-   c               ó
  ‡ ‡— ‰                       |¬¦  «        }ˆ ˆfd„|D ¦   «         }t          ‰ j        ¦  «        }t          |¦  «        |k    r|                     |d¦  «         ‰ j        › dd                     |¦  «        › d�S )N©r€   c                óH   •— g | ]}|                      ‰j        ‰¬ ¦  «        ‘ŒS )r+   )rB   r,   )rn   ro   r3   r-   s     €€r"   ú
<listcomp>z1PythonSignature.signature_str.<locals>.<listcomp>‘  s8   ø€ ð %
ð %
ð %
ØBCˆA�NŠN $¤+°fˆNÑ=Ô=ð%
ð %
ð %
r!   Ú*rM   rN   rR   )rˆ   rq   rz   Úinsertr&   r^   )r3   r€   r-   ÚargsÚschema_formalsÚpositional_argcs   ` `   r"   Úsignature_strzPythonSignature.signature_str�  s£   øø€ Ø�~Š~¨<ˆ~Ñ8Ô8ˆð%
ð %
ð %
ð %
ð %
ØGKð%
ñ %
ô %
ˆõ ˜dœoÑ.Ô.ˆÝˆ~ÑÔ Ò0Ð0Ø×!Ò! /°3Ñ7Ô7Ð7à”)Ð:Ð:˜dŸiši¨Ñ7Ô7Ð:Ð:Ð:Ð:r!   r�   c               óf  ‡ — ‰                       |¬¦  «        }ˆ fd„|D ¦   «         }t          ‰ j        ¦  «        }t          |¦  «        |k    r|                     |d¦  «         t	          ‰ ¦  «        }‰ j        r|                     dd¦  «         d‰ j        › dd                     |¦  «        › d	|› d
�S )Nr�   c                óF   •— g | ]}|                      ‰j        ¬ ¦  «        ‘ŒS ©©r,   ©rc   r,   ©rn   ro   r3   s     €r"   r‘   z5PythonSignature.signature_str_pyi.<locals>.<listcomp>œ  ó9   ø€ ð %
ð %
ð %
Ø78ˆA×Ò d¤kÐÑ2Ô2ð%
ð %
ð %
r!   r’   r   r3   údef rM   rN   ú) -> ú: ...)rˆ   rq   rz   r“   Úreturns_str_pyir,   r&   r^   ©r3   r€   r”   r•   r–   Úreturns_strs   `     r"   Úsignature_str_pyiz!PythonSignature.signature_str_pyiš  sÖ   ø€ Ø�~Š~¨<ˆ~Ñ8Ô8ˆð%
ð %
ð %
ð %
Ø<@ð%
ñ %
ô %
ˆõ ˜dœoÑ.Ô.ˆÝˆ~ÑÔ Ò0Ð0Ø×!Ò! /°3Ñ7Ô7Ð7õ & dÑ+Ô+ˆàŒ;ð 	-Ø×!Ò! ! VÑ,Ô,Ð,ØT�d”iÐTÐT $§)¢)¨NÑ";Ô";ÐTÐTÀ+ÐTÐTÐTÐTr!   r(   c               óX  ‡ — ‰                       |¬¦  «        }ˆ fd„|D ¦   «         }‰                      ¦   «         }t          ‰ j        ¦  «        }d}|dk    r@|d         j        }t          |t          ¦  «        rt          |j        ¦  «        dv r|dk    rd}|sd S t          |t          ¦  «        sJ ‚d|d         j	        z   d	z   t          |j        ¦  «        z   |d<   t          ‰ ¦  «        }‰ j        r|                     dd
¦  «         d‰ j	        › dd                     |¦  «        › d|› d�S )Nr�   c                óF   •— g | ]}|                      ‰j        ¬ ¦  «        ‘ŒS rš   rœ   r�   s     €r"   r‘   z<PythonSignature.signature_str_pyi_vararg.<locals>.<listcomp>­  rž   r!   Fr   )r[   ÚSymIntrO   Tr’   rU   r3   rŸ   rM   rN   r    r¡   )rˆ   rŠ   rq   rz   r'   rX   r   r%   rZ   r&   rW   r¢   r,   r“   r^   )	r3   r€   r”   r•   Únum_argsÚnum_positionalargsÚhave_vararg_versionÚvararg_typer¤   s	   `        r"   Úsignature_str_pyi_varargz(PythonSignature.signature_str_pyi_varargª  sf  ø€ à�~Š~¨<ˆ~Ñ8Ô8ˆð%
ð %
ð %
ð %
Ø<@ð%
ñ %
ô %
ˆð ×'Ò'Ñ)Ô)ˆÝ  ¤Ñ1Ô1Ðà#ÐØ�aŠ<ˆ<Ø˜qœ'œ,ˆKå˜;­Ñ1Ô1ð+å˜Ô(Ñ)Ô)Ð->Ð>Ð>Ø&¨!Ò+Ð+à&*Ð#à"ð 	Ø�4õ ˜+¥xÑ0Ô0Ð0Ð0Ð0à�$�q”'”,Ñ Ñ%Õ(=¸kÔ>NÑ(OÔ(OÑOð 	�qÑõ & dÑ+Ô+ˆàŒ;ð 	-Ø×!Ò! ! VÑ,Ô,Ð,ØT�d”iÐTÐT $§)¢)¨NÑ";Ô";ÐTÐTÀ+ÐTÐTÐTÐTr!   N©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   r   ÚpropertyrD   rˆ   rŠ   rŒ   r—   r¥   r­   r    r!   r"   ry   ry   S  sV  € € € € € € ð €I€I�Ið +Ð*Ð*Ñ*ð -Ð,Ð,Ñ,à)Ð)Ð)Ñ)ð ÐÐÑð 4Ð3Ð3Ñ3ð €L€L�Làðð ð ñ „Xðð ',Èð
ð 
ð 
ð 
ð 
ð 
ð%ð %ð %ð %ð=ð =ð =ð =ð 5:È$ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 9>ð Uð Uð Uð Uð Uð Uð  @Eð "Uð "Uð "Uð "Uð "Uð "Uð "Uð "Ur!   ry   c                  óh   — e Zd ZU ded<   ded<   edd„¦   «         Zdd	d
œdd„Zddœdd„Zddœdd„ZdS )ÚPythonSignatureDeprecatedr   Údeprecated_schemaútuple[str, ...]Údeprecated_args_exprsr/   r.   c                ó   — dS )NTr    r   s    r"   rD   z$PythonSignatureDeprecated.deprecatedß  ó   € àˆtr!   FTr�   r€   r-   r%   c               óB   — t                                | ||¬¦  «        dz   S )Nr�   z|deprecated)ry   r—   )r3   r€   r-   s      r"   r—   z'PythonSignatureDeprecated.signature_strã  s0   € å×)Ò)Ø <¸ð *ñ ô ð ñð	
r!   r�   c               ó,  ‡ — ‰                       |¬¦  «        }ˆ fd„|D ¦   «         }t          ‰ j        ¦  «        }t          |¦  «        |k    r|                     |d¦  «         t	          ‰ ¦  «        }d‰ j        › dd                     |¦  «        › d|› d�S )	Nr�   c                óH   •— g | ]}|                      ‰j        d ¬¦  «        ‘ŒS )TrC   rœ   r�   s     €r"   r‘   z?PythonSignatureDeprecated.signature_str_pyi.<locals>.<listcomp>í  s;   ø€ ð %
ð %
ð %
ØHIˆA×Ò d¤k¸dÐÑCÔCð%
ð %
ð %
r!   r’   rŸ   rM   rN   r    r¡   )rˆ   rq   rz   r“   r¢   r&   r^   r£   s   `     r"   r¥   z+PythonSignatureDeprecated.signature_str_pyië  s´   ø€ Ø�~Š~¨<ˆ~Ñ8Ô8ˆð%
ð %
ð %
ð %
ØMQð%
ñ %
ô %
ˆõ ˜dœoÑ.Ô.ˆÝˆ~ÑÔ Ò0Ð0Ø×!Ò! /°3Ñ7Ô7Ð7å% dÑ+Ô+ˆØT�d”iÐTÐT $§)¢)¨NÑ";Ô";ÐTÐTÀ+ÐTÐTÐTÐTr!   r(   c               ó   — d S rj   r    )r3   r€   s     r"   r­   z2PythonSignatureDeprecated.signature_str_pyi_vararg÷  r¹   r!   Nr®   r¯   r°   r±   )	r   r   r   r   r²   rD   r—   r¥   r­   r    r!   r"   r´   r´   Ñ  sÃ   € € € € € € ð &Ð%Ð%Ñ%ð +Ð*Ð*Ñ*àðð ð ñ „Xðð 5:È$ð 
ð 
ð 
ð 
ð 
ð 
ð 9>ð 
Uð 
Uð 
Uð 
Uð 
Uð 
Uð @Eð ð ð ð ð ð ð ð r!   r´   c                  ó$   — e Zd ZU ded<   ded<   dS )Ú!PythonSignatureNativeFunctionPairry   Ú	signaturer   ÚfunctionNr   r    r!   r"   r¿   r¿     s*   € € € € € € àÐÐÑØÐÐÑÐÐr!   r¿   c                  óF   — e Zd ZU ded<   ded<   ded<   edd„¦   «         ZdS )ÚPythonSignatureGroupry   rÀ   r   ÚbasezNativeFunction | NoneÚoutplaceÚ
functionalr¿   rH   ú(PythonSignatureNativeFunctionPair | Noner/   c                ó   — |€t          |j        |j        d ¬¦  «        S |j        j                             ¦   «         }|j        j        |d<   t           t          |j        ¦  «        di |¤Ž|j        |j        ¬¦  «        S )N)rÀ   rÄ   rÅ   r}   r    )rÃ   rÀ   rÁ   Ú__dict__Úcopyr}   r'   )ÚclsrÆ   rH   Úsignature_kwargss       r"   Ú
from_pairszPythonSignatureGroup.from_pairs  s    € ð ˆ;Ý'Ø$Ô.ØÔ(Øðñ ô ð ð œ=Ô1×6Ò6Ñ8Ô8Ðð
 Ô Ô4ð 	Ð.Ñ/õ $Ø)•d˜3œ=Ñ)Ô)Ð=Ð=Ð,<Ð=Ð=ØÔ$Ø”\ð
ñ 
ô 
ð 	
r!   N)rÆ   r¿   rH   rÇ   r/   rÃ   )r   r   r   r   ÚclassmethodrÍ   r    r!   r"   rÃ   rÃ     s^   € € € € € € ð
 ÐÐÑð ÐÐÑð $Ð#Ð#Ñ#àð
ð 
ð 
ñ „[ð
ð 
ð 
r!   rÃ   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚDispatchLambdaArgumentr%   r&   rA   r.   Ú
is_out_argNr   r    r!   r"   rÐ   rÐ   >  s0   € € € € € € à€I€I�IØ€M€M�MØÐÐÑÐÐr!   rÐ   c                  óP   — e Zd ZU ded<   ded<   ded<   ded<   edd	„¦   «         Zd
S )ÚPythonArgParserOutputExprr%   r&   Úexprr[   Úindexr$   Úargumentr/   c                ó   — d| j         › d�S )Nz
_r.isNone(rR   )rÕ   r   s    r"   Úis_none_exprz&PythonArgParserOutputExpr.is_none_exprY  s   € à)˜DœJÐ)Ð)Ð)Ð)r!   N)r/   r%   )r   r   r   r   r²   rØ   r    r!   r"   rÓ   rÓ   J  sc   € € € € € € ð €I€I�Ið €I€I�Ið €J€J�Jð ÐÐÑàð*ð *ð *ñ „Xð*ð *ð *r!   rÓ   c                  ó$   — e Zd ZU ded<   ded<   dS )ÚDispatchLambdaArgumentExprszSequence[str]ÚexprsÚinitsNr   r    r!   r"   rÚ   rÚ   c  s.   € € € € € € ð ÐÐÑð ÐÐÑÐÐr!   rÚ   Fr›   Úfr   r,   r.   r/   r   c               ó8   — t          j        | |¬¦  «        j        S )Nr›   )r	   Úfrom_native_functionrÀ   )rÝ   r,   s     r"   Ú_cpp_signaturerà   }  s   € ÝÔ1°!¸FÐCÑCÔCÔMÐMr!   c                ó(   — | j         j        j        d uS rj   )Úfuncrˆ   Útensor_options)rÝ   s    r"   Úhas_tensor_optionsrä   �  s   € ØŒ6ÔÔ*°$Ð6Ð6r!   ©Úsimple_typer-   Útr   ræ   r-   r%   c               ó‚  — t          | t          ¦  «        �r| j        t          j        k    rdS | j        t          j        k    rdS | j        t          j        k    rdS | j        t          j        k    rdS | j        t          j        t          j	        t          j
        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        fv r| j        j        S �n‰t          | t*          ¦  «        r6t          | j        ¦  «        dk    rdS t/          | j        ||¬¦  «        }|› d�S t          | t0          ¦  «        �r(|s| j        nd }t          | j        ¦  «        dk    r| j        €J ‚d	| j        › d
�S t          | j        ¦  «        dk    r
|�d|› d�ndS t          | j        ¦  «        dk    r|r
|�d|› d�ndS |�d|› d�ndS t          | j        ¦  «        dk    r
|�d|› d�ndS t          | j        ¦  «        dk    r
|�d|› d�ndS t          | j        ¦  «        dk    r|rdS dS t          | j        ¦  «        dk    r
|�d|› d�ndS t/          | j        ||¬¦  «        }d|› d
�S t5          dt7          | ¦  «        › �¦  «        ‚)Nr4   Úint64_tÚdoublezc10::string_viewúTensor?rå   ú?r.   z::std::array<bool,ú>r[   zIntArrayRef[rJ   ÚIntArrayRefr¨   zSymIntArrayRef[ÚSymIntArrayRefzTensorList[Ú
TensorListÚScalarzScalarList[Ú
ScalarListz"c10::List<::std::optional<Tensor>>z*const c10::List<::std::optional<Tensor>> &ÚDimnamezDimnameList[ÚDimnameListz	ArrayRef<úunrecognized type )rX   r   r&   r   r4   r[   Úfloatr%   r.   ÚQSchemerñ   Ú
ScalarTypeÚ	GeneratorÚStorageÚLayoutÚDeviceÚDeviceIndexÚMemoryFormatró   ÚStreamr¨   r   rZ   r>   r   ru   rs   Úrepr)rç   ræ   r-   rZ   ru   s        r"   r>   r>   �  sö  € õ �!•XÑÔñ ;#ØŒ6•V”]Ò"Ð"Ø�8ØŒV•v”zÒ!Ð!Ø�9ØŒV•v”|Ò#Ð#Ø�8ØŒV•v”zÒ!Ð!Ø%Ð%ØŒVÝŒKÝŒNÝŒMÝÔÝÔÝŒNÝŒMÝŒMÝÔÝÔÝŒNÝŒMÝŒMð
ð 
ð 
ð  ”6”;Ðñ!
õ$ 
�A•|Ñ	$Ô	$ð  #ÝˆqŒv‰;Œ;˜(Ò"Ð"à�9Ý  ¤°[ÈÐPÑPÔPˆØˆzˆzˆzÐÝ	�A•xÑ	 Ô	 ñ #Ø(Ð2ˆqŒvˆv¨dˆÝˆqŒv‰;Œ;˜&Ò Ð Ø”6Ð%Ð%Ð%Ø1¨¬Ð1Ð1Ð1Ð1Ý�”‰[Œ[˜EÒ!Ð!Ø-1Ð-=Ð) $Ð)Ð)Ð)Ð)À=ÐPÝ�”‰[Œ[˜HÒ$Ð$Øð Uà15Ð1AÐ- dÐ-Ð-Ð-Ð-ÐGWðð 26Ð1AÐ- dÐ-Ð-Ð-Ð-À}ÐTÝ�”‰[Œ[˜HÒ$Ð$Ø,0Ð,<Ð( Ð(Ð(Ð(Ð(À,ÐNÝ�”‰[Œ[˜HÒ$Ð$Ø,0Ð,<Ð( Ð(Ð(Ð(Ð(À,ÐNÝ�”‰[Œ[˜IÒ%Ð%Øð DØ;Ð;àCÐCÝ�”‰[Œ[˜IÒ%Ð%Ø-1Ð-=Ð) $Ð)Ð)Ð)Ð)À=ÐPÝ  ¤°[ÈÐPÑPÔPˆØ"˜4Ð"Ð"Ð"Ð"å
Ð5­D°©G¬GÐ5Ð5Ñ
6Ô
6Ð6r!   ú
int | Nonec                óp   — |                       ¦   «         }|�t          |j        ¦  «        dk    r|j        S d S )Nr.   )Úis_list_liker%   rZ   ru   )rç   Úls     r"   Úargument_type_sizer  Ò  s4   € Ø	�ŠÑÔ€AØ€}�˜QœV™œ¨Ò.Ð.ØŒvˆàˆtr!   ro   r   c                óÀ   — t          | j        | j        | j        �;t	          t          t          j        | j        | j        d¬¦  «        ¦  «        ¦  «        nd d ¬¦  «        S )NFr1   ©r&   r'   r)   r*   )r$   r&   r'   r)   r%   r
   r   Údefault_expr)ro   s    r"   rÖ   rÖ   Ú  sb   € ÝØŒVØŒVð ŒyÐ$õ Õ!¥#Ô"2°1´9¸a¼fÈUÐ"SÑ"SÔ"SÑTÔTÑUÔUÐUààð
ñ 
ô 
ð 
r!   )r,   Úpyir	  c               ó<   — t          | j        | j        ||¬¦  «        S )N)Úcategory_overrider,   r	  )Úsignature_from_schemarâ   r  )rÝ   r,   r	  s      r"   rÀ   rÀ   é  s)   € õ !Ø	Œ !Ô"5¸fÈ#ðñ ô ð r!   râ   r   r  r(   c          
     ó	  ‡ ‡‡‡— g }|                      ‰ j        j        ¦  «         |s0‰ j        j        �$|                     ‰ j        j        j        ¦  «         |                      ‰ j        j        ¦  «         |                      ‰ j        j        ¦  «         |                      ‰ j        j        ¦  «         |                      ‰ j        j	        ¦  «         d„ ‰ j        j
        D ¦   «         Šd„ ‰ j        j        D ¦   «         Šd„ ‰ j        j	        D ¦   «         Št          t          t
          t          ˆfd„|¦  «        ¦  «        ¦  «        }t          t          t
          t          ˆfd„|¦  «        ¦  «        ¦  «        }t          t          t
          t          ˆfd„|¦  «        ¦  «        ¦  «        }t          d„ ‰ j        j        D ¦   «         ¦  «        }t          d„ ‰                      ¦   «         D ¦   «         ¦  «        rt%          d	¦  «        ‚t          d
„ ‰ j        D ¦   «         ¦  «        }	t)          j        ‰ ¦  «        }
|dk    p|	o| }|dv p)|
                     d¦  «        p|
                     d¦  «        }|dk    }g }|s|�r¤|�s¡d ˆ fd„}|                     t1          dt3          t5          t6          j        ¦  «        ¦  «        d|rd n
 |d¦  «        ¬¦  «        ¦  «         |                     t1          dt3          t5          t6          j        ¦  «        ¦  «        d|rd n
 |d¦  «        ¬¦  «        ¦  «         |                     t1          dt3          t5          t6          j        ¦  «        ¦  «        d|rd n |d¦  «        pd¬¦  «        ¦  «         |                     t1          dt3          t5          t6          j        ¦  «        ¦  «        dd ¬¦  «        ¦  «         |                     t1          dt3          t5          t6          j        ¦  «        ¦  «        dd ¬¦  «        ¦  «         tA          ‰ j        ¬¦  «        }tC          tE          ‰ j        j        ¦  «        ||tF           $                    |¦  «        t          |¦  «        ||¬¦  «        S )!Nc                ó   — h | ]	}|j         ’Œ
S r    ©r&   rm   s     r"   ú	<setcomp>z(signature_from_schema.<locals>.<setcomp>  s   € ÐDÐDÐD �Q”VÐDÐDÐDr!   c                ó   — h | ]	}|j         ’Œ
S r    r  rm   s     r"   r  z(signature_from_schema.<locals>.<setcomp>  s   € ÐEÐEÐE �a”fÐEÐEÐEr!   c                ó   — h | ]	}|j         ’Œ
S r    r  rm   s     r"   r  z(signature_from_schema.<locals>.<setcomp>  s   € Ð6Ð6Ð6˜a�1”6Ð6Ð6Ð6r!   c                ó   •— | j         ‰v S rj   r  )ro   Úinput_arg_sets    €r"   ú<lambda>z'signature_from_schema.<locals>.<lambda>  s   ø€ °a´fÀÐ6M€ r!   c                ó   •— | j         ‰v S rj   r  )ro   Úkwarg_only_sets    €r"   r  z'signature_from_schema.<locals>.<lambda>
  s   ø€  q¤v°Ð'?€ r!   c                ó   •— | j         ‰v S rj   r  )ro   Úout_arg_sets    €r"   r  z'signature_from_schema.<locals>.<lambda>  s   ø€ °1´6¸[Ð3H€ r!   c              3  óH   K  — | ]}|j                              ¦   «         V — Œd S rj   rk   rm   s     r"   rp   z(signature_from_schema.<locals>.<genexpr>  sA   è è € ð ð Ø$%ˆŒ×ÒÑÔðð ð ð ð ð r!   c              3  ó,   K  — | ]}|j         d k    V — ŒdS )Úrequires_gradNr  rm   s     r"   rp   z(signature_from_schema.<locals>.<genexpr>  s)   è è € Ð
LÐ
L¨ˆ1Œ6�_Ò$Ð
LÐ
LÐ
LÐ
LÐ
LÐ
Lr!   zTargument named requires_grad is reserved, should not explicitly add it in the schemac              3  óH   K  — | ]}|j                              ¦   «         V — Œd S rj   rk   ©rn   Úrs     r"   rp   z(signature_from_schema.<locals>.<genexpr>   s0   è è € ÐJÐJ¸˜AœF×1Ò1Ñ3Ô3ÐJÐJÐJÐJÐJÐJr!   Úfactory)ÚnewÚlikeÚnew_Ú_likeÚdummyr&   r%   r/   r(   c                ó®   •— ‰j         j        }|€d S t          || ¦  «        }|j        �|j        dk    rd S t	          j        |j        |j        d¬¦  «        S )Nr7   Fr1   )rˆ   rã   Úgetattrr)   r   r  r'   )r&   Ú	topt_argsro   râ   s      €r"   Útopt_default_initz0signature_from_schema.<locals>.topt_default_init0  s\   ø€ ØœÔ5ˆIØÐ Ø�tÝ˜	 4Ñ(Ô(ˆAØŒyÐ  A¤I°Ò$7Ð$7Ø�tÝÔ# A¤I¨q¬v¸eÐDÑDÔDÐDr!   Údtyper7   r  ÚlayoutÚdevicez$torch::tensors::get_default_device()Ú
pin_memoryÚFalser  ©r   )r&   rz   r{   r|   r}   r   r,   )r&   r%   r/   r(   )%r„   rˆ   Úpre_self_positionalÚself_argr…   rÖ   Úpost_self_positionalÚpre_tensor_options_kwarg_onlyÚpost_tensor_options_kwarg_onlyrH   Úflat_positionalÚflat_kwarg_onlyr†   r_   Úfilterrr   Úflat_non_outÚschema_order_argumentsÚ
ValueErrorr   r   r&   r\   r]   r$   r   r   r   rø   rû   rü   r.   r   ry   r%   rY   rv   )râ   r  r,   r	  r”   rz   r{   rf   Úhas_tensor_input_argÚhas_tensor_returnr&   Úis_factory_functionÚis_like_or_new_functionÚis_dummy_functionr}   r)  r   r  r  r  s   `                @@@r"   r  r  ñ  sé  øøøø€ ð €DØ‡K‚K�”Ô2Ñ3Ô3Ð3àð 6�d”nÔ-Ð9Ø�Š�D”NÔ+Ô4Ñ5Ô5Ð5Ø‡K‚K�”Ô3Ñ4Ô4Ð4Ø‡K‚K�”Ô<Ñ=Ô=Ð=ð 	‡K‚K�”Ô=Ñ>Ô>Ð>Ø‡K‚K�”Ô"Ñ#Ô#Ð#àDÐD T¤^Ô%CÐDÑDÔD€MØEÐE d¤nÔ&DÐEÑEÔE€NØ6Ð6 4¤>Ô#5Ð6Ñ6Ô6€Kå•s�8¥VÐ,MÐ,MÐ,MÐ,MÈtÑ%TÔ%TÑUÔUÑVÔV€JÝÝ�H•fÐ?Ð?Ð?Ð?ÀÑFÔFÑGÔGñô €Lõ •C�¥&Ð)HÐ)HÐ)HÐ)HÈ$Ñ"OÔ"OÑPÔPÑQÔQ€Gõ ð ð Ø)-¬Ô)Dðñ ô ñ ô Ðõ Ð
LÐ
L¨d×.IÒ.IÑ.KÔ.KÐ
LÑ
LÔ
LÑLÔLð 
ÝØbñ
ô 
ð 	
õ ÐJÐJ¸T¼\ÐJÑJÔJÑJÔJÐå”˜‘”€DØ+¨yÒ8ð ØÐ6Ð"6Ð6ð ð 	˜_Ð,ð 	"Ø�?Š?˜6Ñ"Ô"ð	"à�=Š=˜Ñ!Ô!ð ð
 *¨WÒ4Ðà02ÐØð =
Ð6ñ =
Ð@Qñ =
ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	×"Ò"ÝØÝ!¥(­6Ô+<Ñ"=Ô"=Ñ>Ô>Øà3ÐS�D�DÐ9JÐ9JÈ7Ñ9SÔ9Sðñ ô ñ		
ô 		
ð 		
ð 	×"Ò"ÝØÝ!¥(­6¬=Ñ"9Ô"9Ñ:Ô:Øà3ÐT�D�DÐ9JÐ9JÈ8Ñ9TÔ9Tðñ ô ñ		
ô 		
ð 		
ð 	×"Ò"ÝØÝ!¥(­6¬=Ñ"9Ô"9Ñ:Ô:Øð /ð�D�Dð *Ð)¨(Ñ3Ô3ð BØAðñ ô ñ	
ô 	
ð 	
ð 	×"Ò"ÝØ!Ý!¥(­6¬;Ñ"7Ô"7Ñ8Ô8ØØ!ð	ñ ô ñ	
ô 	
ð 	
ð 	×"Ò"ÝØ$Ý!¥(­6¬;Ñ"7Ô"7Ñ8Ô8ØØ!ð	ñ ô ñ	
ô 	
ð 	
õ  D¤LÐ1Ñ1Ô1€GåÝ�””Ñ Ô ØØ!Ý%×2Ò2°7Ñ;Ô;Ý!Ð"5Ñ6Ô6ØØðñ ô ð r!   r   r   ú	list[str]c                óÆ   — t          | ¦  «        dk    st          d„ | D ¦   «         ¦  «        rg S t          d„ | D ¦   «         ¦  «        rt          d¦  «        ‚d„ | D ¦   «         S )NrO   c              3  ó(   K  — | ]}|j         d u V — Œd S rj   r  r  s     r"   rp   z'structseq_fieldnames.<locals>.<genexpr>‚  s(   è è € Ð@Ð@°1 ¤¨$ Ð@Ð@Ð@Ð@Ð@Ð@r!   c              3  ó(   K  — | ]}|j         d u V — Œd S rj   r  r  s     r"   rp   z'structseq_fieldnames.<locals>.<genexpr>…  s(   è è € Ð/Ð/ !ˆqŒv˜ˆ~Ð/Ð/Ð/Ð/Ð/Ð/r!   z)Unnamed field is not supported by codegenc                ó6   — g | ]}t          |j        ¦  «        ‘ŒS r    )r%   r&   r  s     r"   r‘   z(structseq_fieldnames.<locals>.<listcomp>‘  s    € Ð-Ð-Ð- •�A”F‘”Ð-Ð-Ð-r!   )rq   Úallrr   r:  r/  s    r"   Ústructseq_fieldnamesrF  �  sy   € Ý
ˆ7�|„|�qÒÐ�CÐ@Ð@¸Ð@Ñ@Ô@Ñ@Ô@ÐØˆ	åÐ/Ð/ wÐ/Ñ/Ô/Ñ/Ô/ð 
	Jõ ÐHÑIÔIÐIà-Ð- WÐ-Ñ-Ô-Ð-r!   c                óh  — d}t          | t          ¦  «        r	| j        } d}t          | t          ¦  «        �r„| j        t
          j        t
          j        fv rd}| j        t
          j        k    rd}�n7| j        t
          j	        k    rd}�n| j        t
          j
        k    rd}�n| j        t
          j        k    rd}�nì| j        t
          j        k    rd}�nÓ| j        t
          j        k    rd	}�nº| j        t
          j        k    rd
}�n¡| j        t
          j        k    rd}�nˆ| j        t
          j        k    rd}�no| j        t
          j        k    rd}�nV| j        t
          j        k    rd}�n=| j        t
          j        k    rd}�n$| j        t
          j        t
          j        t
          j        fv r| j        j        }nít          | t.          ¦  «        r¹t          | j        ¦  «        dk    r| j        �dnd}n´|                      ¦   «         rd}| j        �dnd}n’t          | j        ¦  «        dk    rd}nwt          | j        ¦  «        dk    r%| j        �t5          | j        ¦  «        }d|› d|› d�}n:t5          | j        ¦  «        }d|› d�}nt7          dt9          | ¦  «        › �¦  «        ‚|rd|z   dz   }|S )NFTÚ_intzUnion[_int, SymInt]Ú_floatr%   zUnion[Number, _complex]Ú_dtypeÚ_boolÚ_qschemeÚ_layoutzOptional[DeviceLikeType]Úmemory_formatzUnion[str, ellipsis, None]zUnion[Storage, UntypedStorage]r[   zUnion[_int, _size]Ú_sizez/Union[Tensor, tuple[Tensor, ...], list[Tensor]]z'Union[tuple[Tensor, ...], list[Tensor]]rö   zSequence[_float]r¨   zUnion[z, Sequence[z]]z	Sequence[rJ   rõ   rI   )rX   r   rZ   r   r&   r   r[   rý   r¨   rö   r%   rñ   rø   r.   r÷   rû   rü   rþ   ró   rú   r4   rù   rÿ   r   ru   rl   rW   rs   r   )rç   Úadd_optionalÚretrZ   s       r"   rW   rW   ”  s®  € Ø€LÝ�!•\Ñ"Ô"ð ØŒFˆØˆå�!•XÑÔñ 6;ØŒ6•f”j¥&Ô"4Ð5Ð5Ð5ØˆCØŒ6•V”]Ò"Ð"Ø'ˆC‰CØŒV•v”|Ò#Ð#ØˆC‰CØŒV•v”zÒ!Ð!ØˆC‰CØŒV•v”}Ò$Ð$Ø+ˆC‰CØŒV•vÔ(Ò(Ð(ØˆC‰CØŒV•v”{Ò"Ð"ØˆC‰CØŒV•v”~Ò%Ð%ØˆC‰CØŒV•v”}Ò$Ð$ØˆC‰CØŒV•v”}Ò$Ð$Ø,ˆC‰CØŒV•vÔ*Ò*Ð*Ø!ˆC‰CØŒV•v”~Ò%Ð%Ø.ˆC‰CØŒV•v”~Ò%Ð%Ø2ˆC‰CØŒV�œ¥vÔ'7½¼ÐGÐGÐGà”&”+ˆCøå	�A•xÑ	 Ô	 ð ;ÝˆqŒv‰;Œ;˜%ÒÐØ*+¬&Ð*<Ð&Ð&À'ˆCˆCØ×ÒÑÔð 	&ð  ˆLð ”6Ð%ð BÐAà>ð ˆCõ
 �”‰[Œ[˜GÒ#Ð#Ø$ˆCˆCÝ�”‰[Œ[˜HÒ$Ð$¨¬Ð);Ý(¨¬Ñ0Ô0ˆDØ4˜4Ð4Ð4¨DÐ4Ð4Ð4ˆCˆCå(¨¬Ñ0Ô0ˆDØ%˜dÐ%Ð%Ð%ˆCˆCõ Ð9µ°Q±´Ð9Ð9Ñ:Ô:Ð:àð &Ø˜CÑ #Ñ%ˆà€Jr!   c                ó€  — t          | t          ¦  «        rt          | j        ¦  «        }d|› d�S t          | t          ¦  «        r=| j        t          j        k    rdS | j        t          j        k    rdS t          | ¦  «        S t          | t          ¦  «        rt          | j        ¦  «        }d|› d�S t          | ¦  «        S )NrI   rJ   Ú_devicezOptional[str]útuple[z, ...])rX   r   Úreturn_type_str_pyirZ   r   r&   r   rü   ró   rW   r   )rç   Úinners     r"   rU  rU  Ø  s¾   € õ �!•\Ñ"Ô"ð $Ý# A¤FÑ+Ô+ˆØ#˜5Ð#Ð#Ð#Ð#å�!•XÑÔð ,ØŒ6•V”]Ò"Ð"Ø�9ØŒV•v”~Ò%Ð%Ø"�?å(¨Ñ+Ô+Ð+å�!•XÑÔð &Ý# A¤FÑ+Ô+ˆØ%˜Ð%Ð%Ð%Ð%å  Ñ#Ô#Ð#r!   rÀ   útuple[str, str] | Nonec           	     óÔ  — d„ | j         j         D ¦   «         }| j        }t          | j         j         ¦  «        }|r¯dd                     |¦  «        › d�}d|› d|› d�g}t	          ||¦  «        D ]#\  }}|                     dd	|› d
|› d�g¦  «         Œ$|                     d|› d�dt          |¦  «        › �dt          |¦  «        › �dddg¦  «         d                     |¦  «        }||fS d S )Nc                ó6   — g | ]}t          |j        ¦  «        ‘ŒS r    ©rU  r'   r  s     r"   r‘   z)returns_structseq_pyi.<locals>.<listcomp>ð  ó#   € ÐUÐUÐU°aÕ)¨!¬&Ñ1Ô1ÐUÐUÐUr!   rT  rN   rJ   zclass rM   z):z    @propertyz    def z
(self) -> r¡   z    def __new__(cls, sequence: z): ...z    n_fields: _int = z    n_sequeunce_fields: _int = z    n_unnamed_fields: _int = 0zG    def __init_subclass__(cls) -> NoReturn: ...  # prohibit subclassingr2   ú
)r   r&   rF  r^   Úzipr„   rq   )	rÀ   Úpython_returnsÚstructseq_nameÚfield_namesÚseq_typeÚstructseq_def_linesr&   ÚtypÚstructseq_defs	            r"   Úreturns_structseq_pyire  ï  sU  € ØUÐU¸9Ô;LÔ;TÐUÑUÔU€NØ”^€NÝ& yÔ'8Ô'@ÑAÔA€KØð '-ð 9˜DŸIšI nÑ5Ô5Ð8Ð8Ð8ˆà2�^Ð2Ð2 hÐ2Ð2Ð2ð
Ðõ ˜[¨.Ñ9Ô9ð 	ð 	‰IˆD�#Ø×&Ò&à#Ø9˜tÐ9Ð9¨sÐ9Ð9Ð9ðñô ð ð ð 	×"Ò"àB°(ÐBÐBÐBØ:­¨KÑ(8Ô(8Ð:Ð:ØDµ#°kÑ2BÔ2BÐDÐDØ0ØYØðñ		
ô 		
ð 		
ð Ÿ	š	Ð"5Ñ6Ô6ˆð ˜}Ð,Ð,Øˆ4r!   c                ó  — t          | j        j        ¦  «        }|r
d| j        › �S d„ | j        j        D ¦   «         }t          |¦  «        dk    rdd                     |¦  «        z   dz   S t          |¦  «        dk    r|d         S dS )	Nztorch.return_types.c                ó6   — g | ]}t          |j        ¦  «        ‘ŒS r    rZ  r  s     r"   r‘   z#returns_str_pyi.<locals>.<listcomp>#  r[  r!   rO   rT  rN   rJ   r   r7   )rF  r   r&   rq   r^   )rÀ   r`  r^  s      r"   r¢   r¢     s˜   € Ý& yÔ'8Ô'@ÑAÔA€KØð 6Ø5 Y¤^Ð5Ð5Ð5àUÐU¸9Ô;LÔ;TÐUÑUÔU€NÝ
ˆ>ÑÔ˜QÒÐØ˜$Ÿ)š) NÑ3Ô3Ñ3°cÑ9Ð9Ý
ˆ>ÑÔ˜aÒÐØ˜aÔ Ð Øˆ6r!   Úpsú"tuple[DispatchLambdaArgument, ...]c                ó  ‡ ‡— t          ‰ t          ¦  «        r‰ j        }n|j        }t	          j        |j        d|d|j        ¬¦  «        }d„ |j        j        D ¦   «         Šd	ˆˆ fd„}t          t          ||¦  «        ¦  «        S )
NF)rˆ   Úfaithfulr-   r,   Úcpp_no_default_argsc                ó   — h | ]	}|j         ’Œ
S r    r  rm   s     r"   r  z'dispatch_lambda_args.<locals>.<setcomp>c  s   € Ð?Ð?Ð? Q˜!œ&Ð?Ð?Ð?r!   Úcpp_argr   r/   rÐ   c                óÜ   •— | j         }| j        ‰v }‰j        r| j        dk    rd}n0t          ‰¦  «        dk    p| }|rddi                     ||¦  «        }t          | j        ||¬¦  «        S )Nr3   zconst at::Tensor &rO   zat::Tensor &ú
at::Tensor)r&   rA   rÑ   )r'   r&   r,   rq   r@   rÐ   )rn  rA   rÑ   Úensure_temp_safeÚout_argsrh  s       €€r"   Údispatch_lambda_argz1dispatch_lambda_args.<locals>.dispatch_lambda_argf  s—   ø€ Ø”<ˆØ”\ XÐ-ˆ
ØŒ9ð 	*˜œ¨Ò/Ð/à+ˆHˆHõ  # 8™}œ}°Ò1ÐC¸°^ÐØð *à" Lðç’#�h Ñ)Ô)ð õ &Ø”ØØ!ð
ñ 
ô 
ð 	
r!   )rn  r   r/   rÐ   )
rX   r´   rµ   râ   r   rˆ   rl  rH   r†   r_   )rh  rÝ   r-   ÚschemaÚcpp_argsrs  rr  s   `     @r"   Údispatch_lambda_argsrv  S  s±   øø€ õ �"Õ/Ñ0Ô0ð ØÔ%ˆˆà”ˆõ Œ}ØÔ"ØØØØÔ1ðñ ô €Hð @Ð?¨&Ô*:Ô*>Ð?Ñ?Ô?€Hð
ð 
ð 
ð 
ð 
ð 
ð 
õ, •Ð(¨(Ñ3Ô3Ñ4Ô4Ð4r!   >   úvoid*ú
at::Scalarú
at::Streamúat::QSchemeúat::ScalarTypeúat::IntArrayRefú::std::vector<at::Tensor>ú::std::tuple<double,int64_t>ú#::std::tuple<at::Tensor,at::Tensor>ú.::std::tuple<at::Tensor,at::Tensor,at::Tensor>ú2::std::tuple<at::Tensor,::std::vector<at::Tensor>>ú2::std::tuple<at::Tensor,at::Tensor,double,int64_t>ú6::std::tuple<at::Tensor,at::Tensor,at::Tensor,int64_t>ú9::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>ú=::std::tuple<at::Tensor,at::Tensor,double,at::Tensor,int64_t>úA::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>úD::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>úO::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>úr::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,c10::SymInt,c10::SymInt,at::Tensor,at::Tensor,at::Tensor>r.   Úvoidrê   ré   rp  c                óê   — t          d„ | j        j        D ¦   «         ¦  «        }t          j        |d¬¦  «                             ¦   «         }|t          vrt          | j        j        › d|› �¦  «        ‚|S )Nc              3  óL   K  — | ]}t          |j        |j        d ¦  «        V — Œ d S rj   )r   r&   r'   r  s     r"   rp   z-dispatch_lambda_return_str.<locals>.<genexpr>³  sC   è è € ð 'ð 'Ø)*�ˆqŒv�q”v˜tÑ$Ô$ð'ð 'ð 'ð 'ð 'ð 'r!   Tr1   z returns unsupported type )	r†   râ   r   r   Úreturns_typeÚcpp_typeÚSUPPORTED_RETURN_TYPESrs   r&   )rÝ   Úreturns_without_annotationÚ
return_strs      r"   Údispatch_lambda_return_strr’  Ÿ  sŠ   € õ( "'ð 'ð 'Ø./¬f¬nð'ñ 'ô 'ñ "ô "Ðõ Ô!Ð"<ÀTÐJÑJÔJ×SÒSÑUÔU€JØÕ/Ð/Ð/Ý˜aœfœkÐQÐQÀZÐQÐQÑRÔRÐRØÐr!   c                óv  — | j                              ¦   «         }t          j        | j         |¬¦  «        }t          j        | j        v rd|› �S t          j        | j        v rDt          | ¦  «        s)| j         j        j        j	         
                    d¦  «        rd}nd}|› d|› �S t          d| j         › �¦  «        ‚)N)Úsymint_overloadzself.r$  ÚtorchÚatz::z1could not dispatch, neither function nor method: )râ   Ú
has_symintr   r&   r   r,   ÚvariantsrÁ   rä   rÄ   r]   rs   )rÝ   r-   r&   Ú	namespaces       r"   Úcpp_dispatch_targetrš  ¼  s¾   € ØŒV×ÒÑ Ô €FÝŒ8�A”F¨FÐ3Ñ3Ô3€DÝ„~˜œÐ#Ð#Ø�tˆ~ˆ~ÐÝÔ˜1œ:Ð%Ð%Ý˜aÑ Ô ð 	 A¤F¤KÔ$4Ô$9×$BÒ$BÀ7Ñ$KÔ$Kð 	ØˆIˆIàˆIØÐ%Ð%˜tÐ%Ð%Ð%Ý
ÐSÈ1Ì6ÐSÐSÑ
TÔ
TÐTr!   N)Úpython_signaturer›  úPythonSignature | Noner¶   c               ód  ‡ — t          ‰ d¬¦  «                             ¦   «         }d}t          |t          ¦  «        st	          d„ |D ¦   «         ¦  «        }n%t	          t          ˆ fd„|j        ¦  «        ¦  «        }t          j        ‰ j	        v r"t	          t          dj
        |¦  «        ¦  «        }|S )NFr›   r    c              3  ó$   K  — | ]}|j         V — Œd S rj   r  rm   s     r"   rp   z%cpp_dispatch_exprs.<locals>.<genexpr>Ô  s$   è è € Ð/Ð/ �a”fÐ/Ð/Ð/Ð/Ð/Ð/r!   c                óB   •— | dk    p‰j                              ¦   «         S )NrH   )râ   Ú	is_out_fn)ÚnrÝ   s    €r"   r  z$cpp_dispatch_exprs.<locals>.<lambda>Ù  s   ø€ ˜!˜uš*Ð:¨¬×(8Ò(8Ñ(:Ô(:€ r!   r3   )rà   rˆ   rX   r´   r†   r7  r·   r   r,   r˜  Ú__ne__)rÝ   r›  ru  rÛ   s   `   r"   Úcpp_dispatch_exprsr£  Ê  s¹   ø€ õ
 #1°¸5Ð"AÑ"AÔ"A×"KÒ"KÑ"MÔ"M€Hà€EÝÐ&Õ(AÑBÔBð 

åÐ/Ð/ hÐ/Ñ/Ô/Ñ/Ô/ˆˆõ ÝØ:Ð:Ð:Ð:Ø Ô6ñô ñ
ô 
ˆõ „~˜œÐ#Ð#Ý•f˜Vœ]¨EÑ2Ô2Ñ3Ô3ˆà€Lr!   r1   r)   r*   c               óV  — |d u}|r$t          | ¦  «        dvrt          d| › d�¦  «        ‚t          | t          ¦  «        �rZ| j        t
          j        t
          j        t
          j        t
          j	        t
          j
        fv r| j        j                             ¦   «         S | j        t
          j        k    r|rdndS | j        t
          j        k    r|rdndS | j        t
          j        k    rdS | j        t
          j        k    rdS | j        t
          j        k    r|rd	ndS | j        t
          j        k    r|rd
ndS | j        t
          j        k    rdS | j        t
          j         k    rdS | j        t
          j        k    r|rdndS | j        t
          j        k    rdS �n}t          | t*          ¦  «        r‡t          | j        ¦  «        dk    rdS t          | j        ¦  «        dk    rdS t          | j        ¦  «        dk    rdS |s|dv rt/          | j        d d |¬¦  «        dz   S t/          | j        |||¬¦  «        S t          | t0          ¦  «        rÌt          | j        ¦  «        dk    r| j        �d| j        › d�ndS t          | j        ¦  «        dk    rdS t          | j        ¦  «        dk    rd S t          | j        ¦  «        d!k    rd"S t          | j        ¦  «        d#k    rd$S t          | j        ¦  «        d%k    r|rd&nd"S t          | j        ¦  «        d'k    rd(S t          d| › d)�¦  «        ‚)*N)úScalarType?rø   rü   úDevice?rû   úLayout?r.   úbool?ztype 'z+' does not supported unpacking with defaultÚscalartypeWithDefaultÚ
scalartypeÚdeviceWithDefaultr,  ÚtoInt64ÚtoSymIntÚtoBoolWithDefaultÚtoBoolÚtoDoubleÚ
stringViewÚlayoutWithDefaultr+  Úmemoryformatr4   ÚoptionalTensorrù   Ú	generatorz	Dimname[]ÚtoDimnameListOptional)Nr7   r9   r:   r1   ÚOptionalztensorlist_n<rí   Ú
tensorlistrë   Úlist_of_optional_tensorsró   Údimnamelistr[   Úintliströ   Ú
doublelistr¨   Ú
symintlistrñ   Ú
scalarlistz%' is not supported by PythonArgParser)r%   rs   rX   r   r&   r   r4   rÿ   rú   rñ   ró   Úlowerrø   rü   rý   r[   r¨   r.   rö   rû   rþ   r   rZ   Úarg_parser_unpack_methodr   ru   )rç   r)   r*   r-   Úhas_default_inits        r"   rÀ  rÀ  ò  sf  € ð $¨4Ð/ÐØð 
T�C ™FœFð 	+ð 	ð 	õ ÐR AÐRÐRÐRÑSÔSÐSå�!•XÑÔñ H ØŒ6ÝŒMÝŒMÝŒNÝŒMÝŒNð
ð 
ð 
ð ”6”;×$Ò$Ñ&Ô&Ð&ØŒV•vÔ(Ò(Ð(Ø.>ÐPÐ*Ð*ÀLÐPØŒV•v”}Ò$Ð$Ø*:ÐHÐ&Ð&ÀÐHØŒV•vÔ)Ò)Ð)Ø�9ØŒV•v”zÒ!Ð!Ø�9ØŒV•v”}Ò$Ð$Ø!'Ð6�:�:¨YÐ6ØŒV•v”{Ò"Ð"Ø*:ÐHÐ&Ð&ÀÐHØŒV•v”|Ò#Ð#Ø�:ØŒV•v”zÒ!Ð!Ø�<ØŒV•v”}Ò$Ð$Ø*:ÐHÐ&Ð&ÀÐHØŒV•vÔ*Ò*Ð*Ø!�>ñ +õ 
�A•|Ñ	$Ô	$ð ) ÝˆqŒv‰;Œ;˜(Ò"Ð"Ø#Ð#Ý�”‰[Œ[˜KÒ'Ð'Ø�;Ý�”‰[Œ[˜KÒ'Ð'Ø*Ð*Ø!ð 	 gð 2
ð '
ð '
õ )¨¬°°tÀFÐKÑKÔKÈjÑXðõ
 ,Ø”˜ °fðñ ô ð õ 
�A•xÑ	 Ô	 ð  ÝˆqŒv‰;Œ;˜(Ò"Ð"à01´Ð0BÐ, 1¤6Ð,Ð,Ð,Ð,ÈÐTÝ�”‰[Œ[˜IÒ%Ð%Ø-Ð-Ý�”‰[Œ[˜IÒ%Ð%à �=Ý�”‰[Œ[˜EÒ!Ð!à�9Ý�”‰[Œ[˜GÒ#Ð#Ø�<Ý�”‰[Œ[˜HÒ$Ð$à#)Ð8�<�<¨yÐ8Ý�”‰[Œ[˜HÒ$Ð$Ø�<Ý
ÐH ÐHÐHÐHÑ
IÔ
IÐIr!   Ú	arg_indexr[   c               óº   — |j         d u}t          |j        |j        |j         |¬¦  «        }|r
d|j         › �nd}d|› d| › |› d�}t	          |j        || |¬¦  «        S )N)rç   r)   r*   r-   rN   r2   z_r.rM   rR   )r&   rÔ   rÕ   rÖ   )r*   rÀ  r'   r)   rÓ   r&   )rÂ  ro   r-   Úhas_defaultÚunpack_methodr)   rÔ   s          r"   Úarg_parser_output_exprrÆ  P  s‘   € ð ”.¨Ð,€KÝ,Ø
Œ&˜!œ)°!´.Èðñ ô €Mð (3Ð:Ð#�1”>Ð#Ð#Ð#¸€GØ6�Ð6Ð6 Ð6¨GÐ6Ð6Ð6€Då$ØŒVØØØð	ñ ô ð r!   ú$dict[str, PythonArgParserOutputExpr]c               ó^   ‡— ˆfd„t          |                      ¦   «         ¦  «        D ¦   «         S )Nc                óJ   •— i | ]\  }}t          ||‰¬ ¦  «        }|j        |“Œ S )r1   )rÆ  r&   )rn   Úiro   Úer-   s       €r"   ú
<dictcomp>z+arg_parser_output_exprs.<locals>.<dictcomp>f  sE   ø€ ð ð ð áˆAˆqÝ(¨¨A°fÐ=Ñ=Ô=ˆAð 	
Œ�ðð ð r!   )Ú	enumeraterˆ   )rh  rÝ   r-   s     `r"   Úarg_parser_output_exprsrÎ  c  s>   ø€ ðð ð ð å˜bŸlšl™nœnÑ-Ô-ðñ ô ð r!   r¥  r¦  r§  r¨  )r*  r,  r+  r-  r  c               ó6  ‡‡— t          | ||¬¦  «        }t          | ||¬¦  «        }g }i Št          |¦  «        }|                      d¬¦  «        D �]}|j        }||j                 j        }	|r&|dk    r |                     d|	› d�g¦  «         |‰|<   ŒDt          |t          ¦  «        rtt          |j
        ¦  «        dk    r\|j                             ¦   «         rC|                     d|	› d�g¦  «         t          |j
        ¦  «        D ]\  }
}d	|
› d
�‰|j        <   ŒŒÍt          |j        ¦  «        dk    r/|                     d|› d|	› d�d|› d|› d|› d�g¦  «         |‰|<   �Œ|	‰|<   �Œ| j        rd‰d<   d„ | j        D ¦   «         Š|�rj|j                             ¦   «         rt%          |j        › d�¦  «        ‚| j        D ]˜}|j        t&          vrt%          |j        › d|j        › d�¦  «        ‚t          |j        ¦  «        t&                               |j        ¦  «        k    r4t%          |j        › dt          |j        ¦  «        › d|j        › d�¦  «        ‚Œ™t+          ˆfd„t&          D ¦   «         ¦  «        st%          |j        › d‰› �¦  «        ‚|                     d|d         j        › d|d         j        › d|d          j        › d!|d"         j        › d#|d$         j        › d%�¦  «         d&‰d&<   |sú‰rød‰v rÖ|j                             ¦   «         s!t%          |j        › d'| › d(| j        › �¦  «        ‚t+          ˆfd)„d*D ¦   «         ¦  «        st%          |j        › d+�¦  «        ‚|                     d,|d-         j        › d.|d         j        › d/|d         j        › d.|d          j        › d/|d         j        › d.|d         j        › d0�¦  «         d"‰vrt%          |j        › d1‰› d
�¦  «        ‚t1          t3          ˆfd2„|D ¦   «         ¦  «        |¬3¦  «        S )4Nr1   T)r�   r3   zauto self = ú;rO   zauto out = zout[rJ   z
Dimname[]?zauto __rV   z::std::optional<DimnameList> z = __z& ? ::std::make_optional(DimnameList(__z.value())) : ::std::nullopt;c                ó   — g | ]	}|j         ‘Œ
S r    r  rm   s     r"   r‘   z)dispatch_lambda_exprs.<locals>.<listcomp>´  s   € Ð HÐ HÐ H¨A ¤Ð HÐ HÐ Hr!   z : tensor options with output argz%: unrecognized tensor options field 'z' in python binding argumentsz: unrecognized type 'z' for tensor options field 'ú'c              3  ó    •K  — | ]}|‰v V — Œ	d S rj   r    ©rn   ro   Útensor_options_args_namess     €r"   rp   z(dispatch_lambda_exprs.<locals>.<genexpr>Á  s)   øè è € ÐQÐQ°a�1Ð1Ð1ÐQÐQÐQÐQÐQÐQr!   z": incomplete tensor options args: z0const auto options = TensorOptions()
    .dtype(r*  z)
    .device(r,  z)
    .layout(r+  z)
    .requires_grad(r  z)
    .pinned_memory(r-  z3);
torch::utils::maybe_initialize_device(options);
Úoptionsz3: dtype in tensor_options_args without output arg, r<   c              3  ó    •K  — | ]}|‰v V — Œ	d S rj   r    rÔ  s     €r"   rp   z(dispatch_lambda_exprs.<locals>.<genexpr>Ü  s)   øè è € ÐTÐT¸!�qÐ5Ð5ÐTÐTÐTÐTÐTÐTr!   )r+  r,  z,: incomplete tensor options for output checkzcheck_out_type_matches(rH   rN   z,
                       z);
zE: expected "requires_grad" in tensor_options_args absent, but found [c              3  ó2   •K  — | ]}‰|j                  V — Œd S rj   r  )rn   ro   Úlambda_args_exprss     €r"   rp   z(dispatch_lambda_exprs.<locals>.<genexpr>ï  s+   øè è € ÐCÐC°!Ð% a¤fÔ-ÐCÐCÐCÐCÐCÐCr!   )rÛ   rÜ   )rÎ  rv  rä   rˆ   r&   rÔ   r„   rX   rY   rq   rf   râ   r   rÍ  r%   r'   r,   r}   rs   ÚTENSOR_OPTIONS_FIELDSr@   rE  r…   rØ   rÚ   r†   )rh  rÝ   r-   Úarg_parser_outputsÚlambda_argsrÜ   Úhas_toptionsro   r&   Úarg_parser_exprrÊ  Úout_argrÙ  rÕ  s               @@r"   Údispatch_lambda_exprsrà  x  sÖ  øø€ õ 1°°Q¸vÐFÑFÔFÐÝ& r¨1°VÐ<Ñ<Ô<€KØ€EØ(*Ðå% aÑ(Ô(€Lð �\Š\¨dˆ\Ñ3Ô3ð '6ñ '6ˆØŒvˆØ,¨Q¬VÔ4Ô9ˆàð #	6˜D FšN˜Nà�LŠLà5 ?Ð5Ð5Ð5ðñô ð ð
 '+Ð˜dÑ#Ð#å�qÕ+Ñ,Ô,ð	6å�A”I‘” Ò"Ð"Ø”× Ò Ñ"Ô"ð #ð �LŠLà4 /Ð4Ð4Ð4ðñô ð õ
 (¨¬	Ñ2Ô2ð >ð >‘
��7Ø2=¸°+°+°+Ð! '¤,Ñ/Ð/ð>å�”‰[Œ[˜LÒ(Ð(ð �LŠLà9˜dÐ9Ð9 Ð9Ð9Ð9ð N°Dð  Nð  N¸tð  Nð  NÐkoð  Nð  Nð  Nðñô ð ð '+Ð˜dÑ#Ñ#ð '6Ð˜dÑ#Ñ#ð 
„yð +Ø$*Ð˜&Ñ!ð !IÐ H°Ô1GÐ HÑ HÔ HÐØñ 1ØŒ6×ÒÑÔð 	LÝ !¤&ÐJÐJÐJÑKÔKÐKØÔ'ð 	ð 	ˆAØŒvÕ2Ð2Ð2Ý"Ø”vÐiÐiÀAÄFÐiÐiÐiñô ð õ �1”6‰{Œ{Õ3×7Ò7¸¼Ñ?Ô?Ò?Ð?Ý"Ø”vÐfÐfµC¸¼±K´KÐfÐfÐ]^Ô]cÐfÐfÐfñô ð ð @õ ÐQÐQÐQÐQÕ;PÐQÑQÔQÑQÔQð 	ÝØ”6ÐXÐXÐ=VÐXÐXñô ð ð 	�Šðà˜wÔ'Ô,ðð ð   Ô)Ô.ðð ð   Ô)Ô.ð	ð ð
 ' Ô7Ô<ðð ð ' |Ô4Ô9ðð ð ñ
	
ô 
	
ð 
	
ð (1Ð˜)Ñ$ð ð Ð5ð ØÐ/Ð/Ð/à”6×#Ò#Ñ%Ô%ð Ý"Ø”vÐeÐeÐRTÐeÐeÐWYÔWcÐeÐeñô ð õ ÐTÐTÐTÐTÐ?SÐTÑTÔTÑTÔTð Ý"Ø”vÐKÐKÐKñô ð ð �LŠLðØ*¨5Ô1Ô6ðð Ø:LÈWÔ:UÔ:Zðð à*¨7Ô3Ô@ðð àDVÐW_ÔD`ÔDeðð ð +¨8Ô4Ô9ðð ð >PÐPXÔ=YÔ=fðð ð ñô ð ð Ð";Ð;Ð;ÝØ”6Ð|Ð|Ð`yÐ|Ð|Ð|ñô ð õ 'ÝÐCÐCÐCÐC°{ÐCÑCÔCÑCÔCØðñ ô ð r!   )rÝ   r   r,   r.   r/   r   )rÝ   r   r/   r.   )rç   r   ræ   r.   r-   r.   r/   r%   )rç   r   r/   r  )ro   r   r/   r$   )rÝ   r   r,   r.   r	  r.   r/   ry   )
râ   r   r  r(   r,   r.   r	  r.   r/   ry   )r   r   r/   r@  )rç   r   r/   r%   )rÀ   ry   r/   rW  )rÀ   ry   r/   r%   )T)rh  ry   rÝ   r   r-   r.   r/   ri  )rÝ   r   r/   r%   )rÝ   r   r›  rœ  r/   r¶   )
rç   r   r)   r(   r*   r(   r-   r.   r/   r%   )rÂ  r[   ro   r$   r-   r.   r/   rÓ   )rh  ry   rÝ   r   r-   r.   r/   rÇ  )rh  ry   rÝ   r   r-   r.   r/   rÚ   );Ú
__future__r   Údataclassesr   Útypingr   Útorchgen.apir   Útorchgen.api.typesr   r   r	   Útorchgen.genr
   Útorchgen.modelr   r   r   r   r   r   r   r   r   r   Úcollections.abcr   r   r$   rY   ry   r´   r¿   rÃ   rÐ   rÓ   rÚ   rà   rä   r>   r  rÖ   rÀ   r  rF  rW   rU  re  r¢   rv  r�  r’  rš  r£  rÀ  rÆ  rÎ  rÚ  rà  r    r!   r"   ú<module>ré     sl  ðØ "Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ø(Ð(Ð(Ð(Ð(Ð(ðh €�$ÐÑÔð ð  ð  ð  ð  ñ  ô  ñ Ôð ð €�$ÐÑÔðY)ð Y)ð Y)ð Y)ð Y)ñ Y)ô Y)ñ ÔðY)ðx €�$ÐÑÔð!Cð !Cð !Cð !Cð !C˜ñ !Cô !Cñ Ôð!CðH €�$ÐÑÔðxUð xUð xUð xUð xUñ xUô xUñ ÔðxUðz €�$ÐÑÔð'ð 'ð 'ð 'ð ' ñ 'ô 'ñ Ôð'ðf €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�$ÐÑÔð'
ð '
ð '
ð '
ð '
ñ '
ô '
ñ Ôð'
ð^ €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�$ÐÑÔð*ð *ð *ð *ð *ñ *ô *ñ Ôð*ð0 €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð2 9>ð Nð Nð Nð Nð Nð Nð7ð 7ð 7ð 7ð %*¸$ð@7ð @7ð @7ð @7ð @7ð @7ðFð ð ð ðð ð ð ð  */¸Eðð ð ð ð ð ð ØðFð Fð Fð Fð Fð Fð`.ð .ð .ð .ð&Að Að Að AðH$ð $ð $ð $ð.,ð ,ð ,ð ,ð^
ð 
ð 
ð 
ðl <@ð)5ð )5ð )5ð )5ð )5ð^ð ð Ð ð:ð ð ð ð:Uð Uð Uð Uð" 04ðð ð ð ð ð ðR OSðYJð YJð YJð YJð YJð YJð~ :>ðð ð ð ð ð ð( ?Cðð ð ð ð ð ð ØØØØðð Ð ð ?Cðyð yð yð yð yð yð yð yr!   