ó
    Eñi-M  ã            	       ó,  • % S SK r S SKJr  S SKJrJr  S SKJrJrJ	r	  S SK
Jr  S SKJrJrJrJr  S SKJr  \(       a  S SKJr  S SKrS SKrS S	KJrJrJrJr  S S
KJr  S SKJr  S SK J!r"  / SQr#\" S5      r$\" S5      r%\" \&5      r'\&\(\&\RR                  R2                  \4   4   \*S'   \'S   r+\'S   r,\'S   r-S\RR                  R2                  S\.4S jr/S r0S r1 S#SSS.S\\\%\$4   /\\%\$4   4   4S jjjr2 S$S\\\RR                  R2                  \4      S\(S\&\RR                  R2                  \4   4S jjr3S\&\RR                  R2                  \4   S\\\\4      SS4S  jr4S SK5rS SK6rS%S! jr7S\&\RR                  R2                  \4   4S" jr8g)&é    N)Údefaultdict)ÚCallableÚSequence)Ú	lru_cacheÚpartialÚwraps)Úchain)ÚOptionalÚTYPE_CHECKINGÚTypeVarÚUnion)Ú	ParamSpec)ÚCustomDecompTable)ÚHigherOrderOperatorÚOperatorBaseÚ
OpOverloadÚOpOverloadPacket)ÚCustomOutParamAnnotation)ÚFunctionalTensor)Ú_pytree)Údecomposition_tableÚ pre_autograd_decomposition_tableÚ
meta_tableÚregister_decompositionÚget_decompositionsÚcore_aten_decompositionsÚ#_should_decompose_because_unsafe_opÚ_TÚ_PÚglobal_decomposition_tableÚpost_autogradÚpre_autogradÚmetaÚopÚreturnc                 ó  • [        U [        R                  R                  5      (       d  g[        R                  R
                  U R                  ;   a  gU [        R                  R                  R                  R                  L $ )aÐ  
Returns True if the op must always decompose in export/compile tracing system

In export, we always decompose certain CIA ops that are tagged with
maybe_aliasing_or_mutating because we statically need to know if the op is
mutating or not. But these CIA ops could have different behaviour in runtime.

