Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.10/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.10/idlelib/__pycache__/multicall.cpython-310.pyc
o

�9j�H�@sdZddlZddlZddlZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZd
ZdZdZdZ ej!dkrVdZ"eeee fZ#ndZ"eeeefZ#e$dd �e%e&e"��D��Z'd!Z(Gd"d#�d#�Z)e%de&e"�>�Z*d$d �e*D�Z+d%d&�Z,e,e*�Z-gZ.e*D]Z/dZ0e%e&e"��D]Z1de1>e/@r�e0e#e1OZ0q�e.�2e0�q�Gd'd(�d(�Z3d)Z4e3fde)fe&e4�dZ5e$d*d �e%e&e4��D��Z6e�7d+�Z8e�7d,�Z9d-d.�Z:d/d0�Z;iZ<d1d2�Z=d3d4�Z>e?d5k�rdd6l@mAZAeAd7dd8d9�dd:lBmCZCeCe>�dSdS);a�
MultiCall - a class which inherits its methods from a Tkinter widget (Text, for
example), but enables multiple calls of functions per virtual event - all
matching events will be called, not only the most specific one. This is done
by wrapping the event functions - event_add, event_delete and event_info.
MultiCall recognizes only a subset of legal event sequences. Sequences which
are not recognized are treated by the original Tk handling mechanism. A
more-specific event will be called before a less-specific event.

The recognized sequences are complete one-event sequences (no emacs-style
Ctrl-X Ctrl-C, no shortcuts like <3>), for all types of events.
Key/Button Press/Release events can have modifiers.
The recognized modifiers are Shift, Control, Option and Command for Mac, and
Control, Alt, Shift, Meta/M for other platforms.

For all events which were handled by MultiCall, a new member is added to the
event instance passed to the binded functions - mc_type. This is one of the
event type constants defined in this module (such as MC_KEYPRESS).
For Key/Button events (which are handled by MultiCall and may receive
modifiers), another member is added - mc_state. This member gives the state
of the recognized modifiers, as a combination of the modifier constants
also defined in this module (for example, MC_SHIFT).
Using these members is absolutely portable.

The order by which events are called is defined by these rules:
1. A more-specific event will be called before a less-specific event.
2. A recently-binded event will be called before a previously-binded event,
   unless this conflicts with the first rule.
Each function will be called at most once for each event.
�N���������	�
���
���������� �@��darwin)��Shift��Control)�Option)�Command)r)�Altr)�Meta�McC�"g|]
}t|D]}||f�qqS�)�
_modifiers��.0�number�namer&r&�(/usr/lib/python3.10/idlelib/multicall.py�
<listcomp>7���r-zapplication has been destroyedc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
_SimpleBindercCs8||_dt|dd|_||_||_g|_d|_dS)N�<r�>)�type�_types�sequence�widget�
widgetinst�bindedfuncs�	handlerid)�selfr2r5r6r&r&r,�__init__Js
z_SimpleBinder.__init__cCs>|js|j|jfdd�}|j�|j|j|�|_|j�|�dS)NcSsT||_i}tt|�ddd�D]}||}||vr'd||<||�}|r'|SqdS)Nr���T)�mc_type�range�len)�event�lr<�	wascalled�i�func�rr&r&r,�handlerTs��z#_SimpleBinder.bind.<locals>.handler)r8r7r2r5�bindr6r4�append)r9�tripletrCrEr&r&r,rFRs

�z_SimpleBinder.bindcCs6|j�|�|js|j�|j|j|j�d|_dSdS�N)r7�remover5�unbindr6r4r8)r9rHrCr&r&r,rKbs

