§
    ŠŠtj  ã                   ó,  — d dl Z d dlZej                             dd¦  «        Ze                     d¦  «         ej                             edd¦  «        ej                             edd¦  «        dej        d	ed
ej        fd„¦   «         ¦   «         Z	d„ Z
dS )é    NÚexportÚFRAGMENTzLaccess_subclass_inner_tensor(Tensor src_subclass_tensor, str attr) -> TensorÚaccess_subclass_inner_tensorÚAutogradÚPythonÚsrc_subclass_tensorÚattrÚreturnc                 óê   — ddl m}  || ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          | |d ¦  «        }|�t          |t          j        ¦  «        st          d|› d| › �¦  «        ‚|S )Nr   )Úis_traceable_wrapper_subclasszIExpected src_subclass_tensor to be a traceable wrapper subclass, but got z
Attribute z% is not a tensor or doesn't exist in )	Útorch.utils._python_dispatchr   ÚAssertionErrorÚtypeÚgetattrÚ
isinstanceÚtorchÚTensorÚRuntimeError)r   r	   r   Úvals       úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/export/custom_ops.pyÚ_access_subclass_inner_tensorr      s®   € ð KÐJÐJÐJÐJÐJà(Ð(Ð)<Ñ=Ô=ð 
Ýð3ÝÐ/Ñ0Ô0ð3ð 3ñ
ô 
ð 	
õ Ð% t¨TÑ
2Ô
2€CØ
€{�* S­%¬,Ñ7Ô7€{ÝØY˜ÐYÐYÐDWÐYÐYñ
ô 
ð 	
ð €Jó    c                 óÜ   — |                       dd¦  «        \  }}t          j        |¦  «        }t          ||¦  «        }t	          |d¦  «        st          d| › d�¦  «        ‚ |j        |i |¤ŽS )a]  
    Import a custom autograd function by string name and call it. This is pretty bad
    because:
    1) There is no schema

    Ideally we should automatically wrap custom autograd functions with a custom op, but
    that is too much work because we need to schematize custom autograd functions. For now,
    we just hackily put it in the IR.
    ú.é   ÚapplyzExpected function class z to have 'apply' method)ÚrsplitÚ	importlibÚimport_moduler   Úhasattrr   r   )Úfunction_cls_nameÚargsÚkwargsÚmodule_nameÚ
class_nameÚmoduleÚfunction_clss          r   Ú._call_custom_autograd_function_in_pre_dispatchr(   $   sŒ   € ð 0×6Ò6°s¸AÑ>Ô>Ñ€K�õ Ô$ [Ñ1Ô1€FÝ˜6 :Ñ.Ô.€LÝ�< Ñ)Ô)ð 
ÝØQÐ'8ÐQÐQÐQñ
ô 
ð 	
ð ˆ<Ô˜tÐ. vÐ.Ð.Ð.r   )r   r   ÚlibraryÚLibraryÚlibÚdefineÚimplr   Ústrr   r(   © r   r   ú<module>r0      sÛ   ðà Ð Ð Ð à €€€ð „m×Ò˜H jÑ1Ô1€à ‡
‚
ØRñô ð ð
 „×Ò�CÐ7¸ÑDÔDð „×Ò�CÐ7¸ÑBÔBðØœðØ-0ðà
„\ðð ð ñ CÔBñ EÔDðð$/ð /ð /ð /ð /r   