Ë
    3êñi  ã                   ó”   — d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZ  G d„ d«      Z G d„ d«      Z G d„ d«      Z G d	„ d
«      Zy)é    )ÚAny)Ú
AnnotationÚArgumentÚ	ArgumentsÚBaseOperatorNameÚBaseTyÚBaseTypeÚCustomClassTypeÚFunctionSchemaÚListTypeÚOperatorNameÚReturnc                   ó–   — e Zd Zeej                  eej
                  eej                  eej                  iZe	de
deez  ez  fd„«       Zy)ÚTypeGenÚobjÚreturnc                 óÆ  — dd l }t        | |j                  j                  «      rt	        t
        j                  «      S t        | |j                  «      rt	        t
        j                  «      S t        | |j                  «      rt	        t
        j                  «      S t        | |j                  «      rt	        t
        j                  «      S t        | |j                  «      r't        | j                  «       j                  «       «      S t        | t        t        f«      ryt        | «      dk(  rt!        d«      ‚| D �cg c]  }t"        j%                  |«      ‘Œ }}t        t'        |«      «      dkD  rt)        d|› d�«      ‚t+        |d   t        | «      «      S t-        | «      }|t"        j.                  vrt)        d|› �«      ‚t	        t"        j.                  |   «      S c c}w )Nr   zlist/tuple must be non-emptyé   zFCannot generate schema for a sequence 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ÚlenÚAssertionErrorr   Úfrom_exampleÚsetÚRuntimeErrorr   ÚtypeÚconvert_to_base_ty)r   r   ÚxÚall_base_tysÚtps        ú[/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/torchgen/gen_schema_utils.pyr#   zTypeGen.from_example   s~  € ãä�c˜5Ÿ8™8×/Ñ/Ô0ÜœF×.Ñ.Ó/Ð/Ü˜˜UŸ\™\Ô*ÜœFŸM™MÓ*Ð*Ü˜˜UŸ\™\Ô*ÜœFŸM™MÓ*Ð*Ü˜˜UŸ]™]Ô+ÜœFŸN™NÓ+Ð+Ü˜˜U×/Ñ/Ô0Ü" 3§9¡9£;×#3Ñ#3Ó#5Ó6Ð6Ü˜œd¤E˜]Ô+Ü�3‹x˜1Š}Ü$Ð%CÓDÐDØ=@ÖA¸œG×0Ñ0°Õ3ÐAˆLÐAÜ”3�|Ó$Ó%¨Ò)Ü"Ø\Ð]iÐ\jð k.ð .óð ô
 ˜L¨™O¬S°«XÓ6Ð6Ü�#‹YˆØ”W×/Ñ/Ñ/ÜÐ!2°2°$Ð7Ó8Ð8Üœ×2Ñ2°2Ñ6Ó7Ð7ùò Bs   Ä;GN)Ú__name__Ú
__module__Ú__qualname__Úintr   ÚfloatÚstrÚboolr'   Ústaticmethodr   r	   r   r
   r#   © ó    r+   r   r      sZ   „ àˆV�Z‰ZØˆv�|‰|ØˆV�Z‰ZØˆf�k‰kð	Ðð ð8˜#ð 8 (¨XÑ"5¸Ñ"Gò 8ó ñ8r5   r   c            	       ó:   — e Zd Zededz  dededz  defd„«       Zy)Ú	ReturnGenr   Nr   Ú
annotationr   c                 óB   — t        | t        j                  |«      |«      S ©N)r   r   r#   )r   r   r8   s      r+   r#   zReturnGen.from_example?   s   € ô �dœG×0Ñ0°Ó5°zÓBÐBr5   )	r,   r-   r.   r3   r1   r   r   r   r#   r4   r5   r+   r7   r7   >   sC   „ ØðCØ�D‰jðCØ"ðCØ0:¸TÑ0AðCà	òCó ñCr5   r7   c                   ó>   — e Zd Zededededz  dedz  def
d„«       Zy)ÚArgumentGenr   r   ÚdefaultNr8   r   c                 óF   — t        | t        j                  |«      ||¬«      S )N)r=   r8   )r   r   r#   )r   r   r=   r8   s       r+   r#   zArgumentGen.from_exampleG   s%   € ô Ø”'×&Ñ& sÓ+°WÈô
ð 	
r5   )	r,   r-   r.   r3   r1   r   r   r   r#   r4   r5   r+   r<   r<   F   sE   „ Øð
Øð
Øð
Ø&)¨D¡jð
Ø>HÈ4Ñ>Oð
à	ò
ó ñ
r5   r<   c            	       óL   — e Zd Zededeeeef   df   deedf   defd„«       Zy)ÚFunctionSchemaGenÚop_nameÚexample_inputs.Úexample_outputsr   c           
      óJ  — g }|D ],  \  }}|j                  t        j                  ||d d «      «       Œ. t        t	        «       d t	        |«      t	        «       d t	        «       t	        «       «      }t	        d„ |D «       «      }t        t        | ddd«      d«      } t        | ||«      S )Nc              3   óJ   K  — | ]  }t         j                  d |d «      –— Œ y ­wr:   )r7   r#   )Ú.0Úouts     r+   ú	<genexpr>z1FunctionSchemaGen.from_example.<locals>.<genexpr>^   s$   è ø€ ò 
Ø8;ŒI×"Ñ" 4¨¨d×3ñ
ùs   ‚!#FÚ )Úappendr<   r#   r   r    r   r   r   )rA   rB   rC   Úargsr   ÚinpÚ	argumentsÚreturnss           r+   r#   zFunctionSchemaGen.from_exampleQ   s¤   € ð ˆØ'ò 	I‰IˆD�#Ø�K‰Kœ×0Ñ0°°s¸DÀ$ÓGÕHð	Iô Ü‹G�Tœ5 ›;¬«°´u³wÄÃó
ˆ	ô ñ 
Ø?Nô
ó 
ˆô Ô/°¸ÀÀuÓMÈrÓRˆÜ˜g y°'Ó:Ð:r5   N)	r,   r-   r.   r3   r1   r    r   r   r#   r4   r5   r+   r@   r@   P   sR   „ Øð;Øð;à˜e C¨ H™o¨sÐ2Ñ3ð;ð ˜s C˜x™ð;ð 
ò	;ó ñ;r5   r@   N)Útypingr   Útorchgen.modelr   r   r   r   r   r	   r
   r   r   r   r   r   r7   r<   r@   r4   r5   r+   ú<module>rQ      sG   ðÝ ÷÷ ÷ ñ ÷($8ñ $8÷NCñ C÷
ñ 
÷;ò ;r5   