o
    i                     @   s*   d dl mZ d dlm  mZ dd ZdS )    )pytreeNc                 C   s   t | trtdd | D } nt | trdd | D } nt | tr*dd |  D } dd t| D }t|dkr<| S |d }t |tj	rUt
d	d
 |j| rUt|jS | S )Nc                 s   s    | ]}t |V  qd S N_skip_id.0i r	   T/home/ubuntu/.local/lib/python3.10/site-packages/einx/_src/tracer/optimizer/_util.py	<genexpr>   s    z_skip_id.<locals>.<genexpr>c                 S   s   g | ]}t |qS r	   r   r   r	   r	   r
   
<listcomp>	   s    z_skip_id.<locals>.<listcomp>c                 S   s   i | ]	\}}|t |qS r	   r   )r   kvr	   r	   r
   
<dictcomp>   s    z_skip_id.<locals>.<dictcomp>c                 S   s   g | ]}t |tjr|jqS r	   )
isinstancetracerTracerorigin)r   xr	   r	   r
   r      s    r   c                 S   s   t | t |kS r   )id)r   yr	   r	   r
   <lambda>   s    z_skip_id.<locals>.<lambda>)r   tuplelistdictitemsr   flattenlenr   Castalloutputr   input)r    originsr   r	   r	   r
   r      s   


 
r   )einx._src.utilr   einx._src.tracer_srcr   r   r	   r	   r	   r
   <module>   s    