shell bypass 403
o
^bWY � @ sp d dl Z d dlZd dlZg d�ZG dd� d�Zddd�Zddd �ZG d
d� d�Zdd
� Ze dkr6e� dS dS )� N)�run�runctx�Profilec @ s. e Zd Z dd� Zdd� Zdd� Zdd� Zd S )
�_Utilsc C s
|| _ d S �N)�profiler)�selfr � r �0/usr/local/python-3.10/lib/python3.10/profile.py�__init__/ �
z_Utils.__init__c C sd | � � }z%z|�|� W n ty Y nw W | �|||� d S W | �|||� d S | �|||� w r )r r �
SystemExit�_show)r � statement�filename�sort�profr r r
r 2 s ���"z
_Utils.runc C sh | � � }z'z |�|||� W n ty Y nw W | �|||� d S W | �|||� d S | �|||� w r )r r r
r )r r �globals�localsr r r r r r
r ; s ���"z
_Utils.runctxc C s$ |d ur|� |� d S |�|� d S r )�
dump_stats�print_stats)r r r r r r r
r D s z_Utils._showN)�__name__�
__module__�__qualname__r r r r r r r r
r ) s r ���c C s t t��| ||�S r )r r r )r r r r r r
r P s
r c C s t t��| ||||�S r )r r r )r r r r r r r r
r ] s r c @ s� e Zd Z dZd3dd�Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Ze
e eeeed�Z
dd� ZG dd� d�ZG dd� d�Zdd� Zdd� Zd4d!d"�Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd5d/d0�Zd1d2� ZdS )6r r Nc C s� i | _ d | _d| _d| _|d u r| j}|| _|s$tj | _| _| j | _
n5|| _| �� }zt|�}W n tyA || _| j | _
Y nw |dkrK| j
| _
n| j| _
|tfdd�}|| _| �� | _| �d� d S )N� � c S s
|| � �S r r )�timer�sumr r r
�get_time_timer� r z(Profile.__init__.<locals>.get_time_timerr )�timings�cur�cmd�c_func_name�bias�time�process_timer �get_time�trace_dispatch_i�
dispatcher�len� TypeError�trace_dispatch�trace_dispatch_lr �t�
simulate_call)r r r$ r. �lengthr r r r
r � s2
�
zProfile.__init__c C s� | j }|� }|d |d | j | j }|dkr|j| _| j| | ||�r3|� }|d |d | _d S |� }|d |d | | _d S )Nr � �c_call�r r. r$ r r# �dispatch)r �frame�event�argr r. �rr r r
r, � s zProfile.trace_dispatchc C �V | j }|� | j | j }|dkr|j| _| j| | ||�r#|� | _d S |� | | _d S �Nr2 r3 �r r5 r6 r7 r r. r r r
r( � � zProfile.trace_dispatch_ic C sb | j }|� d | j | j }|dkr|j| _| j| | ||�r'|� d | _d S |� d | | _d S )Ng N@r2 r3 r; r r r
�trace_dispatch_mac� s zProfile.trace_dispatch_macc C r9 r: )r'