L i *ddlmZddlZddlZddlmZmZmZmZm Z er(ddl m Z ddl m Z ejdk\rddlmZnddlmZGdd Ze dd d  dd Ze dd d  dd Z ddd  ddZy)) annotationsN) TYPE_CHECKINGAnyCallableLiteraloverload)PathLike)ReadableBuffer) )Selfc0eZdZdZddZddZd dZd dZy) _CatchDisplayz+Class to temporarily catch sys.displayhook.cd|_yNoutputselfs [/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/altair/utils/execeval.py__init__z_CatchDisplay.__init__s "& cFtj|_|t_|Sr)sys displayhookold_hookrs r __enter__z_CatchDisplay.__enter__s14  rc.|jt_y)NF)rrr)rtypevalue tracebacks r__exit__z_CatchDisplay.__exit__s--rc||_yrr)rrs r__call__z_CatchDisplay.__call__"s  rN)returnNone)r%r )r%Literal[False])rrr%r&)__name__ __module__ __qualname____doc__rrr"r$rrrrs5'  rr.)strictcyrr,code namespacefilenamer-s r eval_blockr3&srcyrr,r/s rr3r3.s rFcXtj|dd}|i}t}t|jdtj r|jdd|jdd}}n|jg}}|D]1}t tj|gg|d} t| |3|5|D]0}t tj|g|d} t| |2 ddd|r |j} | d| } t| | S|jS#1swY7xYw)z Execute a multi-line block of code in the given namespace. If the final statement in the code is an expression, return the result of the expression. If ``strict``, raise a ``TypeError`` when the return value would be ``None``. zexec)r2modeNsinglez"Expected a non-None value but got ) astparser isinstancebodyExprcompileModuler6 Interactiver TypeError) r0r1r2r-tree catch_displayto_execto_evalnodecompiledrmsgs rr3r36s) 99TG& 9D !OM$))B-*99Sb>499RS>99b"3::tfb1H6R Xy!" & &D'(H 9 %  &&%% >6vjACC. M###&&s 36D  D))..) r0 str | Anyr1dict[str, Any] | Noner2$str | ReadableBuffer | PathLike[Any]r-r'r% Any | None) r0rJr1rKr2rLr-z Literal[True]r%r)Nz) r0rJr1rKr2rLr-boolr%rM) __future__rr:rtypingrrrrrosr _typeshedr version_infor typing_extensionsrr3r,rrrUs(" BB( 7"*( (+58 !  $3      (+58   $3     (,5?,$  ,$ ,$$,$3,$  ,$  ,$r