Ë
    ÌÓ^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mZmZmZmZmZmZmZmZmZmZmZmZmZmZ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+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 erd dl2m3Z3 ddd	œ	 	 	 	 	 	 	 d$d
„Z4dddœ	 	 	 	 	 	 	 	 	 d%d„Z5dddœ	 	 	 	 	 	 	 	 	 	 	 d&d„Z6ddœd'd„Z7ddœd(d„Z8ddœd)d„Z9ddœd*d„Z:ddœd+d„Z;ddddddddœZ<d,d „Z=ddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d-d!„Z>ddœ	 	 	 	 	 	 	 	 	 	 	 d.d"„Z?y#)/é    )Ú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               óŽ   — t        | j                  j                  «      }|r|dz  }| j                  «       r|r|dz  }|S |dz  }|S )NÚ_symintÚ_outfÚ_out)ÚstrÚnameÚ	is_out_fn)Úfuncr0   r1   r7   s       ú[/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torchgen/api/cpp.pyr7   r7   K   sP   € ô ˆt�y‰y�~‰~Ó€DÙØ�	ÑˆØ‡~�~ÔÙ*Ø�G‰OˆDð €Kð �F‰NˆDà€Kó    T©ÚmutableÚsymintc               óê  — t        | t        «      r•| j                  t        j                  t        j
                  fv ry t        | «      dk(  r4|rt        |t        t        «      «      S t        |t        t        «      «      S t        |t        t        | j                     «      «      S t        | t        «      r;t        | j                  |||¬«      }|€y t        |t        |j                   «      «      S t        | t"        «      r]t        | j                  «      dk(  rD| j$                  €t'        d«      ‚t        |t)        t        t*        «      | j$                  «      «      S y t'        dt-        | «      › �«      ‚)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¸7È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               óÔ	  — 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(        «      r;t#        | j$                  j$                  «      dk(  rt        |t        t*        «      «      S t        | j$                  t(        «      rVt#        | j$                  j$                  «      dk(  r4|rt        |t        t,        «      «      S t        |t        t*        «      «      S t/        | j$                  |||¬«      }t        |t'        |j0                  «      «      S t        | t(        «      �rt#        | j$                  «      dk(  r=|r"t        |t3        t        t4        «      «      «      S t        |t        t6        «      «      S t#        | j$                  «      dk(  r||rF|r"t        |t3        t        t8        «      «      «      S t        |t3        t        t4        «      «      «      S |rt        |t        t:        «      «      S t        |t        t6        «      «      S t#        | j$                  «      dk(  rOt        j<                  «       r"t        |t        t        t>        «      «      «      S t        |t        t@        «      «      S t#        | j$                  «      dk(  r"t        |tC        t        t        «      «      «      S t#        | j$                  «      dk(  r4t        |t        tE        t'        t        t        «      «      «      «      «      S t/        | j$                  |||¬«      }t        |tC        |j0                  «      «      S t        d	tG        | «      › �«      ‚)
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Ü! %¬´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Ü˜Ÿ™¤Ô)¬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Ü! %¬´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               óH   — t        | j                  | j                  ||¬«      S )N)r=   r>   rB   )rT   rJ   Úis_write)ÚarB   r>   s      r:   Úargument_typer[   Ú   s   € Ü˜QŸV™V¨Q¯Z©ZÀÈeÔTÐTr;   c               óú  — t        | d|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        «      rI|rt!        d«      ‚t#        | j$                  d¬«      }| j&                  �t!        d| › �«      ‚t)        |«      S t        | t*        «      r:t#        | j$                  |¬«      }t-        | j$                  «      dk(  rt/        |«      S t!        d	| › �«      ‚)
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^   ã   s5  € ô 	�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               óF   — t        | j                  | j                  |¬«      S )Nr<   )r^   rJ   rY   )rV   r>   s     r:   Úreturn_typer`     s   € Ü˜1Ÿ6™6¨1¯:©:¸fÔEÐEr;   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   é   rW   )Úlenr
   r"   r`   r    )Úrsr>   rV   s      r:   Úreturns_typere     sT   € Ü