�z_SimpleBinder.unbindc
Cs`|jr.z|j�|j|j|j�WdStjy-}zt|jdvr"�WYd}~dSd}~wwdS�Nr)	r8r5rKr6r4�tkinter�TclError�APPLICATION_GONE�args)r9�er&r&r,�__del__hs
�����z_SimpleBinder.__del__N)�__name__�
__module__�__qualname__r:rFrKrRr&r&r&r,r/Is
r/cs(g|]�d��fdd�tt�D���qS)�c3s,�|]\}}d|>�@r|ddVqdS)rr�-Nr&)r)rB�m��sr&r,�	<genexpr>ws
�
�z<listcomp>.<genexpr>)�join�	enumerater')r)r&rYr,r-ws
��csLdd�}g}|D]�tt�fdd�|D���}|j|dd�|�|�q|S)z�For each item of states return a list containing all combinations of
    that item with individual bits reset, sorted by the number of set bits.
    cSs&d}|rt|d�\}}||7}|s|S)znumber of bits set in n base 2rr)�divmod)�n�nb�remr&r&r,�nbits�s�zexpand_substates.<locals>.nbitsc3s�|]}�|@VqdSrIr&)r)�x��stater&r,r[�s�z#expand_substates.<locals>.<genexpr>T)�key�reverse)�list�set�sortrG)�statesrb�	statelist�	substatesr&rdr,�expand_substates|srnc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�_ComplexBindercCs||||j|jfdd�}|S)NcSs�dg|dd�<||_||_i}d}|D])}tt|�ddd�D]}	||	}
|
|vr7d||
<||	|�}|r7nq|r<nqg|dd�<|D]}|�qEg|dd�<|rU|SdS)NTrr;)r<�mc_stater=r>)r?�listsr<rp�ishandlerrunning�doafterhandlerrArDr@rBrC�fr&r&r,rE�s0���z0_ComplexBinder.__create_handler.<locals>.handler)rrrs)r9rqr<rprEr&r&r,�__create_handler�s
�z_ComplexBinder.__create_handlerc	s�|�_t|d�_|�_|�_ddd�tD�i�_g�_g�_g�_	tD]0}�fdd�t
|D�}��||t|�}dt
|�jd}�j�|�j��j||�f�q%dS)NrcS�g|]}g�qSr&r&�r)rZr&r&r,r-��z+_ComplexBinder.__init__.<locals>.<listcomp>csg|]	}�jd|�qSrI)r7�r)rB�r9r&r,r-�sr0r1)r2r3�typenamer5r6�_statesr7�
handleridsrrrs�_state_subsets�_ComplexBinder__create_handler�_state_codes�_state_namesrGrF)r9r2r5r6rZrqrE�seqr&rzr,r:�s 
��z_ComplexBinder.__init__c	s��d�jvrKdd�tD��j�d<tD]5���fdd��ddfD�}��|�jt��}dt��j�df}�j�|�j	�
�j||�f�q���fdd�}�js[|�dS�j
�|�dS)NrcSrvr&r&rwr&r&r,r-�rxz'_ComplexBinder.bind.<locals>.<listcomp>cs(g|]}t�D]	}�j||�qqSr&)r~r7)r)�detailrB)rZr9r&r,r-�s��z	<%s%s-%s>c��j�d�d���S�Nrr)r7rGr&�rCr9rHr&r,�<lambda>��z%_ComplexBinder.bind.<locals>.<lambda>)r7r|rr2r�r�r{r}rGr5rFr6rrrs)r9rHrCrqrEr��doitr&)rCrZr9rHr,rF�s"
�
�
�
z_ComplexBinder.bindcs0���fdd�}�js|�dS�j�|�dS)Ncr�r�)r7rJr&r�r&r,r��r�z'_ComplexBinder.unbind.<locals>.<lambda>)rrrsrG)r9rHrCr�r&r�r,rK�s
z_ComplexBinder.unbindcCs`|jD]*\}}z|j�|j||�Wqtjy-}zt|jdvr#�WYd}~qd}~wwdSrL)r}r5rKr6rMrNrOrP)r9r��idrQr&r&r,rR�s����z_ComplexBinder.__del__N)rSrTrUrr:rFrKrRr&r&r&r,ro�sro))�KeyPress�Key)�
KeyRelease)�ButtonPress�Button)�
ButtonRelease)�Activate)�	Circulate)�Colormap)�	Configure)�
Deactivate)�Destroy)�Enter)�Expose)�FocusIn)�FocusOut)�Gravity)�Leave)�Map)�Motion)�
MouseWheel)�Property)�Reparent)�Unmap)�
VisibilitycCr%r&)r3r(r&r&r,r-r.z^\w+$z^[1-5]$cCs|r|ddks|ddkrdS|dd��d�}d}|r8|dtvr8|dt|d>O}|d=|r8|dtvs#|rJ|dtvrJt|d}|d=ndSt|tur[|sV|rXdSd}n'|dd	�d
D�vrgt}nt}|snd}nt|�dkr�|�|d�r�|d}ndS|||fS)a-Get a string which should describe an event sequence. If it is
    successfully parsed as one, return a tuple containing the state (as an int),
    the event type (as an index of _types), and the detail - None if none, or a
    string if there is one. If the parsing is unsuccessful, return None.
    rr0r;r1NrrWcSsg|]}t|�qSr&)�_type_namesrwr&r&r,r-$sz#_parse_sequence.<locals>.<listcomp>)r�r�)	�split�_modifier_namesr��_binder_classesr/�
_keysym_re�
_button_rer>�match)r4�words�	modifiersr2r��type_rer&r&r,�_parse_sequences2�

r�cCs\|drdt|dt|ddd|ddSdt|dt|dddS)Nrr0rrrWr1)r�r3)rHr&r&r,�_triplet_to_sequence2s"��$r�cs0�tvrt�SG�fdd�d��}|t�<|S)z�Return a MultiCall class which inherits its methods from the
    given widget class (for example, Tkinter.Text). This is used
    instead of a templating mechanism.
    csreZdZe�ej�sJ��fdd�Zd�fdd�	Zd�fdd�	Z�fdd	�Z	�fd
