o
    œ©ZhN  ã                   @   sT   d dl Z d dlZd dlmZmZmZ d dlmZ dada	dd„ Z
dd„ Zd	d
„ ZdS )é    N)ÚQtCoreÚQtGuiÚenum_helper)Úget_ipythonFc                 C   s"   t | dƒr|  ¡  d S |  ¡  d S )NÚexec)Úhasattrr   Úexec_)Úobj© r
   úX/var/www/html/lang_env/lib/python3.10/site-packages/IPython/terminal/pt_inputhooks/qt.pyÚ_exec   s   "r   c                  C   s   t ƒ } | d ur| jt_d S d S ©N)r   Ú
excepthookÚsys)Úshellr
   r
   r   Ú_reclaim_excepthook   s   ÿr   c              	      s‚  t j ¡ }|s_tjdkr'tj d¡s'tj d¡s'dd l}t	s%da	| 
d¡ d S z
t j t jj¡ W n	 ty:   Y nw zt j t jjj¡ W n	 tyO   Y nw t dg¡ a}t j dt¡ t  |¡‰ tjdkrŠt  ¡ }|j ˆ j¡ |  ¡ s‰| d	¡ tˆ ƒ | ¡  |  ¡ rxn0t   |  !¡ t"d
ƒj#¡}z|j$ ‡ fdd„¡ | %d¡ |  ¡ s­tˆ ƒ W | %d¡ n| %d¡ w ˆ  &d ¡ d S )NÚlinuxZDISPLAYZWAYLAND_DISPLAYr   TzˆThe DISPLAY or WAYLAND_DISPLAY environment variable is not set or empty and Qt5 requires this environment variable. Deactivate Qt5 code.ú Úwin32é2   zQtCore.QSocketNotifier.Typec                      s   ˆ   ¡ S r   )Úexitr
   ©Z
event_loopr
   r   Ú<lambda>P   s    zinputhook.<locals>.<lambda>F)'r   ZQCoreApplicationÚinstancer   ÚplatformÚosÚenvironÚgetÚwarningsÚ_already_warnedÚwarnZQApplicationZsetAttributeZQtZAA_EnableHighDpiScalingÚAttributeErrorZ#setHighDpiScaleFactorRoundingPolicyZ HighDpiScaleFactorRoundingPolicyZPassThroughr   Ú_apprefZQTimerZ
singleShotr   Z
QEventLoopÚtimeoutÚconnectÚquitZinput_is_readyÚstartr   ÚstopZQSocketNotifierÚfilenor   ZReadZ	activatedZ
setEnabledZ	setParent)ÚcontextZappr   ÚtimerZnotifierr
   r   r   Ú	inputhook   s`   


ÿÿÿÿÿ


ü€ÿ
€r+   )r   r   ZIPython.external.qt_for_kernelr   r   r   ZIPythonr   r"   r   r   r   r+   r
   r
   r
   r   Ú<module>   s    