
                            S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r   SSKr SSKr SSKJr  SSKrSSKrS rS rS	 r\S
:X  a  \" 5         gg! \ a    Sr N6f = f! \ a    Sr N?f = f! \ a	    SrSrSr NBf = f)z'Module containing bug report helper(s).    )print_functionN   )__version__)	pyopensslc                  *   [         R                  " 5       n U S:X  a  [         R                  " 5       nOU S:X  a  [        R                  R
                  < S[        R                  R                  < S[        R                  R                  < 3n[        R                  R                  S:w  a+  SR                  U[        R                  R                  /5      nO:U S:X  a  [         R                  " 5       nOU S:X  a  [         R                  " 5       nOSnXS	.$ )
a  Return a dict with the Python implementation and version.

Provide both the name and the version of the Python implementation
currently running. For example, on CPython 2.7.5 it will return
{'name': 'CPython', 'version': '2.7.5'}.

This function works best on CPython and PyPy: in particular, it probably
doesn't work for Jython or IronPython. Future investigation should be done
to work out the correct shape of the code for those platforms.
CPythonPyPy.final Jython
IronPythonUnknown)nameversion)
platformpython_implementationpython_versionsyspypy_version_infomajorminormicroreleaseleveljoin)implementationimplementation_versions     (platform/bq/third_party/requests/help.py_implementationr   $   s     335N"!)!8!8!:	6	!/2/D/D/J/J/2/D/D/J/J/2/D/D/J/J"L   --8%'WW&(=(=(J(J. &" 
8	#!)!8!8!:	<	'!)!8!8!:!*"FF    c                      [         R                  " 5       [         R                  " 5       S.n [	        5       nS[
        R                  0nSS0nSS0n[        (       a  S[        R                  0n[        (       a  S[        R                  0nSSS.n[        (       a.  [        R                  S[        R                  R                  -  S.nS[        [        SS5      0nS[        [        SS5      0n[        R                  nSUb  SU-  OS0n	U UU	[         SL[        SL UUUUUUS["        0S	.$ ! [         a	    SSS.n  GNf = f)
z&Generate information for a bug report.)systemreleaser   r   Nr   )r   openssl_versionz%xr   )r   r   
system_sslusing_pyopensslusing_charset_normalizer	pyOpenSSLurllib3chardetcharset_normalizercryptographyidnarequests)r   r"   r#   IOErrorr   r)   r   r+   r*   OpenSSLSSLOPENSSL_VERSION_NUMBERgetattrr,   r-   sslr   requests_version)
platform_infoimplementation_infourllib3_infocharset_normalizer_infochardet_infopyopenssl_infocryptography_info	idna_infor%   system_ssl_infos
             r   infor?   E   sm   	
oo''')
 *+w223L($/t$L#,.@.L.L"Mw!7#6#67 N w**#gkk&H&HH

 	7<; 	743I ++J
(>4*$BO
 "-%$D0$+tO#5)'
 I  
 

s   +D, ,D?>D?c                  R    [        [        R                  " [        5       SSS95        g)z)Pretty-print the bug information as JSON.T   )	sort_keysindentN)printjsondumpsr?    r    r   mainrH      s    	$**TVtA
67r    __main__)__doc__
__future__r   rE   r   r   r4   r-   r)   r   r   r5   r+   ImportErrorr*   urllib3.contribr   r0   r,   r   r?   rH   __name__rG   r    r   <module>rO      s    - %   
 
   -) GB:z8
 zF m  
  G
  IGLs3   A A& A4 A#"A#&A10A14BB