d�Z
d�fdd
�	Zdd�ZdS)z#MultiCallCreator.<locals>.MultiCallcs@�j�g|�Ri|��i�_��fdd�ttt��D��_dS)Ncsg|]
}t||����qSr&)r�ry)r9r5r&r,r-Ks�z@MultiCallCreator.<locals>.MultiCall.__init__.<locals>.<listcomp>)r:�_MultiCall__eventinfor=r>r3�_MultiCall__binders)r9rP�kwargs�r5rzr,r:Es

�z,MultiCallCreator.<locals>.MultiCall.__init__Ncs�t|�turdt|�dkrd|dd�dkrd|dd�dkrd||jvr]|j|}|ddur@|dD]}|j|d�||d�q0||d<|ddur\|dD]
}|j|d�||�qNn|gg|j|<��||||�S)Nr�<<����>>rr)r2�strr>r�r�rKrF)r9r4rC�add�eirHr�r&r,rFNs 

�z(MultiCallCreator.<locals>.MultiCall.bindcs�t|�turCt|�dkrC|dd�dkrC|dd�dkrC||jvrC|j|\}}|durC|D]
}|j|d�||�q.d|j|d<��|||�S)Nrr�r�r�rr)r2r�r>r�r�rK)r9r4�funcidrC�tripletsrHr�r&r,rK`s 
z*MultiCallCreator.<locals>.MultiCall.unbindcs|||jvrdgg|j|<|j|\}}|D]&}t|�}|dur'��|||�q|dur6|j|d�||�|�|�qdS�Nr)r�r��	event_addr�rFrG�r9�virtual�	sequencesrCr�r�rHr�r&r,r�ks
�z-MultiCallCreator.<locals>.MultiCall.event_addcsr||jvrdS|j|\}}|D]&}t|�}|dur"��|||�q|dur1|j|d�||�|�|�qdSr�)r�r��event_deleter�rKrJr�r�r&r,r�|s
�z0MultiCallCreator.<locals>.MultiCall.event_deletecsB|dus	||jvr��||�Sttt|j|d����||�Sr�)r��
event_info�tuple�mapr�)r9r�r�r&r,r��s�
�z.MultiCallCreator.<locals>.MultiCall.event_infocSs||jD]8}|j|\}}|r;|D]*}z
|j|d�||�Wqtjy:}zt|jdvr0�WYd}~qd}~wwqdS)Nrr)r�r�rKrMrNrOrP)r9r�rCr�rHrQr&r&r,rR�s
�����z+MultiCallCreator.<locals>.MultiCall.__del__)NNNrI)
rSrTrU�
issubclassrM�Miscr:rFrKr�r�r�rRr&r�r&r,�	MultiCallBs	r�)�_multicall_dict)r5r�r&r�r,�MultiCallCreator:s
[r�cs�t�|�}|�d�tt|���d�dd��\}}|�d||df�ttj�|����	�dgf�fdd�	}|d	�|d
�|d�|d�|d
�|d�|d�|d�|d�|d�|d�|d�dS)NzTest MultiCall�+rz+%d+%d�rcsH�fdd�}��d|d|���d|d��|dd7<dS)Ncst��dSrI)�print)r?�r�r&r,rE�sz-_multi_call.<locals>.bindseq.<locals>.handlerz
<<handler%d>>rr)rFr�)r�r_rE��textr�r,�bindseq�sz_multi_call.<locals>.bindseqz<Key>z
<Control-Key>z<Alt-Key-a>z<Control-Key-a>z<Alt-Control-Key-a>z<Key-b>z<Control-Button-1>z
<Button-2>z<Alt-Button-1>z
<FocusOut>z<Enter>z<Leave>)
rM�Toplevel�titler��int�geometryr�r��Text�pack)�parent�toprc�yr�r&r�r,�_multi_call�s&

 r��__main__)�mainzidlelib.idle_test.test_mainmenuF)�	verbosity�exit)�run)D�__doc__�re�sysrM�MC_KEYPRESS�
MC_KEYRELEASE�MC_BUTTONPRESS�MC_BUTTONRELEASE�MC_ACTIVATE�MC_CIRCULATE�MC_COLORMAP�MC_CONFIGURE�
MC_DEACTIVATE�
MC_DESTROY�MC_ENTER�	MC_EXPOSE�
MC_FOCUSIN�MC_FOCUSOUT�
MC_GRAVITY�MC_LEAVE�MC_MAP�	MC_MOTION�
MC_MOUSEWHEEL�MC_PROPERTY�MC_REPARENT�MC_UNMAP�
MC_VISIBILITY�MC_SHIFT�
MC_CONTROL�MC_ALT�MC_META�	MC_OPTION�
MC_COMMAND�platformr'�_modifier_masks�dictr=r>r�rOr/r|r�rnr~r�rZrDrBrGror3r�r��compiler�r�r�r�r�r�r�rS�unittestr��idlelib.idle_test.htestr�r&r&r&r,�<module>sl

�
-��_

�

'g
�

Youez - 2016 - github.com/yon3zu
LinuXploit