
    i                         S SK r S SKJr  S SKJrJr   " S S\5      r\ R                  " SS9S\\   4S j5       r	 " S	 S
5      r
g)    N)fields)HashableSetc                   D    \ rS rSr% \\S'   \S 5       rS\4S jr	S r
Srg)		_UnionTag   _clsc                 N    [        U 5      n[        US5      (       a   eXl        U$ )Nr	   )r   hasattrr	   )tclstags      Z/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/executorch/exir/serde/union.pycreate_UnionTag.create   s(    l3''''
    returnc                     [        U[        5      (       d   e[        U5      nU[        U R                  5      ;   d,   U SU R                   S[        U R                  5       35       e[        U 5      U:H  $ )Nz is not a valid tag for z. Available tags: )
isinstancestr_get_field_namesr	   )selfcmpothers      r   __eq___UnionTag.__eq__   s    #s####C(II
 
 	hW,TYYK7IJZ[_[d[dJeIfg	h 
 4yE!!r   c                 *    [        [        U 5      5      $ N)hashr   r   s    r   __hash___UnionTag.__hash__    s    CIr    N)__name__
__module____qualname____firstlineno__r   __annotations__staticmethodr   boolr   r!   __static_attributes__r#   r   r   r   r      s*    
N "T "r   r   )maxsizer   c                 V    [        U 5       Vs1 s H  oR                  iM     sn$ s  snf r   )r   name)r   fs     r   r   r   $   s     "3K(KqFFK(((s   &c                   ~   ^  \ rS rSr% \\S'   \S 5       rS r\	S\
4S j5       r\	S 5       rU 4S jrS	 rS
 rSrU =r$ )_Union)   _typec           
         [        U5      S:X  d   eU " S0 0 [        U 5       Vs0 s H  o"R                  S _M     snEUED6n[        R	                  [        [        UR                  5       5      5      U 5      Ul        U$ s  snf )N   r#   )	lenr   r.   r   r   nextiterkeysr3   )r   kwargsr/   objs       r   r   _Union.create,   ss    6{aFEfSk:kk:EfEF$$T$v{{}*=%>D	
 ;s   A?c                 H    [        S [        U 5       5       5      (       a   eg )Nc              3   >   #    U  H  oR                   S ;   v   M     g7f))typer3   r   valueN)r.   ).0r/   s     r   	<genexpr>'_Union.__post_init__.<locals>.<genexpr>4   s     \|!vv!EE|s   )anyr   r    s    r   __post_init___Union.__post_init__3   s!    \vVZ|\\\\\\r   r   c                      U R                   $ ! [         a(  n[        S[        U 5      R                   S35      UeS nAff = f)NzPlease use z&.create to instantiate the union type.)r3   AttributeErrorRuntimeErrorr?   r$   )r   es     r   r?   _Union.type6   sI    	:: 	d4j1122XY	s    
A #;A c                 ,    [        X R                  5      $ r   )getattrr?   r    s    r   r@   _Union.value?   s    tYY''r   c                    > [         TU ]  U5      nUc6  U[        [        U 5      5      ;   a  XR                  :w  a  [	        SU S35      eU$ )NzField z is not set.)super__getattribute__r   r?   rH   )r   r.   attr	__class__s      r   rQ   _Union.__getattribute__C   sJ    w'-<D$4T$Z$@@TYYEV 6$|!<==r   c                 "    U R                  5       $ r   )__repr__r    s    r   __str___Union.__str__I   s    }}r   c                 x    [        U 5      R                   SU R                    S[        X R                   5       S3$ )N(=))r?   r$   rM   r    s    r   rV   _Union.__repr__L   s4    t*%%&a		{!GD))4L3MQOOr   r#   )r$   r%   r&   r'   r   r(   classmethodr   rE   propertyr   r?   r@   rQ   rW   rV   r+   __classcell__)rS   s   @r   r1   r1   )   sf     ] c   ( (P Pr   r1   )	functoolsdataclassesr   typingr   r   r   r   	lru_cacher   r1   r#   r   r   <module>re      sR        , T")SX ) #)$P $Pr   