o
    b	                     @   sl   d dl Z d dlZd dlmZ d dlmZ ejejejfZdd Zd
ddZ	dd	 Z
eejee	e
 dS )    N)helpers)MANAGERc           	         s~    j } j} j}| j|d} fdd|D }|r'| fdd|D  |di |}t dr=|r=|jdi | |S )Nlineno
col_offsetparentc                       i | ]}|t  |qS  getattr.0paramnoder	   Y/var/www/secure340b-portal/env/lib/python3.10/site-packages/astroid/brain/brain_random.py
<dictcomp>       z+_clone_node_with_lineno.<locals>.<dictcomp>c                    r   r	   r
   r   r   r	   r   r      r   postinitr	   )	__class__Z_other_fields_astroid_fieldsr   updatehasattrr   )	r   r   r   clsZother_fieldsr   Zinit_paramsZpostinit_paramsnew_noder	   r   r   _clone_node_with_lineno   s   r   c                    s   t | jdkr
tj| jd }t|tjstjt|jts!tjtj	| jd |d}|s0tjt|t
s8tj|jt |jkrCtjz
t|j|j}W n
 tyW   tjw tj| j| j|  d  fdd|D } | t fS )N      r   )contextr   c                    s   g | ]
}t |  jd qS ))r   r   )r   r   )r   eltr   r	   r   
<listcomp>8   s    z'infer_random_sample.<locals>.<listcomp>)lenargsastroidZUseInferenceDefault
isinstanceZConstvalueintr   Z
safe_inferACCEPTED_ITERABLES_FOR_SAMPLEeltsrandomsample
ValueErrorListr   r   scoper   iter)r   r   lengthZinferred_sequencer)   Znew_eltsr	   r    r   infer_random_sample   s6   




r1   c                 C   s6   | j }t|tjr|jdkS t|tjr|jdkS dS )Nr+   F)funcr%   r$   	AttributeattrnameNamename)r   r2   r	   r	   r   _looks_like_random_sample@   s   

r7   )N)r*   r$   r   r   r-   SetTupler(   r   r1   r7   Zregister_transformCallZinference_tipr	   r	   r	   r   <module>   s   
%	