
    5 fb                        d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZ d dlmZ eeefZd	 ZdddZddZddZdS )    )annotationsN)InferenceContext)UseInferenceDefault)inference_tip)AstroidManager)	AttributeCallConstEvaluatedObjectListNameSetTuple)
safe_inferc                H    t           t                    r j          j        } j        } j        }| j        | j         j        d} fd|D             }|r!|	                     fd|D                         |di |}t           d          r|r |j        di | |S )Nlineno
col_offsetparent
end_linenoend_col_offsetc                2    i | ]}|t          |          S  getattr.0paramnodes     P/var/www/equiseq/venv/lib/python3.11/site-packages/astroid/brain/brain_random.py
<dictcomp>z+_clone_node_with_lineno.<locals>.<dictcomp>)   s%    PPPuugdE22PPP    c                2    i | ]}|t          |          S r   r   r   s     r    r!   z+_clone_node_with_lineno.<locals>.<dictcomp>+   s%    RRREE74#7#7RRRr"   postinitr   )
isinstancer   original	__class___other_fields_astroid_fieldsr   r   r   updatehasattrr$   )	r   r   r   clsother_fieldsr)   init_paramspostinit_paramsnew_nodes	   `        r    _clone_node_with_linenor1      s    $(( }
.C%L*Ooo- K QPPPPPPO TRRRR\RRRSSSs!![!!HtZ   -_ -,,O,,,Or"   contextInferenceContext | Nonec                   t          | j                  dk    rt          t          | j        d         |          }t	          |t
                    st          t	          |j        t                    st          t          | j        d         |          }|st          t	          |t                    st          |j        t          |j	                  k    rt          	 t          j        |j	        |j                  }n# t          $ r}t          |d }~ww xY wt          | j        | j        |                                 | j        | j                  fd|D             }                    |           t)          f          S )N      )r2   r   r   c                >    g | ]}t          |j                   S ))r   r   )r1   r   )r   eltr0   s     r    
<listcomp>z'infer_random_sample.<locals>.<listcomp>S   s:        	 HX_MMM  r"   )lenargsr   r   r%   r
   valueintACCEPTED_ITERABLES_FOR_SAMPLEeltsrandomsample
ValueErrorr   r   r   scoper   r   r$   iter)r   r2   inferred_lengthinferred_sequencer?   excnew_eltsr0   s          @r    infer_random_samplerI   2   s   
49~~!! 1w???Oou-- "!!o+S11 "!!"49Q<AAA "!!')FGG "!!s#4#9::::!!+}.3_5JKK + + +!s*+ {?zz||?*  H     H hs    D   
D
DDreturnboolc                    | j         }t          |t                    r|j        dk    S t          |t                    r|j        dk    S dS )NrA   F)funcr%   r   attrnamer   name)r   rM   s     r    _looks_like_random_samplerP   [   sL    9D$	"" )}(($ %yH$$5r"   managerr   Nonec                l    |                      t          t          t                    t                     d S N)register_transformr	   r   rI   rP   )rQ   s    r    registerrV   d   s5    m/002K    r"   rT   )r2   r3   )rJ   rK   )rQ   r   rJ   rR   )
__future__r   r@   astroid.contextr   astroid.exceptionsr   astroid.inference_tipr   astroid.managerr   astroid.nodes.node_classesr   r	   r
   r   r   r   r   r   astroid.utilr   r>   r1   rI   rP   rV   r   r"   r    <module>r^      sJ  
 # " " " " "  , , , , , , 2 2 2 2 2 2 / / / / / / * * * * * *	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $ # # # # #!%sE 2   ,& & & & &R        r"   