�
"T�eW � �\ � d dl mZmZmZmZ d dlmZ erd dlmZ dZ dede
fd�Zdedd fd
�Z
y)� )�Any�cast�Set�
TYPE_CHECKING)�isclass��RenderableType�-aihwerij235234ljsdnp34ksodfipwoe234234jlskjdf�check_object�returnc �Z � t | t � xs t | d� xs t | d� S )z+Check if an object may be rendered by Rich.�__rich__�__rich_console__)�
isinstance�str�hasattr)r s �//usr/lib/python3/dist-packages/rich/protocol.py�
is_renderabler
s2 � � �<��%� 5��<��,� 5��<�!3�4�� �
renderabler c �6 � ddl m} t � }t | d� rrt | � sgt | t
� rt
| � S t | d� } |� } t | � }||v rn)|j |� t | d� rt | � s�gt || � S )z�Cast an object to a renderable by calling __rich__ if present.
Args:
renderable (object): A potentially renderable object
Returns:
object: The result of recursively calling __rich__.
r r r )�rich.consoler �setr r �
_GIBBERISH�repr�getattr�type�addr )r r �rich_visited_set�cast_method�renderable_types r � rich_castr" |