o
    H(ÿY„  ã                   @   sœ  d Z ddlZddlmZ zddlmZ W n ey#   ddlmZ Y nw zddlZ	W n ey7   ddl	Z	Y nw ze
ZW n eyG   eZY nw zeZW n eyW   eZY nw zddlZW n eyk   ddlZY nw zeZW n ey{   eZY nw zddlmZ W n ey“   ddlmZ Y nw zi j W n eyª   dd„ Zdd	„ ZY n	w d
d„ Zdd	„ Zzeg ƒj W n eyÇ   dd„ ZY nw dd„ ZejrÜdd„ Z dd„ Z!dd„ Z"ndd„ Z dd„ Z!dd„ Z"zej#d Z$W n e%yý   ej#d Z$Y nw zddl&Z&ddl'Z&dZ(W n e�y   dZ&Y nw ze&j)j*Z+W n e,�y-   ddl(Z(dZ+Y nw ze&j)j-Z.W n e�yB   e( /¡ Z.Y nw dd„ Z0ddd„Z1dS )z:Add things to old Pythons so I can pretend they are newer.é    N)Úenv)ÚStringIO)Úquotec                 C   ó   |   ¡ S ©z Produce the items from dict `d`.©Úitems©Úd© r   úC/var/www/html/env/lib/python3.10/site-packages/coverage/backward.pyÚiitemsD   ó   r   c                 C   s   t |  ¡ ƒS ©z%Return a list of items from dict `d`.)Úlistr   r	   r   r   r   ÚlitemsH   s   r   c                 C   r   r   )Ú	iteritemsr	   r   r   r   r   M   r   c                 C   r   r   r   r	   r   r   r   r   Q   r   c                 C   ó
   t | ƒjS ©z1Get the `next` function for iterating over `seq`.)ÚiterÚ__next__©Úseqr   r   r   ÚiternextY   ó   
r   c                 C   r   r   )r   Únextr   r   r   r   r   ]   r   c                 C   s
   |   d¡S )zConvert string `s` to bytes.Úutf8)Úencode©Úsr   r   r   Úto_bytesd   r   r    c                 C   s   t | ƒS )ú7Produce a byte string with the ints from `byte_values`.)Úbytes©Úbyte_valuesr   r   r   Úbinary_bytesh   r   r%   c                 C   ó   | S )ú,Turn a bytes object into a sequence of ints.r   )Úbytes_valuer   r   r   Úbytes_to_intsl   s   r)   c                 C   r&   )z+Convert string `s` to bytes (no-op in 2.x).r   r   r   r   r   r    r   s   c                 C   s   d  dd„ | D ƒ¡S )r!   Ú c                 s   s   � | ]}t |ƒV  qd S ©N)Úchr)Ú.0Úbr   r   r   Ú	<genexpr>x   s   € zbinary_bytes.<locals>.<genexpr>)Újoinr#   r   r   r   r%   v   s   c                 c   s   � | D ]}t |ƒV  qdS )r'   N)Úord)r(   Úbyter   r   r   r)   z   s   €ÿÚ__builtin__Úbuiltinsc                   C   s"   t rtt dƒrt  ¡  dS dS dS )z7Invalidate any import caches that may or may not exist.Úinvalidate_cachesN)Ú	importlibÚhasattrr5   r   r   r   r   Úinvalidate_import_cachesž   s   ÿr8   c                 C   s¬   zddl m} W n ty   d}Y nw |du r| d }|r'|| |ƒ ¡ }|S t ¡ D ]
}|d dkr5 nq+t|dƒ�}t | |||¡}W d  ƒ |S 1 sOw   Y  |S )zìImport a local file as a module.

    Opens a file in the current directory named `modname`.py, imports it
    as `modname`, and returns the module object.  `modfile` is the file to
    import if it isn't in the current directory.

    r   )ÚSourceFileLoaderNz.pyÚr)Úimportlib.machineryr9   ÚImportErrorÚload_moduleÚimpÚget_suffixesÚopen)ÚmodnameÚmodfiler9   ÚmodÚsuffÚfr   r   r   Úimport_local_file¤   s(   ÿ
øÿ
þürF   r+   )2Ú__doc__ÚsysÚcoverager   Ú	cStringIOr   r<   ÚioÚConfigParserÚconfigparserÚ
basestringÚstring_classÚ	NameErrorÚstrÚunicodeÚunicode_classÚcPickleÚpickleÚxrangeÚrangeÚshlexr   Úshlex_quoteÚpipesr   ÚAttributeErrorr   r   r   r   r   ÚPY3r    r%   r)   ÚmodulesÚBUILTINSÚKeyErrorr6   Úimportlib.utilr>   ÚutilÚ	find_specÚimportlib_util_find_specÚ	ExceptionÚMAGIC_NUMBERÚPYC_MAGIC_NUMBERÚ	get_magicr8   rF   r   r   r   r   Ú<module>   s¨   ÿÿÿÿÿÿý
úÿ
þÿþÿ