§
    ŠŠtj¨  ã                   óº   — d dl mZ d dlmZmZ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 dd	lmZ d
dlmZ erd dlmZ d dlmZ g d¢Z G d„ de¦  «        ZdS )é    )Úgetattr_static)ÚAnyÚTYPE_CHECKINGÚ	TypeGuard)ÚSource©Ú
SDPAParams)ÚProxyé   )Úcreate_call_function)Úunimplemented)Ú
AttrSourceé   )ÚVariableTracker)Ú	PyCodegen)ÚInstructionTranslatorBase)ÚqueryÚkeyÚvalueÚ	attn_maskÚdropoutÚ	is_causalÚ
enable_gqac            	       óÈ   ‡ — e Zd ZdZedddededefd„¦   «         Zde	d	e
e         d
eddfˆ fd„Zdefd„Zdd„Zde	fd„Zdddedefd„Zededed         fd„¦   «         Zˆ xZS )ÚSDPAParamsVariablezeRepresents the c++ params struct for scaled dot product attention.
    This is a read-only container.Útxr   r   ÚsourceÚreturnc                 óˆ   ‡ ‡‡— ddl m} ˆˆ ˆfd„t          D ¦   «         } |t          ¦  «                             ‰ |i ¦  «        S )Nr   )ÚTorchInGraphFunctionVariablec           
      ót   •— g | ]4}t          j        ‰t          ‰|¦  «        t          ‰|¦  «        ¦  «        ‘Œ5S © )r   ÚbuildÚgetattrr   )Ú.0Úpr   r   r   s     €€€úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/variables/sdpa.pyú
<listcomp>z-SDPAParamsVariable.create.<locals>.<listcomp>'   sL   ø€ ð 
ð 
ð 
àõ Ô! "¥g¨e°QÑ&7Ô&7½ÀFÈAÑ9NÔ9NÑOÔOð
ð 
ð 
ó    )Útorchr    ÚPARAM_NAMESr	   Úcall_function)r   r   r   r    Úparamss   ```  r'   ÚcreatezSDPAParamsVariable.create!   sq   øøø€ ð 	8Ð7Ð7Ð7Ð7Ð7ð
ð 
ð 
ð 
ð 
ð 
å ð
ñ 
ô 
ˆð ,Ð+­JÑ7Ô7×EÒEÀbÈ&ÐRTÑUÔUÐUr)   ÚproxyÚ
param_varsÚkwargsNc                 óV   •— || _         || _         t          ¦   «         j        di |¤Ž d S )Nr"   )r/   r0   ÚsuperÚ__init__)Úselfr/   r0   r1   Ú	__class__s       €r'   r4   zSDPAParamsVariable.__init__-   s6   ø€ ð ˆŒ
Ø$ˆŒØ�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ð"Ð"r)   c                 ó   — t           S ©Nr   ©r5   s    r'   Úpython_typezSDPAParamsVariable.python_type4   s   € ÝÐr)   Úcodegenr   c                 ó.  ‡— | j         �t          d¦  «        ‚| j        €t          d¦  «        ‚‰                     ˆfd„¦  «         ‰                     | j        ¦  «         ‰                     t          t          | j        ¦  «        d¦  «        ¦  «         d S )Nz>SDPAParamsVariable should not have a source during reconstructz.SDPAParamsVariable.param_vars must not be Nonec                  ó0   •— ‰                       dd¦  «        S )Nztorch._CÚ_SDPAParams)Úload_import_from)r;   s   €r'   ú<lambda>z0SDPAParamsVariable.reconstruct.<locals>.<lambda>?   s   ø€ �G×,Ò,¨Z¸ÑGÔG€ r)   F)r   ÚAssertionErrorr0   Úadd_push_nullÚforeachÚextend_outputr   Úlen)r5   r;   s    `r'   ÚreconstructzSDPAParamsVariable.reconstruct7   s¢   ø€ ØŒ;Ð"Ý ØPñô ð ð Œ?Ð"Ý Ð!QÑRÔRÐRØ×ÒØGÐGÐGÐGñ	
ô 	
ð 	
ð 	�Š˜œÑ(Ô(Ð(Ø×ÒÕ2µ3°t´Ñ3GÔ3GÈÑOÔOÑPÔPÐPÐPÐPr)   c                 ó   — | j         S r8   )r/   r9   s    r'   Úas_proxyzSDPAParamsVariable.as_proxyD   s
   € ØŒzÐr)   Únamec                 óˆ  — dd l }ddlm} ddlm} 	 t          |j        j        |¦  «         n:# t          $ r- dd l	m
