Ë
    g^(h�	  ã                   ó’   — 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	 ddl
mZ erd d	lmZ d
j                  «       Z G d„ de«      Zy)é    )Úgetattr_static)ÚTYPE_CHECKINGé   )Úcreate_call_function)ÚUnsupported)Ú
AttrSourceé   )ÚVariableTracker)ÚInstructionTranslatorz6query key value attn_mask dropout is_causal enable_gqac                   óf   ‡ — e Zd ZdZedd„«       Zdˆ fd„Zd„ Zd„ Zddd	e	de
fd
„Zed„ «       Zˆ xZS )ÚSDPAParamsVariablezeRepresents the c++ params struct for scaled dot product attention.
    This is a read-only container.Útxr   c                 óÎ   — ddl m} ddlm} t        D �cg c]-  }t        j                  | t        ||«      t        ||«      «      ‘Œ/ }} ||«      j                  | |i «      S c c}w )Nr   ©Ú
SDPAParamsr	   )ÚTorchInGraphFunctionVariable)
Útorch.backends.cudar   Útorchr   ÚPARAM_NAMESr
   ÚbuildÚgetattrr   Úcall_function)r   ÚvalueÚsourcer   r   ÚpÚparamss          úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_dynamo/variables/sdpa.pyÚcreatezSDPAParamsVariable.create   sf   € å2å7ô !ö
àô ×!Ñ! "¤g¨e°QÓ&7¼ÀFÈAÓ9NÕOð
ˆð 
ñ ,¨JÓ7×EÑEÀbÈ&ÐRTÓUÐUùò	
s   •2A"Úreturnc                 ó@   •— || _         || _        t        ‰| �  di |¤Ž y )N© )ÚproxyÚ
param_varsÚsuperÚ__init__)Úselfr"   r#   ÚkwargsÚ	__class__s       €r   r%   zSDPAParamsVariable.__init__"   s!   ø€ ØˆŒ
Ø$ˆŒÜ‰ÑÑ"˜6Ó"ó    c                 óø   ‡— | j                   �J ‚| j                  €J ‚‰j                  ˆfd„«       ‰j                  | j                  «       ‰j	                  t        t        | j                  «      d«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )Nztorch._CÚ_SDPAParams)Úload_import_from)Úcodegens   €r   ú<lambda>z0SDPAParamsVariable.reconstruct.<locals>.<lambda>+   s   ø€ �G×,Ñ,¨Z¸ÓG€ r)   F)r   r#   Úadd_push_nullÚforeachÚextend_outputr   Úlen)r&   r.   s    `r   ÚreconstructzSDPAParamsVariable.reconstruct'   se   ø€ Ø�{‰{Ð"Ð"Ð"Ø�‰Ð*Ð*Ð*Ø×ÑÛGô	
ð 	�‰˜Ÿ™Ô(Ø×ÑÔ2´3°t·±Ó3GÈÓOÕPr)   c                 ó   — | j                   S )N)r"   )r&   s    r   Úas_proxyzSDPAParamsVariable.as_proxy0   s   € Ø�z‰zÐr)   Únamec                 óF  — dd l }ddlm} ddlm} 	 t        |j                  j                  |«       |j                  | j                  «       |«      }| j                  � |||t        | j                  |«      ¬«      S  |||¬«      S # t        $ r t        d|› �«      d ‚w xY w)Nr   r	   )Úwrap_fx_proxy)ÚGetAttrVariablez+Unsupported torch._C._SDPAParams attribute )r   r"   r   )r   r"   )Útorch._CÚbuilderr9   Úmiscr:   r   Ú_Cr,   ÚAttributeErrorr   Úcreate_getattr_proxyr6   r   r   )r&   r   r7   r   r9   r:   r"   s          r   Úvar_getattrzSDPAParamsVariable.var_getattr3   s¡   € Ûå*Ý)ð	Ü˜5Ÿ8™8×/Ñ/°Ô6ð  ×4Ñ4°T·]±]³_ÀdÓKˆØ�;‰;Ð"Ù Ø˜U¬:°d·k±kÀ4Ó+Hôð ñ ! B¨eÔ4Ð4øô ò 	äØ=¸d¸VÐDóàðð	ús   ’ B ÂB c                 ó   — ddl m} | |u S )Nr   r   )r   r   )r   r   s     r   Úis_sdpa_paramsz!SDPAParamsVariable.is_sdpa_paramsI   s   € å2à˜
Ð"Ð"r)   )r   r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr   r%   r4   r6   Ústrr
   rA   rC   Ú__classcell__)r(   s   @r   r   r      s]   ø„ ñ&ð ò	Vó ð	Võ#ò
Qòð5Ð5ð 5¸Sð 5À_ó 5ð, ñ#ó ô#r)   r   N)Úinspectr   Útypingr   Úbytecode_transformationr   Úexcr   r   r   Úbaser
   Útorch._dynamo.symbolic_convertr   Úsplitr   r   r!   r)   r   ú<module>rR      s;   ðõ #Ý  å :Ý Ý Ý !ñ ÝDàF×LÑLÓN€ô;#˜õ ;#r)   