
    f                     >    d Z ddlZddlZddlZddZddZ e       Zy)z+
Utilities for dealing with text encodings
    Nc                 N    t        | d      r| j                  s|S | j                  S )a)  Return the given stream's encoding or a default.

    There are cases where ``sys.std*`` might not actually be a stream, so
    check for the encoding attribute prior to returning it, and return
    a default if it doesn't exist or evaluates as False. ``default``
    is None if not provided.
    encoding)hasattrr   )streamdefaults     Q/var/www/cvtools/html/venv/lib/python3.12/site-packages/IPython/utils/encoding.pyget_stream_encr	      s#     6:&foo    c                    d}| rt        t        j                        }|r|dk(  r	 t        j                         }|xs t        j                         }|dk(  rt        j                  dt               y|S # t
        $ r Y Ew xY w)a  Return IPython's guess for the default encoding for bytes as text.

    If prefer_stream is True (default), asks for stdin.encoding first,
    to match the calling Terminal, but that is often None for subprocesses.

    Then fall back on locale.getpreferredencoding(),
    which should be a sensible platform default (that respects LANG environment),
    and finally to sys.getdefaultencoding() which is the most conservative option,
    and usually UTF8 as of Python 3.
    Nasciicp0zInvalid code page cp0 detected - using cp1252 instead.If cp1252 is incorrect please ensure a valid code page is defined for the process.cp1252)
r	   sysstdinlocalegetpreferredencoding	ExceptiongetdefaultencodingwarningswarnRuntimeWarning)prefer_streamencs     r   r   r   &   s     CSYY'#w,	 --/C 
)'')C e|*+9	; J  		s   A4 4	B ?B )N)T)__doc__r   r   r   r	   r   DEFAULT_ENCODING r
   r   <module>r      s+      "B &' r
   