§
    �Ÿjl  ã                   óv   — d Z ddlZddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ d	„ ad
„ Zd„ Zd„ ZdS )a  Global IPython app to support test running.

We must start our own ipython object and heavily muck with it so that all the
modifications IPython makes to system behavior don't send the doctest machinery
into a fit.  This code should be considered a gross hack, but it gets the job
done.
é    N)ÚPathé   )Útools)Úpage)Úio)ÚTerminalInteractiveShellc                  ó   — t          ¦   «         S )N)Ústart_ipython© ó    úh/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/IPython/testing/globalipapp.pyÚget_ipythonr      s   € å‰?Œ?Ðr   c                 óÊ   — t          |                      |dd¬¦  «                             ¦   «         dt          j        ¬¦  «         t          j                             ¦   «          dS )zFReplace the default system call with a capturing one for doctest.
    Fr   )ÚsplitÚdepthÚ )ÚendÚfileN)ÚprintÚ	getoutputÚrstripÚsysÚstdoutÚflush)ÚselfÚcmds     r   Úxsysr   "   sS   € õ
 
ˆ$�.Š.˜ E°ˆ.Ñ
3Ô
3×
:Ò
:Ñ
<Ô
<À"Í3Ì:ÐVÑVÔVÐVÝ„J×ÒÑÔÐÐÐr   c                 ól   — t          | j                             |¦  «        t          j        ¬¦  «         dS )zDPrint the traceback purely on stdout for doctest to capture it.
    )r   N)r   ÚInteractiveTBÚstb2textr   r   )r   ÚetypeÚevalueÚstbs       r   Ú_showtracebackr$   +   s0   € õ 
ˆ$Ô
×
%Ò
% cÑ
*Ô
*µ´Ð<Ñ<Ô<Ð<Ð<Ð<r   c                  ó0  — t          t          d¦  «        rdS dt          _        t          j        } t          j        }t          j                             d¦  «        }t          j	        ¦   «         }d|j
        _        t          j        |¬¦  «        }|j                             t          |j        j        ¦  «        ¦  «         |j                             ¦   «          t)          j        t,          |¦  «        |_        t)          j        t0          |¦  «        |_        |t          j        d<   | t          _        |t          _        |}|j        a|t4          _        |t4          _        t2          t4          _        dd„}t:          j        t:          _        |t:          _        |S )	zMStart a global IPython shell, which we need for IPython-specific syntax.
    Úalready_calledNTÚ__main__)Úconfigr   c                 óz   — t          | t          ¦  «        r|                      dd¦  «        } t          | ¦  «         d S )Nz
text/plainr   )Ú
isinstanceÚdictÚgetr   )ÚstrngÚstartÚscreen_linesÚ	pager_cmds       r   Únopagezstart_ipython.<locals>.nopagej   s6   € Ý�e�TÑ"Ô"ð 	/Ø—9’9˜\¨2Ñ.Ô.ˆ5Ýˆe‰Œˆˆˆr   )r   r   N) Úhasattrr
   r&   r   ÚdisplayhookÚ
excepthookÚmodulesr,   r   Údefault_configr   Úsimple_promptÚinstanceÚ	tempfilesÚappendr   ÚHistoryManagerÚ	hist_fileÚbuiltin_trapÚactivateÚtypesÚ
MethodTyper   Úsystemr$   r   Úbuiltin_modÚ_ipÚipr   Ú
pager_pageÚ	orig_page)Ú_displayhookÚ_excepthookÚ_mainr(   ÚshellrC   r1   s          r   r
   r
   1   sP  € õ �}Ð.Ñ/Ô/ð ØˆØ#'…MÔ õ ”?€LÝ”.€KÝŒK�OŠO˜JÑ'Ô'€Eõ Ô!Ñ#Ô#€FØ48€FÔ#Ô1õ %Ô-°Vð 0ñ 0ô 0€Eð 
„O×Ò�4 Ô 5Ô ?Ñ@Ô@ÑAÔAÐAð 
Ô×ÒÑ!Ô!Ð!õ
 Ô#¥D¨%Ñ0Ô0€E„Lå Ô+­N¸EÑBÔB€EÔð $…C„K�
ÑØ"…C„OØ …C„Nð
 €CØ”/€KØ…K„OØ…K„NÝ)…KÔðð ð ð õ
 ”_…D„NØ…D„Oà€Jr   )Ú__doc__ÚbuiltinsrB   r   r?   Úpathlibr   r   r   ÚIPython.corer   ÚIPython.utilsr   Ú!IPython.terminal.interactiveshellr   r   r   r$   r
   r   r   r   ú<module>rQ      sÔ   ððð ð Ð Ð Ð Ø 
€
€
€
Ø €€€à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ Fðð ð ðð ð ð=ð =ð =ðAð Að Að Að Ar   