Ë
    P/æjZ  ã                   ób  — d Z ddlZddlZddlmZmZmZmZmZ ddl	m
c mZ ddlm
c mZ ddlm
c mZ ddlmZ ddlmZ ddlmZmZ d/d„Zd0d„Zd1d	„Z	 	 	 d2ddœdededededef
d„Zd3dedededefd„Z	 d3dedededefd„Zddœdedefd„Z dddœdededededef
d„Z!	 d4ddddœdedee"ee"   f   dee"   fd„Z#	 	 d3d
d œdedededefd!„Z$d4d"„Z%d#d$œded%edefd&„Z&d5d'ejN                  d(efd)„Z	 d5d'ejN                  d(efd*„Z(d+„ Z) eeej8                  d,«        eeej<                  «        eeej>                  «        ee «        ee!«        ee#«        ee$«        ee%«        ee&«        eeej                   d-«        ee(ej                   d-«        ee)ejR                  d.«       y)6a$  
The APIs in this file are exposed as `functorch.*`. They are thin wrappers
around the torch.func.* APIs that have deprecation warnings -- we're trying
to move people to the torch.func.* equivalents.

NB: We don't use *args, **kwargs in the signatures because that changes the
documentation.
é    N)ÚAnyÚCallableÚOptionalÚTupleÚUnion)Ú	argnums_t)Ú	in_dims_tÚ
out_dims_tFc                 óN   — |€d| › �}d| › d|› d�}|r|j                  dd«      }|S )Nztorch.func.z[We've integrated functorch into PyTorch. As the final step of the 
integration, `functorch.zk` is deprecated as of PyTorch 
2.0 and will be deleted in a future version of PyTorch >= 2.3. 
Please use `z™` instead; see the PyTorch 2.0 release notes 
and/or the `torch.func` migration guide for more details 
https://pytorch.org/docs/main/func.migrating.htmlú
Ú )Úreplace)ÚapiÚnew_apiÚreplace_newlinesÚwarnings       ú^/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_functorch/deprecated.pyÚget_warningr      sP   € Ø€Ø ˜uÐ%ˆð#Ø#& %ð (à�ið  <ð	=ð ñ Ø—/‘/ $¨Ó+ˆØ€Nó    c                 óX   — t        | |d¬«      }t        j                  |t        d¬«       y )NT)r   é   )Ú
stacklevel)r   ÚwarningsÚwarnÚFutureWarning)r   r   r   s      r   Úwarn_deprecatedr   '   s    € Ü˜#˜w¸Ô>€GÜ‡M�M�'œ=°QÖ7r   c                 óø   — | j                   }|€t        t        |«      }|j                  €y t	        ||«      }dt        j                  |d«      z   }t        j                  |d«      }|j                  |z   | _        y )Nz
.. warning::