ˆ2ƒw�!‚|ÜœÓÐÜ	ˆR‹�AŠÜ˜2˜a™5¨Ô0Ð0äÀ"ÖE¸Qœ; q°Ö8ÒEÓFÐFùÒEs   ÁA Úresult)Úfallback_namec               óÀ  ‡— g }t        | j                  j                  «      D �]7  \  }Š| j                  j                  j                  j                  r|dk7  rt        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                  |«       �Œ: |S )Nr   z.illegal inplace function with multiple returnsÚselfc              3  óP   •K  — | ]  }‰j                   |j                   k(  –— Œ y ­w)N)r7   )Ú.0rZ   rV   s     €r:   ú	<genexpr>zreturn_names.<locals>.<genexpr>,  s#   øè ø€ ò  Ø%&�—‘˜!Ÿ&™&Õ ñ ùs   ƒ#&Ú_returnrb   )Ú	enumerater9   Úreturnsr7   ÚinplacerL   r8   Ú	argumentsÚoutÚanyÚschema_order_argumentsrc   Úappend)Úfrg   ro   Úir7   Úname_conflictrV   s         @r:   Úreturn_namesry     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ØŸ&™&˜ Ð)‘à—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               ó:  — | 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        «      rx| j                  d«      r| j                  d«      rd| d	d z   dz   S |r.| j                  «       rt        |j                  «      dk(  rd| › d�S |j                  €t        d| › d�«      ‚t        j!                  | | «      S )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>   Úsrw   s        r:   r‘   r‘   H  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¨fÔ5Ð5ä�!”XÔØ�<‰<˜Ô §¡¨C¤Ø˜˜1˜R˜‘= 3Ñ&Ð&Ù˜Ÿ	™	œ¬¨A¯F©F«°xÒ(?Ø! !  AÐ&Ð&Ø�V‰Vˆ^äÐKÈAÈ3ÈaÐPÓQÐQä×!Ñ! ! QÓ'Ð'r;   c               óv  ‡‡‡‡‡— 	 	 	 	 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Ã‰rK || j                  «       || j                  «      z    || j                  «      z    || j                  «      z   S d }d‰v rt        d«      ‚t!        d„ | j!                  «       D «       «      rd	}n| j                  j
                  d
k(  rd}t        t#        dt%        t&        «      «      d|| ¬«      gS t        | t(        «      r‰rg S  || j*                  «      S t-        | «       y )Nc                ó&   •— t        | ‰‰‰‰‰¬«      S )N)Úcpp_no_default_argsÚmethodÚfaithfulr>   Úhas_tensor_options)Úargument)rZ   rœ   rž   rŸ   r�   r>   s    €€€€€r:   Úsub_argumentz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  ó:   K  — | ]  }|j                   d k(  –— Œ y­w)r�   N)r¤   )rk   Úxs     r:   rl   zargument.<locals>.<genexpr>¨  s   è ø€ Ò8¨1�1—9‘9 Õ&Ñ8ù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    u  sœ  ü€ ð

Ø;ð

à	÷

ñ 

ô �!”XÔà�6‰6�_Ò$Ñ);Ü"×CÑC‰Eà—F‘FˆEØ"ˆØ�6‰6Ð,Ñ,°·±Ð1FÜ" 1§9¡9¨a¯f©f¸VÔDˆGäÜ$ Q¨e¸FÔCØ—V‘VØØô	ð
ð 	
ô 
�AÔ-Ô	.Ùá˜QŸW™WÓ%Ù˜qŸx™xÓ(ñ)á˜qŸx™xÓ(ñ)ñ ˜qŸ|™|Ó,ñ-ðð ˆGàÐ/Ñ/Ü$Ð%UÓVÐVÜÑ8°·±³Ô8Ô8Ø‘Ø—‘—‘ FÒ*Ø%�äÜ% i´¼>Ó1JÓKØ"Ø#Øô	ðð ô 
�A”|Ô	$ÙàˆIá §
¡
Ó+Ð+ä�Q�r;   c               ó|  — g }|r7|j                  | j                  «       |j                  | j                  «       n6|j                  | j                  «       |j                  | j                  «       |D ��cg c]8  }t        ||||| j                  d u|¬«      D ]  }|r|j                  «       n|‘Œ Œ: c}}S c c}}w )N)rž   r>   r�   rŸ   rœ   )ÚextendÚnon_outrr   r    Útensor_optionsÚ
no_default)rq   rž   r>   r�   rœ   ÚargsrZ   rV   s           r:   rq   rq   ¾  s¸   € ð DF€DÙØ�‰�I×%Ñ%Ô&Ø�‰�I—M‘MÕ"à�‰�I—M‘MÔ"Ø�‰�I×%Ñ%Ô&ð ÷àÜØØØØØ(×7Ñ7¸tÐCØ 3ô
òð ñ #ˆ�‰Œ¨Ñ)ðØ)óð ùó s   Á7=B8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   )rv   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ª   )rq   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   ry   r–   r‘   r    rq   © r;   r:   ú<module>rÀ      s  ðÝ "å  Ý *å ÷÷ ÷ ÷ ÷ ÷ ÷ ó ÷<÷ ÷ ó ñ  Ý(ð0 -2Ø!ñ	Ø
ðð &*ðð ð	ð
 	óð2 Øñ=Øð=ð ð=ð ð	=ð
 ð=ð ó=ðT ).ØñQ=ØðQ=ð ðQ=ð ð	Q=ð
 "&ðQ=ð ðQ=ð óQ=ðj BGõ Uð ?Dõ &:ðT .3õ Fð
 :?õ Gð =Eõ ðD ØØØ!Ø
Ø8ØñÐ ó'(ðf ñFØ7ðFð "ðFð ð	Fð
 ðFð ðFð ðFð óFðZ ñ	Øðð ðð ð	ð
 ðð "ðð ôr;   