native_batch_norm is a prim op which has a wrong schema and it needs to be replaced
with correct schema. But until then, we will force decompose it via this tag.
FT)Ú
isinstanceÚtorchÚ_opsr   ÚTagÚmaybe_aliasing_or_mutatingÚtagsÚopsÚatenÚnative_batch_normÚdefault)r$   s    ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_decomp/__init__.pyr   r   .   sV   € ô �bœ%Ÿ*™*×/Ñ/×0Ñ0ØÜ‡y�y×+Ñ+¨r¯w©wÓ6ØØ”—‘—‘×1Ñ1×9Ñ9Ð9Ð9ó    c                 óì  • / n[        U[        5      (       a  X U'   g[        U[        5      (       a  UR                  U5        O][        U[        5      (       d  [        S[        U5       35      eUR                  5        H  nUR                  [        X5      5        M     U HN  nXP;   a  [        SU 35      e[        R                  R                  UR                  5       5      (       d  MJ  X U'   MP     g)zê
This is an internal API for adding an op to the decomposition table.

If op is OpOverload, it will be added to the registry directly.
If op is OpOverloadPacket, all the valid op_overloads in the packet will be added to the registry.
Nzexpected OpOverloadPacket, got zduplicate registrations for )r'   r   r   Úappendr   ÚAssertionErrorÚtypeÚ	overloadsÚgetattrÚRuntimeErrorr(   Ú_CÚ_dispatch_has_kernelÚname)Úregistryr$   Úfnr7   ÚolÚop_overloads         r1   Ú_add_op_to_registryrA   @   sÐ   € ð 79€IÜ�"Ô)×*Ñ*à�‰ØÜ	�Bœ
×	#Ñ	#Ø×Ñ˜Õä˜"Ô.×/Ñ/Ü Ð#BÄ4ÈÃ8À*Ð!MÓNÐNØ—,‘,–.ˆBØ×ÑœW R›_Ö-ñ !ó !ˆØÓ"ÜÐ!=¸k¸]ÐKÓLÐLô �8‰8×(Ñ(¨×)9Ñ)9Ó);×<Ó<Ø$&�[Ó!ò !r2   c                 óÌ  ^ ^^• T R                   R                  S5      nU(       d  T $ [        USS 5      [        L Gab  [        R
                  " T 5      nUR                  R                  m[        T 5      U U4S j5       n[        TUR                  5       VVs/ s H4  u  pE[        R                  " U[        R                  R                  S US9PM6     nnn[        S UR                  R                  5        5       U5      n[        R                   " UUR                  S9Ul        T R                   R                  5        VV	s0 s H  u  p‰US:w  d  M  X‰_M     sn	nUl         U H&  nUR$                  UR                   UR&                  '   M(     T R(                  Ul        U$ T R                   R+                  [,        S 5      mT(       Ga  [        T 5      UU 4S j5       n[        R                  " T[        R                  R                  S US9n
[        R
                  " T 5      n[        S UR                  R                  5        5       U
45      n[        R                   " UUR                  S9Ul        T R                   R                  5        VV	s0 s H  u  p‰US:w  d  M  X‰_M     sn	nUl         U
R$                  UR                   U
R&                  '   U$ T $ s  snnf s  sn	nf s  sn	nf )	NÚoutÚ
__origin__c                  óÀ   >^^• [        U4S jT 5       5      nUS   S L m[        U4S jU 5       5      (       d  [        SU 35      eT" U 0 TDST(       a  S 0D6$ U0D6$ )Nc              3   óH   >#   • U  H  nTR                  US 5      v •  M     g 7f©N©Úpop)Ú.0ÚoÚkwargss     €r1   Ú	<genexpr>Ú3_convert_out_params.<locals>._fn.<locals>.<genexpr>n   s   øé € ÐFºI°q˜vŸz™z¨!¨T×2Ð2ºIùs   ƒ"r   c              3   ó0   >#   • U  H  oS L T:H  v •  M     g 7frG   © )rJ   rK   Úis_nones     €r1   rM   rN   q   s   øé € ÐB²z°!˜T˜	 gÖ-²zùs   ƒz0all out kwargs must be set or none of them, got rC   )ÚtupleÚallr5   )ÚargsrL   Ú
out_kwargsrQ   ÚfÚ	out_namess    ` @€€r1   Ú_fnÚ _convert_out_params.<locals>._fnl   sj   ú€ äÔF¹IÓFÓFˆJà  ‘m tÐ+ˆGÜÔB±zÓB×BÑBÜ$ØFÀzÀlÐSóð ñ �dÐJ˜fÑJ¶'¨$ÒJÐJ¸zÒJÐJr2   )Úkindr0   Ú
annotationc              3   ó:   #   • U  H  u  pUS :w  d  M  Uv •  M     g7f©rC   NrP   ©rJ   ÚkÚvs      r1   rM   Ú&_convert_out_params.<locals>.<genexpr>�   s   é € ÐKÒ&<™d˜aÀÀUÁ
Ÿ™Ò&<ùó   ‚’	)Ú
parametersÚreturn_annotationc                  ó@   >• UR                  TS 5      nT" U 0 UDSU0D6$ )NrC   rH   )rT   rL   Ú	out_kwargÚcustom_out_param_namerV   s      €€r1   rX   rY   –   s)   ø€ àŸ
™
Ð#8¸$Ó?ˆIÙ�dÐ4˜fÑ4¨)Ò4Ð4r2   c              3   ó:   #   • U  H  u  pUS :w  d  M  Uv •  M     g7fr]   rP   r^   s      r1   rM   ra   ¥   s   é € Ð@Ò1‘4�1°Q¸%±Z�Q‰QÒ1ùrb   )Ú__annotations__Úgetr8   rR   ÚinspectÚ	signaturerd   Ú_fieldsr   ÚzipÚ__args__Ú	ParameterÚKEYWORD_ONLYr	   rc   ÚitemsÚ	SignatureÚ__signature__r[   r<   Ú!_torch_decompositions_out_wrapperrI   r   )rV   Úout_annotationÚsigrX   rK   ÚtÚ
out_paramsÚparamsr_   r`   Ú	out_paramrg   rW   s   `          @@r1   Ú_convert_out_paramsr|   ^   sœ  ú€ Ø×&Ñ&×*Ñ*¨5Ó1€Nö Øˆô ˆ~˜|¨TÓ2´eÓ;Ü×Ò Ó"ˆØ×)Ñ)×1Ñ1ˆ	ô 
ˆq‹õ	Kó 
ð	Kô" ˜I ~×'>Ñ'>Ô?ô
ò @‘�ô ×ÒØÜ×&Ñ&×3Ñ3ØØô	ñ @ð 	ñ 
ô ÑK c§n¡n×&:Ñ&:Ô&<ÓKÈZÓXˆÜ#×-Ò-ØØ!×3Ñ3ñ
ˆÔð
 12×0AÑ0A×0GÑ0GÔ0IÔXÒ0I©¨ÈQÐRWÉZ›t˜qštÑ0IÒXˆÔÛˆAØ*+¯,©,ˆC×Ñ §¡Ó'ñ ð 12×0SÑ0SˆÔ-àˆ
ð
 ×-Ñ-×1Ñ1Ô2JÈDÓQÐßä	ˆq‹õ	5ó 
ð	5ô ×%Ò%Ø!Ü×"Ñ"×/Ñ/ØØ%ñ	
ˆ	ô ×Ò Ó"ˆÜÙ@˜3Ÿ>™>×/Ñ/Ô1Ó@À9À,ó
ˆô $×-Ò-ØØ!×3Ñ3ñ
ˆÔð 12×0AÑ0A×0GÑ0GÔ0IÔXÒ0I©¨ÈQÐRWÉZ›t˜qštÑ0IÒXˆÔØ.7×.BÑ.Bˆ×Ñ˜IŸN™NÑ+àˆ
à€Hùów
ùó  YùóL Ys   Â;KÅKÅKÊK ÊK F)r6   Úunsafec                ó˜   ^ ^^^• TS;  a  [        ST 35      eS[        [        [        4   S[        [        [        4   4U UUU4S jjnU$ )a:  
A decorator to register a function as a decomposition to the Python
decomposition table.  Use it like this::

    @register_decomposition(torch.ops.aten.clamp_min)
    def clamp_min(x):
        return torch.clamp(self, min=min)

If you are writing a new decomposition, consider contributing it
directly to PyTorch in torch._decomp.decompositions.

This API is experimental; we are almost certainly going to extend
the API when we make decompositions eligible for use in transforms (e.g.,
autograd) and not just backend tracing, where we then need to know if a
decomposition can be used to simulate a transform.

By default, we also will register it to the Meta key of dispatcher,
and replace the c++ Meta implementation if there is already one.

unsafe kwarg is for reuse of this function for registering non-function
things
>   r#   r"   r!   ú>type must be one of post_autograd, pre_autograd, or meta, got r>   r%   c                 ó†   >^ • T nT(       d  [        T 5      m Tc	  [        T   mU U4S jn[        R                  " UT5        U$ )Nc                 ó    >• [        TU T5        g rG   )rA   )r$   r>   r=   s    €€r1   ÚregisterÚIregister_decomposition.<locals>.decomposition_decorator.<locals>.registerÝ   s   ø€ Ü ¨"¨bÕ1r2   )r|   r    ÚpytreeÚ	tree_map_)r>   Úorig_fnr‚   Úaten_opr=   r6   r}   s   `  €€€€r1   Údecomposition_decoratorÚ7register_decomposition.<locals>.decomposition_decoratorÔ   sC   ù€ ØˆÞÜ$ RÓ(ˆBð ÑÜ1°$Ñ7ˆHö	2ô 	×Ò˜ 7Ô+Øˆr2   )r5   r   r   r   )r‡   r=   r6   r}   rˆ   s   ```` r1   r   r   µ   sW   û€ ð4 Ð<Ó<ÜØLÈTÈFÐSó
ð 	
ð¤H¬R´¨VÑ$4ð ¼Ä"ÄbÀ&Ñ9I÷ ò ð  #Ð"r2   Úaten_opsr6   c                 óÄ  • US;  a  [        SU 35      e[        U   n[        [        5      nU H=  n[	        U[
        [        45      (       d  M   X4R                     R                  U5        M?     0 nU  Hh  n[	        U[        5      (       a  Xc;   a  X6    H	  nX'   XW'   M     M0  [	        U[        R                  R                  5      (       d  M[  Xb;   d  Mb  X&   XV'   Mj     U$ )a  
Retrieve a dictionary of decompositions corresponding to the list of
operator overloads and overload packets passed as input.  Overload
packets will include all decomposed overloads in the packet.  If there is
no decomposition for a requested operator, it is silently ignored.

This API is experimental; we are almost certainly going to give an alternate,
more recommended formulation, where a user provides the set of operators
they know how to implement, and we provide decompositions for everything
not in this set.
>   r#   r"   r!   r   )r5   r    r   Úlistr'   r   r   Úoverloadpacketr4   r(   r)   r   )rŠ   r6   r=   Úpackets_to_overloadsÚopoÚdecompositionsr$   r@   s           r1   r   r   ç   sÙ   € ð Ð<Ó<ÜØLÈTÈFÐSó
ð 	
ô *¨$Ñ/€HÜ&¤tÓ,ÐãˆÜ�cœJÔ(8Ð9×:Ó:Ø ×!3Ñ!3Ñ4×;Ñ;¸CÖ@ñ ð ?A€NÛˆÜ�bÔ*×+Ñ+°Ó0JØ3Ô7�Ø.6Ñ.C�Ó+ó  8ä˜œUŸZ™Z×4Ñ4×6Ó6¸2½>Ø!)¡ˆNÓñ ð Ðr2   r�   c                 óþ   • U Hw  n[        U[        5      (       a6  UR                  5        H   n[        X#5      nU R	                  US5        M"     MN  [        U[
        5      (       d  Me  U R	                  US5        My     g)a)  
Given a dictionary of decompositions obtained from get_decompositions(), removes
operators associated with a list of operator overloads and overload packets passed
as input. If the decomposition dictionary does not contain a decomposition that is
specified to be removed, it is silently ignored.
N)r'   r   r7   r8   rI   r   )r�   rŠ   r$   Úoverload_namer�   s        r1   Úremove_decompositionsr“     se   € ó ˆÜ�bÔ*×+Ñ+Ø!#§¡¦�Ü˜bÓ0�Ø×"Ñ" 3¨Ö-ó "0ô ˜œJ×'Ó'Ø×Ñ˜r 4Ö(ò r2   c                  ó   • SSK Jn   U " 5       $ )Nr   ©Údefault_decompositions)Útorch.export.exported_programr–   r•   s    r1   r   r   #  s   € ÝDá!Ó#Ð#r2   c                  ó*  • [         R                  R                  n [        / U R                  PU R
                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  PU R                  R                  PU R                  R                  PU R                   PU R"                  PU R$                  PU R&                  PU R(                  PU R*                  PU R,                  R.                  PU R,                  R                  PU R0                  PU R2                  PU R4                  PU R6                  PU R8                  PU R:                  PU R<                  PU R>                  PU R@                  PU RB                  PU RD                  PU RF                  PU RH                  PU RJ                  PU RL                  PU RN                  PU RP                  PU RR                  PU RT                  PU RV                  PU RX                  PU RZ                  PU R\                  PU R^                  PU R`                  R                  PU Rb                  PU Rd                  PU Rf                  PU Rh                  PU Rj                  PU Rl                  PU Rn                  PU Rp                  PU Rr                  PU Rt                  PU Rv                  PU Rx                  PU Rz                  PU R|                  PU R~                  PU R€                  PU R‚                  PU R„                  PU R†                  PU Rˆ                  PU RŠ                  PU RŒ                  PU RŽ                  PU R�                  PU R’                  PU R”                  PU R–                  PU R˜                  Rš                  PU R˜                  R                  PU Rœ                  PU Rž                  Rš                  PU Rž                  R                  PU R                   PU R¢                  R¤                  PU R¢                  R¦                  PU R¢                  R¨                  PU R¢                  Rª                  PU R¬                  PU R®                  PU R°                  PU R²                  PU R´                  PU R¶                  PU R¸                  PU Rº                  PU R¼                  PU R¾                  PU RÀ                  PU RÂ                  PU RÄ                  PU RÆ                  PU RÈ                  PU RÊ                  PU RÌ                  PU RÎ                  PU RÐ                  PU RÒ                  PU RÔ                  PU RÖ                  R                  PU RØ                  PU RÚ                  PU RÜ                  PU RÞ                  PU Rà                  PU Râ                  PU Rä                  PU Ræ                  PU Rè                  PU Rê                  PU Rì                  PU Rî                  PU Rð                  PU Rò                  PU Rô                  PU Rö                  PU Rø                  PU Rú                  PU Rü                  PU Rþ                  PU GR                   PU GR                  PU GR                  PU GR                  PU GR                  PU GR
                  PU GR                  PU GR                  PU GR                  PU GR                  PU GR                  PU GR                  PU GR                  GR                  PU GR                  GR                  PU GR                  GR                  PU GR                  GR                   PU GR                  GR"                  PU GR                  Rš                  PU GR                  GR$                  PU GR                  GR&                  PU GR                  GR(                  PU GR                  GR*                  PU GR,                  PU GR.                  PU GR0                  PU GR2                  PU GR4                  PU GR6                  PU GR8                  PU GR:                  PU GR<                  PU GR>                  PU GR@                  PU GRB                  PU GRD                  PU GRF                  PU GRH                  PU GRJ                  PU GRL                  PU GRN                  PU GRP                  PU GRR                  PU GRL                  PU GRT                  PU GRV                  PU GRX                  PU GRZ                  PU GR\                  PU GR^                  PU GR`                  PU GRb                  R                  PU GRd                  PU GRf                  PU GRh                  PU GRj                  PU GRl                  PU GRn                  PU GRp                  PU GRr                  GRt                  PU GRr                  PU GRv                  PU GRx                  PU GRz                  PU GR|                  PU GR~                  PU GR€                  PU GR‚                  PU GR„                  PU GR†                  PU GRˆ                  PU GRŠ                  PU GRŒ                  PU GRŽ                  PU GR�                  PU GR’                  GR”                  PU GR–                  PU GR˜                  PU GRš                  R                  PU GRš                  GRœ                  PU GRž                  GR                   PU GRž                  Rš                  PU GRž                  GR¢                  PU GRž                  GR&                  PU GRž                  GR¤                  PU GR¦                  GR                   PU GR¦                  GR¢                  PU GR¨                  PU GRª                  R                  PU GRª                  Rš                  PU GR¬                  PU GR®                  PU GR°                  PU GR²                  PU GR´                  PU GR¶                  PU GR¸                  PU GRº                  PU GR¼                  GR¾                  PU GRÀ                  PU GRÂ                  PU GRÄ                  PU GRÆ                  PU GRÈ                  PU GRÊ                  PU GRÌ                  PU GRÎ                  PU GRÐ                  PU GRÒ                  PU GRÔ                  PU GRÖ                  PU GRØ                  GR”                  PU GRÚ                  PU GRÜ                  PU GRÞ                  PU GRà                  PU GRâ                  Rš                  PU GRä                  Rš                  PU GRæ                  PU GRè                  PU GRê                  PU GRì                  PU GRî                  PU GRð                  PU GRò                  PU GRô                  PU GRö                  PU GRø                  P5      $ rG   )ýr(   r-   r.   r   ÚaddcdivÚaddcdiv_ÚaddcmulÚaddcmul_ÚaddrÚaffine_grid_generatorÚ
alias_copyrS   ÚaminmaxÚaranger0   ÚstartÚavg_pool2d_backwardÚbaddbmmÚbinary_cross_entropyÚbinary_cross_entropy_backwardÚ binary_cross_entropy_with_logitsÚ
block_diagÚ	bernoulliÚpÚceluÚcelu_Úchannel_shuffleÚ	clamp_maxÚ	clamp_minÚcol2imÚcount_nonzeroÚlinalg_crossÚcudnn_batch_normÚcudnn_batch_norm_backwardÚmiopen_batch_norm_backwardÚdeg2radÚdeg2rad_ÚdetachÚ
diag_embedÚdiagonal_backwardÚdiagonal_copyÚdotÚvdotÚelu_Úelu_backwardÚ_embedding_bagÚembedding_dense_backwardÚ
empty_likeÚ_euclidean_distÚ	expand_asÚexpand_copyÚeyeÚfillÚfill_Úfloor_divideÚfracÚfrac_Ú_fused_moving_avg_obs_fq_helperÚgelu_Úgelu_backwardÚgluÚglu_backwardÚ
hardshrinkÚhardsigmoidÚhardsigmoid_Úhardsigmoid_backwardÚ	hardswishÚ
hardswish_Úhardswish_backwardÚ	hardtanh_Úhardtanh_backwardÚ	heavisideÚ
heaviside_Ú
huber_lossÚhuber_loss_backwardÚim2colÚ	index_addrC   Ú
index_add_Ú
index_copyÚindex_copy_Ú
index_fillÚ
int_ScalarÚ
int_TensorÚint_Scalar_outÚint_Tensor_outÚindex_fill_ÚisinÚisneginfÚisposinfÚl1_lossÚ_lazy_cloneÚ_test_parallel_materializeÚleaky_relu_Úleaky_relu_backwardÚlerpÚlerp_ÚlinspaceÚ	logaddexpÚ
logaddexp2ÚlogitÚlogit_Úlogit_backwardÚlog_sigmoid_backwardÚlog_sigmoid_forwardÚ_log_softmax_backward_dataÚlogspaceÚ	logsumexpÚmasked_fillÚmasked_fill_Úmax_unpool2dÚmax_unpool3dÚmishÚmish_Úmish_backwardÚmse_lossÚmse_loss_backwardÚmulti_margin_lossÚmultilabel_margin_loss_forwardÚmvÚmvlgammaÚ	mvlgamma_ÚnansumÚ
nan_to_numÚnan_to_num_ÚnarrowÚnative_batch_norm_backwardÚnative_dropout_backwardÚnative_group_norm_backwardÚnative_layer_norm_backwardÚ_fused_rms_normÚ_fused_rms_norm_backwardÚ	new_emptyÚnew_fullÚnew_onesÚ	new_zerosÚnll_loss2d_forwardÚnll_loss2d_backwardÚnll_loss_backwardÚnll_loss_forwardÚnormÚScalarOpt_dtypeÚScalarÚScalarOpt_dim_dtypeÚScalarOpt_dimÚ	dtype_outÚnames_dtype_outÚ	names_outÚScalarOpt_dtype_outÚ
Scalar_outÚonesÚ	ones_likeÚpixel_shuffleÚpixel_unshuffleÚ_prelu_kernelÚ_prelu_kernel_backwardÚ_reshape_aliasÚrad2degÚrad2deg_Úreflection_pad1dÚreflection_pad1d_backwardÚreflection_pad2dÚreflection_pad2d_backwardÚreflection_pad3dÚreflection_pad3d_backwardÚreplication_pad1dÚreplication_pad2dÚreplication_pad3dÚrenormÚrenorm_Ú	resize_asÚrollÚrot90Úrrelu_with_noiseÚrrelu_with_noise_ÚrsubÚ_safe_softmaxÚ+_scaled_dot_product_flash_attention_for_cpuÚselect_backwardÚselect_scatterÚsgnÚsgn_Úsigmoid_backwardÚsiluÚsilu_Úsilu_backwardÚ
grad_inputÚsincÚsinc_Úslice_backwardÚsmooth_l1_lossÚsmooth_l1_loss_backwardÚsoft_margin_lossÚsoft_margin_loss_backwardÚ_softmax_backward_dataÚsoftplusÚsoftplus_backwardÚ
softshrinkÚspecial_entrÚspecial_log_ndtrÚspecial_xlog1pyÚsplitÚTensorÚsplit_with_sizes_copyÚsqueeze_copyÚsqueezeÚdimÚstdÚ
correctionÚcorrection_outÚcorrection_names_outÚstd_meanÚstackÚsumrx   Út_copyÚtakeÚtanh_backwardÚ	thresholdÚ
threshold_Úthreshold_backwardÚtraceÚ	transposeÚintÚtranspose_copyÚtrilÚtril_ÚtriuÚtriu_ÚunbindÚunfold_backwardÚunfold_copyÚ_unsafe_indexÚ_unsafe_index_putÚ_unsafe_masked_indexÚ#_unsafe_masked_index_put_accumulateÚunsafe_splitÚunsafe_split_with_sizesÚunsqueeze_copyÚ_unsafe_viewÚupsample_linear1dÚupsample_bilinear2dÚupsample_trilinear3dÚupsample_nearest2d_backwardÚview_as_complexÚxlogyÚxlogy_ÚzeroÚzero_ÚzerosÚ
zeros_likeÚ
_chunk_catÚ_weight_norm_interface)r.   s    r1   Ú'_core_aten_decompositions_post_autogradrŽ  .  sT  € ô �9‰9�>‰>€DÜð{	
Ø�L‰Lð{	
à�M‰Mð{	
ð �L‰Lð{	
ð �M‰Mð	{	
ð
 �I‰Ið{	
ð ×&Ñ&ð{	
ð �O‰Oð{	
ð �H‰Hð{	
ð �L‰Lð{	
ð �K‰K×Ñð{	
ð �K‰K×Ñð{	
ð ×$Ñ$ð{	
ð �L‰Lð{	
ð ×%Ñ%ð{	
ð ×.Ñ.ð{	
ð  ×1Ñ1ð!{	
ð" �O‰Oð#{	
ð$ �N‰N×Ñð%{	
ð& �N‰N×"Ñ"ð'{	
ð( �I‰Ið){	
ð* �J‰Jð+{	
ð, × Ñ ð-{	
ð. �N‰Nð/{	
ð0 �N‰Nð1{	
ð2 �K‰Kð3{	
ð4 ×Ñð5{	
ð6 ×Ñð7{	
ð8 ×!Ñ!ð9{	
ð: ×*Ñ*ð;{	
ð< ×+Ñ+ð={	
ð> �L‰Lð?{	
ð@ �M‰MðA{	
ðB �K‰KðC{	
ðD �O‰OðE{	
ðF ×"Ñ"ðG{	
ðH ×ÑðI{	
ðJ �H‰HðK{	
ðL �I‰IðM{	
ðN �I‰IðO{	
ðP ×ÑðQ{	
ðR ×ÑðS{	
ðT ×)Ñ)ðU{	
ðV �O‰OðW{	
ðX × Ñ ×(Ñ(ðY{	
ðZ �N‰Nð[{	
ð\ ×Ñð]{	
ð^ �H‰Hð_{	
ð` �I‰Iða{	
ðb �J‰Jðc{	
ðd ×Ñðe{	
ðf �I‰Iðg{	
ðh �J‰Jði{	
ðj ×0Ñ0ðk{	
ðl �J‰Jðm{	
ðn ×Ñðo{	
ðp �H‰Hðq{	
ðr ×Ñðs{	
ðt �O‰Oðu{	
ðv ×Ñðw{	
ðx ×Ñðy{	
ðz ×%Ñ%ð{{	
ð| �N‰Nð}{	
ð~ �O‰Oð{	
ð@ ×#Ñ#ðA{	
ðB �N‰NðC{	
ðD ×"Ñ"ðE{	
ðF �N‰NðG{	
ðH �O‰OðI{	
ðJ �O‰OðK{	
ðL ×$Ñ$ðM{	
ðN �K‰KðO{	
ðP �N‰N×ÑðQ{	
ðR �N‰N×"Ñ"ðS{	
ðT �O‰OðU{	
ðV �O‰O×ÑðW{	
ðX �O‰O×#Ñ#ðY{	
ðZ ×Ñð[{	
ð\ �O‰O×&Ñ&ð]{	
ð^ �O‰O×&Ñ&ð_{	
ð` �O‰O×*Ñ*ða{	
ðb �O‰O×*Ñ*ðc{	
ðd ×Ñðe{	
ðf �I‰Iðg{	
ðh �M‰Mði{	
ðj �M‰Mðk{	
ðl �L‰Lðm{	
ðn ×Ñðo{	
ðp ×+Ñ+ðq{	
ðr ×Ñðs{	
ðt ×$Ñ$ðu{	
ðv �I‰Iðw{	
ðx �J‰Jðy{	
ðz �M‰Mð{{	
ð| �N‰Nð}{	
ð~ �O‰Oð{	
ð@ �J‰JðA{	
ðB �K‰KðC{	
ðD ×ÑðE{	
ðF ×%Ñ%ðG{	
ðH ×$Ñ$ðI{	
ðJ ×+Ñ+ðK{	
ðL �M‰MðM{	
ðN �N‰N×"Ñ"ðO{	
ðP ×ÑðQ{	
ðR ×ÑðS{	
ðT ×ÑðU{	
ðV ×ÑðW{	
ðX �I‰IðY{	
ðZ �J‰Jð[{	
ð\ ×Ñð]{	
ð^ �M‰Mð_{	
ð` ×"Ñ"ða{	
ðb ×"Ñ"ðc{	
ðd ×/Ñ/ðe{	
ðf �G‰Gðg{	
ðh �M‰Mði{	
ðj �N‰Nðk{	
ðl �K‰Kðm{	
ðn �O‰Oðo{	
ðp ×Ñðq{	
ðr �K‰Kðs{	
ðt ×+Ñ+ðu{	
ðv ×(Ñ(ðw{	
ðx ×+Ò+ðy{	
ðz ×+Ò+ð{{	
ð| × Ò ð}{	
ð~ ×)Ò)ð{	
ð@ �NŠNðA{	
ðB �MŠMðC{	
ðD �MŠMðE{	
ðF �NŠNðG{	
ðH ×#Ò#ðI{	
ðJ ×$Ò$ðK{	
ðL ×"Ò"ðM{	
ðN ×!Ò!ðO{	
ðP �IŠI×%Ò%ðQ{	
ðR �IŠI×ÒðS{	
ðT �IŠI×)Ò)ðU{	
ðV �IŠI×#Ò#ðW{	
ðX �IŠI×ÒðY{	
ðZ �IŠI�M‰Mð[{	
ð\ �IŠI×%Ò%ð]{	
ð^ �IŠI×Òð_{	
ð` �IŠI×)Ò)ða{	
ðb �IŠI× Ò ðc{	
ðd �IŠIðe{	
ðf �NŠNðg{	
ðh ×Òði{	
ðj × Ò ðk{	
ðl ×Òðm{	
ðn ×'Ò'ðo{	
ðp ×Òðq{	
ðr �LŠLðs{	
ðt �MŠMðu{	
ðv ×!Ò!ðw{	
ðx ×*Ò*ðy{	
ðz ×!Ò!ð{{	
ð| ×*Ò*ð}{	
ð~ ×!Ò!ð{	
ð@ ×*Ò*ðA{	
ðB ×"Ò"ðC{	
ðD ×"Ò"ðE{	
ðF ×"Ò"ðG{	
ðH �KŠKðI{	
ðJ �LŠLðK{	
ðL ×"Ò"ðM{	
ðN �NŠNðO{	
ðP �IŠIðQ{	
ðR �JŠJðS{	
ðT ×!Ò!ðU{	
ðV ×"Ò"ðW{	
ðX �IŠIðY{	
ðZ ×Òð[{	
ð\ ×<Ò<×DÑDð]{	
ð^ × Ò ð_{	
ð` ×Òða{	
ðb �HŠHðc{	
ðd �IŠIðe{	
ðf ×!Ò!ðg{	
ðh �IŠIði{	
ðj �JŠJðk{	
ðl ×Ò×)Ò)ðm{	
ðn ×Òðo{	
ðp �IŠIðq{	
ðr �JŠJðs{	
ðt ×Òðu{	
ðv ×Òðw{	
ðx ×(Ò(ðy{	
ðz ×!Ò!ð{{	
ð| ×*Ò*ð}{	
ð~ ×'Ò'ð{	
ð@ �MŠMðA{	
ðB ×"Ò"ðC{	
ðD �OŠOðE{	
ðF ×ÒðG{	
ðH ×!Ò!ðI{	
ðJ × Ò ðK{	
ðL �JŠJ×ÒðM{	
ðN ×&Ò&ðO{	
ðP ×ÒðQ{	
ðR �LŠL× Ñ ðS{	
ðT �LŠL×ÒðU{	
ðV �HŠH×ÒðW{	
ðX �HŠH�L‰LðY{	
ðZ �HŠH×#Ò#ð[{	
ð\ �HŠH×Òð]{	
ð^ �HŠH×)Ò)ð_{	
ð` �MŠM×$Ò$ða{	
ðb �MŠM×(Ò(ðc{	
ðd �JŠJðe{	
ðf �HŠH×Ñðg{	
ðh �HŠH�L‰Lði{	
ðj �FŠFðk{	
ðl �KŠKðm{	
ðn �IŠIðo{	
ðp ×Òðq{	
ðr �NŠNðs{	
ðt �OŠOðu{	
ðv ×#Ò#ðw{	
ðx �JŠJðy{	
ðz �NŠN×Òð{{	
ð| ×Òð}{	
ð~ �IŠIð{	
ð@ �JŠJðA{	
ðB �IŠIðC{	
ðD �JŠJðE{	
ðF �KŠKðG{	
ðH × Ò ðI{	
ðJ ×ÒðK{	
ðL ×ÒðM{	
ðN ×"Ò"ðO{	
ðP ×%Ò%ðQ{	
ðR ×4Ò4ðS{	
ðT ×Ò×$Ò$ðU{	
ðV ×(Ò(ðW{	
ðX ×ÒðY{	
ðZ ×Òð[{	
ð\ ×"Ò"ð]{	
ð^ ×$Ò$×(Ñ(ð_{	
ð` ×%Ò%×)Ñ)ða{	
ðb ×,Ò,ðc{	
ðd × Ò ðe{	
ðf �JŠJðg{	
ðh �KŠKði{	
ðj �IŠIðk{	
ðl �JŠJðm{	
ðn �JŠJðo{	
ðp �OŠOðq{	
ðr �OŠOðs{	
ðt ×'Ò'ðu{	
ó}ð }r2   rG   )r!   )r%   r   )9rk   Úcollectionsr   Úcollections.abcr   r   Ú	functoolsr   r   r   Ú	itertoolsr	   Útypingr
   r   r   r   Útyping_extensionsr   Útorch.export.decomp_utilsr   r(   Útorch.libraryÚ
torch._opsr   r   r   r   Útorch._prims_commonr   Ú#torch._subclasses.functional_tensorr   Útorch.utilsr   r„   Ú__all__r   r   Údictr    Ústrr)   ri   r   r   r   Úboolr   rA   r|   r   r   r“   Útorch._decomp.decompositionsÚtorch._refsr   rŽ  rP   r2   r1   Ú<module>r¡     sÛ  ðä Ý #ß .ß /Ñ /Ý ß :Ó :Ý 'ö Ý;ã Û ß VÓ VÝ 8Ý @Ý )ò€ñ ˆTƒ]€Ùˆtƒ_€ñ
 �Óð ˜D  d¨5¯:©:×+BÑ+BÀHÐ+LÑ&MÐ!MÑNó ð 1°ÑAÐ Ø#=¸nÑ#MÐ  Ø'¨Ñ/€
ð:¨E¯J©J×,CÑ,Cð :Èô :ò$'ò<Tðp ð/#Ø$3¸Eò/#àˆx˜˜B˜ÑÐ  (¨2¨r¨6Ñ"2Ð2Ñ3ö/#ðh  ñ!Ø�u˜UŸZ™Z×4Ñ4Ð6FÐFÑGÑHð!à
ð!ð 
ˆ%�*‰*×
!Ñ
! 8Ð
+Ñ,õ!ðH)Ø˜Ÿ™×0Ñ0°(Ð:Ñ;ð)à�u˜ZÐ)9Ð9Ñ:Ñ;ð)ð 
ô)ó( $Û ô$ðA°Ø	‡J�J×Ñ˜XÐ%ñ2õ Ar2   