c m} t          dd|› �d|› d�g |j        ¢¬	¦  «         Y nw xY w|                     |                      ¦   «         |¦  «        }| j        �! |||t#          | j        |¦  «        ¬
¦  «        S  |||¬¦  «        S )Nr   r   )Úwrap_fx_proxy)ÚGetAttrVariablez*unsupported torch._C._SDPAParams attributezname: zUnable to fetch attribute z from torch._C._SDPAParams.)Úgb_typeÚcontextÚexplanationÚhints)r   r/   r   )r   r/   )Útorch._CÚbuilderrK   ÚmiscrL   r   Ú_Cr>   ÚAttributeErrorÚtorch._dynamo.graph_break_hintsÚ_dynamoÚgraph_break_hintsr   Ú
USER_ERRORÚcreate_getattr_proxyrH   r   r   )r5   r   rI   r*   rK   rL   rX   r/   s           r'   Úvar_getattrzSDPAParamsVariable.var_getattrG   s9  € ð 	ˆˆˆà*Ð*Ð*Ð*Ð*Ð*Ø)Ð)Ð)Ð)Ð)Ð)ð	Ý˜5œ8Ô/°Ñ6Ô6Ð6Ð6øÝð 
	ð 
	ð 
	ØGÐGÐGÐGÐGÐGÐGÐGÐGåØDØ' ˜˜ØZ¸ÐZÐZÐZðØ&Ô1ðð	ñ ô ð ð ð ð
	øøøð  ×4Ò4°T·]²]±_´_ÀdÑKÔKˆØŒ;Ð"Ø �=Ø˜U­:°d´kÀ4Ñ+HÔ+Hðñ ô ð ð !�= B¨eÐ4Ñ4Ô4Ð4s   ’- ­4A$Á#A$r	   c                 ó   — | t           u S r8   r   )r   s    r'   Úis_sdpa_paramsz!SDPAParamsVariable.is_sdpa_paramse   s   € à�
Ð"Ð"r)   )r;   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr   r   r   r.   r
   Úlistr4   Útyper:   rF   rH   Ústrr[   r   r]   Ú__classcell__)r6   s   @r'   r   r      sa  ø€ € € € € ð&ð &ð ð	VØ'ð	VØ03ð	VØ=Cð	Và	ð	Vð 	Vð 	Vñ „\ð	Vð#Øð#Ø(,¨_Ô(=ð#ØILð#à	ð#ð #ð #ð #ð #ð #ð˜Tð ð ð ð ðQð Qð Qð Qð˜%ð ð ð ð ð5Ø-ð5Ø58ð5à	ð5ð 5ð 5ð 5ð< ð#˜cð # i°Ô&=ð #ð #ð #ñ „\ð#ð #ð #ð #ð #r)   r   N)Úinspectr   Útypingr   r   r   Útorch._guardsr   Útorch.backends.cudar	   Útorch.fx.proxyr
   Úbytecode_transformationr   Úexcr   r   r   Úbaser   Útorch._dynamo.codegenr   Útorch._dynamo.symbolic_convertr   r+   r   r"   r)   r'   ú<module>rq      s1  ðØ "Ð "Ð "Ð "Ð "Ð "Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à  Ð  Ð  Ð  Ð  Ð  Ø *Ð *Ð *Ð *Ð *Ð *Ø  Ð  Ð  Ð  Ð  Ð  à :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ð ð IØ/Ð/Ð/Ð/Ð/Ð/ØHÐHÐHÐHÐHÐHðð ð €ðJ#ð J#ð J#ð J#ð J#˜ñ J#ô J#ð J#ð J#ð J#r)   