U e5d"K�@s�ddlTddd�Zdd�Zdd�Zd?dd�Z dd�Z dd�Z dd�d d!�Z d"d#�Z Gd$d%�d%e�ZGd&d'�d'e�Zd(d)�Zd*d+�Zeee�e_eee�e_Gd,d-�d-e�Zd.d/�ZGd0d1�d1eed2�ZGd3d4�d4eed2�ZGd5d6�d6eed2�ZGd7d8�d8eed2�ZGd9d:�d:eed2�Zeee e!fee"fee#feed�e$feed;�fiZ%ee$fiZ&e$d8ed�d8ed1e d1e!d1e"d4e#d6ed;�d:iZ'dS)@�)�*� �execFN)� type_comments�feature_versioncCsFt}|r|tO}t|t�r(|\}}|}n |dkr4d}t|||||d�S)N�����)�_feature_version)Z PyCF_ONLY_ASTZPyCF_TYPE_COMMENTS� isinstance�tuple�compile)�source�filename�moderr�flags�major�minor�r�/usr/lib64/python3.8/ast.py�parses  �rcs`t|t�rt|dd�}t|t�r&|j}dd���fdd���fdd������fd d ���|�S) N�eval)rcSstd|����dS)Nzmalformed node or string: )� ValueError��noderrr�_raise_malformed_node>sz+literal_eval.._raise_malformed_nodecs,t|t�rt|j�tttfkr&�|�|jS�N)r �Constant�type�value�int�float�complexr)rrr� _convert_num@sz"literal_eval.._convert_numcsDt|t�r._convert_signed_numcst|t�r|jSt|t�r*tt�|j��St|t�rDtt�|j��St|t �r^t t�|j��St|t �r�t |j �t |j�kr��|�ttt�|j �t�|j���St|t��rt|jttf��r�|j�}�|j�}t|ttf��rt|t��rt|jt��r||S||S�|�Sr)r rrZTupler �mapZeltsZList�list�Set�setZDict�len�keys�values�dict�zipZBinOpr"ZAddZSub�left�rightrrr )rr.r/��_convertr!r$rrrr1Ls,      �  zliteral_eval.._convert)r �strrZ Expression�body)Znode_or_stringrr0r� literal_eval3s     r4Tcs2���fdd��t|t�s*td|jj���|�S)Nc st|t�r�g}�}|jD]V}zt||�}Wntk rBd}YqX|r`|�d|�|�f�q|��|��q�r�|jr�|jD]:}z |�d|�t||��f�Wq�tk r�Yq�Xq�d|jjd� |�fSt|t �r�dd� �fdd�|D��St |�S)NTz%s=%sz%s(%s)z, z[%s]c3s|]}�|�VqdSrr)�.0�x)�_formatrr� �sz(dump.._format..) r �AST�_fields�getattr�AttributeError�append� _attributes� __class__�__name__�joinr&�repr)r�args�keywords�fieldr�a�r7�annotate_fields�include_attributesrrr7ps*       zdump.._formatzexpected AST, got %r)r r9� TypeErrorr?r@)rrHrIrrGr�dumpfs  rKcCsVdD]L}||jkr||jkrt||d�}|dk sDt||�r|�d�rt|||�q|S)N)�lineno� col_offset� end_lineno�end_col_offsetZend_)r>r;�hasattr� startswith�setattr)�new_nodeZold_node�attrrrrr� copy_location�s ��rUcs �fdd���|dddd�|S)Ncs�d|jkr"t|d�s||_n|j}d|jkrDt|d�s>||_n|j}d|jkrft|d�s`||_n|j}d|jkr�t|d�s�||_n|j}t|�D]}�|||||�q�dS)NrLrNrMrO)r>rPrLrNrMrO�iter_child_nodes)rrLrMrNrO�child��_fixrrrY�s$         z#fix_missing_locations.._fix�rrrrrXr�fix_missing_locations�s r[rZcCsVt|�D]H}d|jkr(t|dd�||_d|jkrt|dd�}dk r|||_q|S)NrLrrN)�walkr>r;rLrN)r�nrWrNrrr�increment_lineno�s  �� r^c cs:|jD].}z|t||�fVWqtk r2YqXqdSr)r:r;r<)rrErrr� iter_fields�s  r_ccsLt|�D]>\}}t|t�r"|Vqt|t�r|D]}t|t�r0|Vq0qdSr)r_r r9r&)r�namerE�itemrrrrV�s   rVcCs�t|ttttf�s"td|jj��|jr8t|jdt �ssx� 3 '#    #:>     ���