z    )Ú__name__ÚgetattrÚ_implÚ__doc__r   ÚtextwrapÚindent)Úfunctorch_apiÚtorch_func_apiÚnew_api_nameÚapi_namer   Úwarning_notes         r   Ú
setup_docsr)   ,   sr   € Ø×%Ñ%€HØÐÜ ¤¨Ó1ˆà×ÑÐ%Øä˜( LÓ1€GØ'¬(¯/©/¸'À6Ó*JÑJ€LÜ—?‘? <°Ó8€LØ*×2Ñ2°\ÑA€MÕr   Úerror©Ú
chunk_sizeÚfuncÚin_dimsÚout_dimsÚ
randomnessÚreturnc                óN   — t        dd«       t        j                  | ||||¬«      S )NÚvmapú
torch.vmapr+   )r   Úapisr3   )r-   r.   r/   r0   r,   s        r   r3   r3   :   s%   € ô �F˜LÔ)Ü�9‰9�T˜7 H¨jÀZÔPÐPr   ÚargnumsÚhas_auxc                 óF   — t        d«       t        j                  | ||«      S )NÚgrad)r   r5   r9   ©r-   r6   r7   s      r   r9   r9   F   s   € Ü�FÔÜ�9‰9�T˜7 GÓ,Ð,r   c                 óF   — t        d«       t        j                  | ||«      S )NÚgrad_and_value)r   r5   r<   r:   s      r   r<   r<   K   s"   € ô Ð$Ô%Ü×Ñ˜t W¨gÓ6Ð6r   )r7   c                óJ   — t        d«       t        j                  | g|¢­d|iŽS )NÚvjpr7   )r   r    r>   )r-   r7   Úprimalss      r   r>   r>   R   s#   € Ü�EÔÜ�9‰9�TÐ5˜GÒ5¨WÑ5Ð5r   ©Ústrictr7   r?   ÚtangentsrA   c                óL   — t        d«       t        j                  | ||||¬«      S )NÚjvpr@   )r   r    rD   )r-   r?   rB   rA   r7   s        r   rD   rD   W   s#   € ô �EÔÜ�9‰9�T˜7 H°VÀWÔMÐMr   ©r7   r,   Ú_preallocate_and_copyr,   c                óL   — t        d«       t        j                  | ||||¬«      S )NÚjacrevrE   )r   r    rH   )r-   r6   r7   r,   rF   s        r   rH   rH   c   s,   € ô �HÔÜ�<‰<ØØØØØ3ôð r   ©r0   c                óJ   — t        d«       t        j                  | |||¬«      S )NÚjacfwdrI   )r   r    rK   )r-   r6   r7   r0   s       r   rK   rK   u   s!   € ô �HÔÜ�<‰<˜˜g w¸:ÔFÐFr   c                 óF   — t        d«       t        j                  | |¬«      S )NÚhessian)r6   )r   r    rM   )r-   r6   s     r   rM   rM   €   s   € Ü�IÔÜ�=‰=˜ wÔ/Ð/r   Ú	mutations©ÚremoverP   c                óF   — t        d«       t        j                  | |¬«      S )NÚfunctionalizerO   )r   r    rR   )r-   rP   s     r   rR   rR   …   s   € Ü�OÔ$Ü×Ñ˜t¨FÔ3Ð3r   ÚmodelÚdisable_autograd_trackingc                 óF   — t        dd«       t        j                  | |«      S )NÚmake_functionalútorch.func.functional_call)r   Ú_nn_implrV   ©rS   rT   s     r   rV   rV   Š   s"   € ÜÐ%Ð'CÔDÜ×#Ñ# EÐ+DÓEÐEr   c                 óF   — t        dd«       t        j                  | |«      S )NÚmake_functional_with_buffersrW   )r   rX   r[   rY   s     r   r[   r[   �   s$   € ô Ð2Ð4PÔQÜ×0Ñ0°Ð8QÓRÐRr   c                 óD   — t        dd«       t        j                  | «      S )NÚcombine_state_for_ensembleútorch.func.stack_module_state)r   rX   r]   )Úmodelss    r   r]   r]   –   s   € ÜÐ0Ð2QÔRÜ×.Ñ.¨vÓ6Ð6r   r4   rW   r^   )NF)N)NN)r   r   r*   )r   F)r   )F)*r!   r"   r   Útypingr   r   r   r   r   Útorch._functorch.apisÚ
_functorchr5   Ú!torch._functorch.eager_transformsÚeager_transformsr    Ú torch._functorch.make_functionalrV   rX   Útorch.nnÚnnr   Útorch._functorch.vmapr	   r
   r   r   r)   Ústrr3   Úboolr9   r<   r>   rD   ÚintrH   rK   rM   rR   ÚModuler[   r]   © r   r   ú<module>rn      sÁ  ðñó Û ß 8Õ 8ç $Ð $ß 1Ð 1ß 3Ð 3Ý Ý 7ß 7óó 8ó
Bð  ØØð		Qð ò	QØ
ð	Qàð	Qð ð	Qð ð		Qð ó	Qñ-ˆxð - )ð -¸$ð -È8ó -ð =Bñ7Ø
ð7Ø&ð7Ø59ð7àó7ð 38ò 6ˆhð 6¨4ó 6ð Øò	NØ
ð	Nàð	Nð ð	Nð
 ð	Nð ó	Nð '(ðð Ø $ØòØ
ðà�3˜˜c™
�?Ñ#ðð
 ˜‘óð( ØðGð
 òGØ
ðGàðGð ðGð
 óGó0ð
 4?ò 4˜ð 4¨Sð 4À8ó 4ñ
F˜2Ÿ9™9ð FÀó Fð 9>ñSØ�9‰9ðSØ15óSò7ñ
 ˆ4�—‘˜LÔ )Ù 
ˆ4�—‘Ô Ù 
ˆ>˜4×.Ñ.Ô /Ù 
ˆ3„Ù 
ˆ3„Ù 
ˆ6Ô Ù 
ˆ6Ô Ù 
ˆ7Ô Ù 
ˆ=Ô Ù 
ˆ?˜H×4Ñ4Ð6RÔ SÙ 
Ø  (×":Ñ":Ð<Xôñ ØØ×'Ñ'Ø#õr   