
    ֧g                        U d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZmZ d dlmZmZ d Zdede	e         d	ed
efdZd
efdZd
efdZd
efdZdeded
efdZdededed
efdZdededede	e         d
ef
dZeee eedd           eedd           eeddd           eed dd!           eed"d#d           eed$d#d!          d%	Zeeef         ed&<   dS )'    N)partial)CallableDictList)FAKE_FILENAME_PREFIXis_optional)	ParsedDefSourceContextc                 X    t           j                            t          | j        |          S N)ospathjoinr   __name__)clsmethod_names     V/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/jit/_dataclass_impls.py_get_fake_filenamer      s    7<<,clKHHH    name
body_lines	signaturereturnc           	      F   d                     d |D                       }d| | d| }	 t          j        |          }n.# t          $ r!}t	          d| d| j         d          |d }~ww xY wt          | |          }t          |t          ||dd	          ||d
          S )N
c              3       K   | ]	}d | V  
dS )  N ).0bs     r   	<genexpr>zcompose_fn.<locals>.<genexpr>   s(      22!X!XX222222r   zdef z:
z3TorchScript failed to synthesize dataclass method 'z' for class 'zJ'. Please file a bug report at <https://github.com/pytorch/pytorch/issues>r   )sourcefilenamefile_linenoleading_whitespace_len)ctxr"   r#   r$   )	r   astparseSyntaxErrorRuntimeErrorr   r   r	   r
   )	r   r   r   r   bodydeclpy_astefake_filenames	            r   
compose_fnr0      s   9922z22222D,$,	,,d,,D4    V$ V VUXUa V V V
 
 	 'sD11M-QWX
 
 
    s   A   
A+
A&&A+c                    t          d t          j        |           D                       rt          d          t	          j        | j                  }g g }|j                                        D ]\  }}|j	        }t          |t          j                  rD                    |           |                    |                    |j                             j|                    |           |                    |          }fdt          j        |           D             }t          | d          r.|                    dd                              z   d	z              t#          | d
|pdgt%          |                    S )Nc              3   <   K   | ]}|j         t          j        uV  d S r   )default_factorydataclassesMISSINGr   fields     r   r!   z%synthesize__init__.<locals>.<genexpr>0   sA         	[%88     r   zIDefault factory initializers are not supported in TorchScript dataclasses)
annotation)
parametersc                 T    g | ]$}|j         r|j        vd |j         d|j         %S )zself.z = )initr   )r   r7   	init_varss     r   
<listcomp>z&synthesize__init__.<locals>.<listcomp>L   sR        :	  *I55 	,
++uz++555r   __post_init__zself.__post_init__(, )__init__passr   )anyr4   fieldsNotImplementedErrorinspectr   rA   r9   itemsr8   
isinstanceInitVarappendreplacetypehasattrr   r0   str)r   r   paramsr   paramannr+   r<   s          @r   synthesize__init__rS   -   s       ',,     
 "W
 
 	
 !#,//I IF +1133 ! !ec;.// 	!T"""MM%--38-<<====MM%    !!V!44I    !',,  D sO$$ H)DIIi,@,@@3FGGGc:t'7x3y>>RRRRr   c                     t          | dd| j         dd                    d t          j        |           D                       z   dz   gd          S )	N__repr__zreturn '(r?   c                 >    g | ]}|j         	|j         d |j         S )z=self.)reprr   r6   s     r   r=   z&synthesize__repr__.<locals>.<listcomp>a   sB       zz5555  r   z)'z(self) -> strrC   )r0   r   r   r4   rE   r   s    r   synthesize__repr__rZ   Z   s    &s|&&&ii !,!3C!8!8    
	
 "   r   c                 *    t          | ddgd          S )N__hash__zUraise NotImplementedError('__hash__ is not supported for dataclasses in TorchScript')z(self) -> intrC   )r0   rY   s    r   synthesize__hash__r]   m   s/     d	

 "	 	 	 	r   conversec           	      4    t          | |ddd| dg          S )NTFif val1 z val2: return False)allow_eqraise_on_noneinnersynthesize_comparison)r   r   r^   s      r   synthesize_equalityrf   {   s6     7(7778   r   opra   c           
      >    t          | ||dd| dd| dg          S )NTr`   z val2: return Truez
elif val2 z val1: return False)rb   rc   rd   )r   r   rg   ra   s       r   synthesize_inequalityri      sF     -r---0000
	 	 	 	r   rb   rc   c                    g }t          j        |           D ]z}|j        s
|                    d|j         d|j         g           |                    t          |j                  s|ndgd |D             d|rd| j         dnd           {|                    d	|            t          | ||d
| j         d          S )Nzval1 = self.zval2 = other.z)if val1 is not None and val2 is not None:c                     g | ]}d |z   S )r   r   )r   lines     r   r=   z)synthesize_comparison.<locals>.<listcomp>   s    000$$+000r   z&elif (val1 is None) != (val2 is None):z"  raise TypeError('Cannot compare z with None')z  return Falsezreturn z(self, other: z	) -> boolrC   )
r4   rE   compareextendr   r   rM   r   rK   r0   )r   r   ra   rb   rc   r+   r7   s          r   re   re      s4    D#C(( 
 
} 	+uz++,
,,	
 	
 	
 	uz**
EE < 10%000 9	 !&OS\OOOO%	
 	
 	
 	
 	KK$($$%%%T4#KCL#K#K#K   r   __eq__z!=)r   r^   __ne__z==__lt__<F)r   rg   ra   __le__T__gt__>__ge__)	rA   rU   r\   ro   rp   rq   rs   rt   rv   DATACLASS_MAGIC_METHODS)r'   r4   rG   r   	functoolsr   typingr   r   r   torch._jit_internalr   r   torch._sourcesr	   r
   r   rO   r0   rS   rZ   r]   rf   boolri   re   rw   __annotations__r   r   r   <module>r~      s   



      				       ' ' ' ' ' ' ' ' ' ' A A A A A A A A 3 3 3 3 3 3 3 3I I I# 49      6)Sy )S )S )S )SZy    &
y 
 
 
 
3 # )    
S 
c 
T 
i 
 
 
 
"37@DS	   F #""g)4HHHg)4HHHg+(sUSSSg+(sTRRRg+(sUSSSg+(sTRRR
0 
0 c8m, 
 
 
 
 
r   