
    JTh                         S SK JrJrJr  S SKJrJrJrJrJ	r	J
r
JrJrJrJrJr   " S S5      r " S S5      r " S S5      r " S	 S
5      rg)    )AnyOptionalUnion)
AnnotationArgument	ArgumentsBaseOperatorNameBaseTyBaseTypeCustomClassTypeFunctionSchemaListTypeOperatorNameReturnc                       \ rS rSr\\R                  \\R                  \\R                  \\R                  0r	\
S\S\\\\4   4S j5       rSrg)TypeGen   objreturnc                    SS K n[        XR                  R                  5      (       a  [	        [
        R                  5      $ [        XR                  5      (       a  [	        [
        R                  5      $ [        XR                  5      (       a  [	        [
        R                  5      $ [        XR                  5      (       a  [	        [
        R                  5      $ [        XR                  5      (       a'  [        U R                  5       R                  5       5      $ [        U [        [        45      (       au  [        U 5      S:  d   eU  Vs/ s H  n[         R#                  U5      PM     nn[        [%        U5      5      S:  a  ['        SU S35      e[)        US   [        U 5      5      $ [+        U 5      nU[         R,                  ;  a  ['        SU 35      e[	        [         R,                  U   5      $ s  snf )Nr      zFCannot generate schema for a seqeunce of args of heterogeneous types: zc. Consider unpacking the argument and give proper names to them if possible instead of using *args.zunsupported type )torch
isinstancefxGraphModuler   r
   TensorSymIntSymBoolScriptObjectr   _typenamelisttuplelenr   from_examplesetRuntimeErrorr   typeconvert_to_base_ty)r   r   xall_base_tystps        Q/var/www/auris/envauris/lib/python3.13/site-packages/torchgen/gen_schema_utils.pyr%   TypeGen.from_example   s   c88//00F..//\\**FMM**\\**FMM**]]++FNN++//00"399;#3#3#566dE]++s8a<<=@ASG003SLA3|$%)"\]i\j k. . 
 LOSX66#YW///!22$788222677 Bs   G5 N)__name__
__module____qualname____firstlineno__intr
   floatstrboolr)   staticmethodr   r   r   r   r   r%   __static_attributes__r/       r-   r   r      s\    VZZv||VZZfkk	 8# 8%(O(K"L 8 8r:   r   c            	       D    \ rS rSr\S\\   S\S\\   S\	4S j5       r
Srg)		ReturnGen=   r!   r   
annotationr   c                 B    [        U [        R                  U5      U5      $ N)r   r   r%   )r!   r   r>   s      r-   r%   ReturnGen.from_example>   s     dG005zBBr:   r/   N)r0   r1   r2   r3   r8   r   r6   r   r   r   r%   r9   r/   r:   r-   r<   r<   =   sC    CsmC"%C3;J3GC	C Cr:   r<   c                   H    \ rS rSr\S\S\S\\   S\\   S\	4
S j5       r
Srg	)
ArgumentGenE   r!   r   defaultr>   r   c                 >    [        U [        R                  U5      X#S9$ )N)rE   r>   )r   r   r%   )r!   r   rE   r>   s       r-   r%   ArgumentGen.from_exampleF   s#     '&&s+W
 	
r:   r/   N)r0   r1   r2   r3   r8   r6   r   r   r   r   r%   r9   r/   r:   r-   rC   rC   E   sE    


&.sm
AI*AU
	
 
r:   rC   c            	       V    \ rS rSr\S\S\\\\4   S4   S\\S4   S\4S j5       r	Sr
g	)
FunctionSchemaGenO   op_nameexample_inputs.example_outputsr   c           
      H   / nU H+  u  pEUR                  [        R                  XES S 5      5        M-     [        [	        5       S [	        U5      [	        5       S [	        5       [	        5       5      n[	        S U 5       5      n[        [        U SSS5      S5      n [        XU5      $ )Nc              3   P   #    U  H  n[         R                  S US 5      v   M     g 7fr@   )r<   r%   ).0outs     r-   	<genexpr>1FunctionSchemaGen.from_example.<locals>.<genexpr>]   s%      
?NI""4d33s   $&F )appendrC   r%   r   r#   r   r	   r   )rK   rL   rM   argsr!   inp	argumentsreturnss           r-   r%   FunctionSchemaGen.from_exampleP   s     'IDKK00D$GH ( GT5;uw
	  
?N
 
 /uMrRg'::r:   r/   N)r0   r1   r2   r3   r8   r6   r#   r   r   r%   r9   r/   r:   r-   rI   rI   O   sR    ;;eCHos23; sCx; 
	; ;r:   rI   N)typingr   r   r   torchgen.modelr   r   r   r	   r
   r   r   r   r   r   r   r   r<   rC   rI   r/   r:   r-   <module>r]      sJ    ' '   (#8 #8LC C
 
; ;r:   