
    qi}                        S r SSKrSSKr SSKr\R                  S:  r\R                  S:  rC\" \R                  " S5      5      r
\" \R                  " S5      5      r\R                  " 5       S:H  r\R                  " 5       r\S:H  r\S	:H  r\S
:H  r\S:H  r\R(                  " 5       r\R-                  S5      rSS jrSS jrSS jrS rS rg! \ a    SrSr Nf = f)zECompatibility code for using Cheroot with various versions of Python.    N)      )r   r   CIGITHUB_WORKFLOWPyPyWindowsLinuxDarwinSunOSppcc                 :    [        U 5        U R                  U5      $ )z8Return the native string as bytes in the given encoding.)assert_nativeencodenencodings     D/home/kali/flask_env/lib/python3.13/site-packages/cheroot/_compat.pyntobr   $   s    !88H    c                     [        U 5        U $ )z<Return the native string as Unicode with the given encoding.)r   r   s     r   ntour   +   s    !Hr   c                 $    U R                  U5      $ )z>Return the byte string as native string in the given encoding.)decode)br   s     r   btonr   2   s    88Hr   c                 p    [        U [        5      (       d!  [        S[        U 5      R                  -  5      eg)zlCheck whether the input is of native :py:class:`str` type.

Raises:
    TypeError: in case of failed check

zn must be a native str (got %s)N)
isinstancestr	TypeErrortype__name__)r   s    r   r   r   7   s1     a9DG<L<LLMM r   c                     [        U [        5      (       a  U R                  5       $ [        U [        5      (       a  U $ [	        S5      e)a2  Retrieve bytes out of the given input buffer.

:param mv: input :py:func:`buffer`
:type mv: memoryview or bytes

:return: unwrapped bytes
:rtype: bytes

:raises ValueError: if the input is not one of \
                    :py:class:`memoryview`/:py:func:`buffer` \
                    or :py:class:`bytes`
z8extract_bytes() only accepts bytes and memoryview/buffer)r   
memoryviewtobytesbytes
ValueError)mvs    r   extract_bytesr(   B   s?     "j!!zz|"e	
B r   )z
ISO-8859-1)__doc__osplatformsslOPENSSL_VERSION_INFOIS_ABOVE_OPENSSL31IS_ABOVE_OPENSSL10ImportErrorboolgetenvIS_CIIS_GITHUB_ACTIONS_WORKFLOWpython_implementationIS_PYPYsystemSYS_PLATFORM
IS_WINDOWSIS_LINUXIS_MACOS
IS_SOLARISmachinePLATFORM_ARCH
startswithIS_PPCr   r   r   r   r(    r   r   <module>rB      s   K 	 11F:11V; 	RYYt_!")),=">?  
(
(
*f
4  Y&
7"8#W$
  "		!	!%	(
Ni  s   #C 
CC