Your IP : 18.221.157.203
U
e5dZP � @ s d Z ddlZddlZddlZddlZddlT ddlmZ ddddd d
ddd
ddge Z[ejej ej
eee
fZed ZdedfedfedffZed ZdZdd� ZdVddd�dd�ZdWdd�dd�Zdddd d!d"d#d$d%d&d'�
Zd(d)� Zd*d+� Zd,d� Zd-d.� Zdd�d/d�Ze� d0d1�Z!d2e!j"_ d3e!j_ d4e!j#_ d5e!j$_ d6e!j%_ d7e!j&_ d8e!j'_ d9e!j(_ d:Z)d;Z*G d<d� de!�Z+dd=�d>d
�Z,d?d@� Z-dAdB� Z.dXdCdD�Z/dYdd�dFd�Z0ddd�dGdH�Z1dZdddI�dJdK�Z2dLdM� Z3e0Z4dNdO� Z5dPd� Z6dQd
� Z7G dRd� d�Z8dSdT� Z9e:dUk�re9� dS )[z0Disassembler of Python byte code into mnemonics.� N)�*)�__all__� code_info�dis�disassemble�distb�disco�findlinestarts�
findlabels� show_code�get_instructions�Instruction�Bytecode�FORMAT_VALUE)N� �str�repr�ascii�
MAKE_FUNCTION)�defaultsZ
kwdefaultsZannotationsZclosurec C s6 zt | |d�}W n tk
r0 t | |d�}Y nX |S )z�Attempts to compile the given source, first as an expression and
then as a statement if the first approach fails.
Utility function to accept strings in functions that otherwise
expect code objects
�eval�exec)�compile�SyntaxError)�source�name�c� r �/usr/lib64/python3.8/dis.py�_try_compile s
r ��file�depthc C sh | dkrt |d� dS t| d�r&| j} t| d�r8| j} n4t| d�rJ| j} n"t| d�r\| j} nt| d�rl| j} t| d�r�t| j� � �}|D ]p\}}t
|t�r�td | |d� zt
|||d
� W n0 tk
r� } ztd||d� W 5 d}~X Y nX t|d� q�nht| d��rt| ||d
� nLt
| ttf��r6t| |d� n.t
| t��rRt| ||d
� ntd
t| �j ��dS )a0 Disassemble classes, methods, functions, and other compiled objects.
With no argument, disassemble the last traceback.
Compiled objects currently include generator objects, async generator
objects, and coroutine objects, all of which store their code object
in a special attribute.
N�r! �__func__�__code__�gi_code�ag_code�cr_code�__dict__zDisassembly of %s:r zSorry:�co_code�(don't know how to disassemble %s objects)r �hasattrr$ r% r&