
    h
                        d Z ddlZej                  d   dk(  ZerKddlZddlmZ ddlZddlm	Z	m
Z
 ddlmZ d Zej                  ZeZd Zd Zd	 Zd
 ZddZddZd ZeZeZeZyddlZddlZddlm Z mZ ddl!mZ 	 ddl"mZ  e de$fi       Z	ejJ                  Zd Zd Zd Zd ZddZddZ e&d       e'Ze(Ze'Zee)fZy# e#$ r	 ddlmZ Y Kw xY w)z<Utility functions and definitions for python3 compatibility.    N   )ABCabstractmethod)BytesIOc                 *    t        t        |             S N)propertyr   )funcs    Q/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/bson/py3compat.pyabstractpropertyr      s    t,--    c                 2    t        j                  |       d   S )Nr   )codecslatin_1_encodess    r   br   #   s     $$Q'**r   c                 ,    t         j                  |       S r   )bytesfromhexhs    r   bytes_from_hexr   +   s    }}Qr   c                 4    t        | j                               S r   )iteritemsds    r   	iteritemsr   .   s    AGGIr   c                 4    t        | j                               S r   )r   valuesr   s    r   
itervaluesr"   1   s    AHHJr   c                 B     | t        |            j                  |      r   )strwith_tracebackexctypevaluetraces      r   reraiser*   4   s    c%j!0077r   c                 $    | j                  |      r   )r%   exc_instancer)   s     r   reraise_instancer.   7   s    ))%00r   c                     | S r    r   s    r   _unicoder1   :   s    r   )ABCMetar   )imap)StringIOr   c                     | S r   r0   r   s    r   r   r   O   s    r   c                 $    | j                  d      S )Nhex)decoder   s    r   r   r   S   s    xxr   c                 "    | j                         S r   )r   r   s    r   r   r   V   s    {{}r   c                 "    | j                         S r   )r"   r   s    r   r"   r"   Y   s    ||~r   c                 0    t        | t        |      |       y r   )_reraiser$   r&   s      r   r*   r*   \   s    #e*e,r   c                     t        | d |       y r   )r<   r,   s     r   r.   r.   _   s    tU+r   z=def _reraise(exc, value, trace):
    raise exc, value, trace
r   )*__doc__sysversion_infoPY3r   collections.abcabc_threadthreadr   r   ior   r4   r   maxsizeMAXSIZEmapr3   r   r   r   r"   r*   r.   r1   r$   	text_typestring_typeintinteger_typescollectionsr2   	itertools	cStringIOImportErrorobjectmaxintexecunicode
basestringlongr0   r   r   <module>rX      s	   C 
	qQ!'&. kkGD+  81 IKM-&& %&B
'CjjG-, 	 
  HKI$KMG  &%&s   =C CC