o
    >�Ò]I  ã                   @   sD  d Z ddlZddlZddlZz
ddlmZmZ W n ey)   ddlmZmZ Y nw ej	d dkZ
e
rceZddlmZ ddlmZ ddlmZmZmZmZmZ ddlmZmZ efZefZe d	¡Zn9dd
l m!Z ddlm"Z ddl#mZmZmZmZ ddl$mZmZ ddl%Z%dd„ Ze&Zee'fZe d¡Zddl(mZ dd„ Z)dS )zK
Python 2/3 compatibility helpers.

Note: This module is *not* public API.
é    N)ÚMutableMappingÚSequenceé   )Ú	lru_cache)ÚStringIO)ÚunquoteÚurljoinÚ
urlunsplitÚSplitResultÚurlsplit)Úpathname2urlÚurlopenÚitems)Úizip)ÚBytesIO)r   r	   r
   r   )r   r   c                  O   s   t  tj| i |¤Ž¡S )N)Ú
contextlibÚclosingÚurllib2r   )ÚargsÚkwargs© r   ú3/usr/lib/python3/dist-packages/jsonschema/compat.pyr   #   s   r   Ú	iteritemsc                 C   sD   d| v rt | ƒ\}}}}}t||||dfƒ}||fS | }d}||fS )Nú#Ú )r   r	   )ÚurlÚsÚnÚpÚqÚfragÚdefragr   r   r   Ú	urldefrag-   s   þr"   )*Ú__doc__r   ÚoperatorÚsysÚcollections.abcr   r   ÚImportErrorÚcollectionsÚversion_infoÚPY3ÚzipÚ	functoolsr   Úior   ÚNativeIOÚurllib.parser   r   r	   r
   r   Úurllib.requestr   r   ÚstrÚ	str_typesÚintÚ	int_typesÚmethodcallerr   Ú	itertoolsr   r   ÚurlparseÚurllibr   Ú
basestringÚlongÚfunctools32r"   r   r   r   r   Ú<module>   s<    ÿ
