
    ^h5                     B    S r SSKrSSKrSSKrSS jrSS jr\" 5       rg)z+
Utilities for dealing with text encodings
    Nc                 b    [        U S5      (       a  U R                  (       d  U$ U R                  $ )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     S/home/james-whalen/.local/lib/python3.13/site-packages/ipython_genutils/encoding.pyget_stream_encr	      s&     6:&&foo    c                 0   SnU (       a  [        [        R                  5      nU(       a  US:X  a   [        R                  " 5       nU=(       d    [        R                  " 5       nUS:X  a  [        R                  " S[        5        gU$ ! [
         a     NNf = f)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 ASCII on Python 2 or UTF8 on 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   B 
BB)N)T)__doc__r   r   r   r	   r   DEFAULT_ENCODING r
   r   <module>r      s+      "B &' r
   