
    R                     `   d Z ddlZddlZddlmZ 	 ddlmZ 	 ddl	mZ
 d Zd Z	  eej                  e
e       	 	 ddlZ eed	d
      s%ddlmZ  ej*                          ddlmZ  ee       ddlmZ  ej4                  de       ddlmZmZmZmZ ddlmZmZm Z m!Z! ddlm"Z"m#Z# ddl$m%Z% ddl$m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8 ddlm9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB ddlCZCddlCmDZD  eCj                  eF      j                   eD               ej4                  de?d       y# e$ r dZY 0w xY w# e$ r dZ
Y 7w xY w# eef$ r2  ej                  dj!                  ej                  e
e      e       Y Xw xY w# e$ r dZY `w xY w# e$ r Y =w xY w)a  
Requests HTTP Library
~~~~~~~~~~~~~~~~~~~~~

Requests is an HTTP library, written in Python, for human beings.
Basic GET usage:

   >>> import requests
   >>> r = requests.get('https://www.python.org')
   >>> r.status_code
   200
   >>> b'Python is a programming language' in r.content
   True

... or POST:

   >>> payload = dict(key1='value1', key2='value2')
   >>> r = requests.post('https://httpbin.org/post', data=payload)
   >>> print(r.text)
   {
     ...
     "form": {
       "key1": "value1",
       "key2": "value2"
     },
     ...
   }

The other HTTP methods are supported - see `requests.api`. Full documentation
is at <https://requests.readthedocs.io>.

:copyright: (c) 2017 by Kenneth Reitz.
:license: Apache 2.0, see LICENSE for more details.
    N   )RequestsDependencyWarning)__version__c                 @   | j                  d      } | dgk7  sJ t        |       dk(  r| j                  d       | \  }}}t        |      t        |      t        |      }}}|dk(  sJ |dk\  sJ |dk  sJ |rN |j                   d      d d \  }}}t        |      t        |      t        |      }}}d	|||fcxk  rd
k  sJ  J y |rN |j                   d      d d \  }}}t        |      t        |      t        |      }}}d|||fcxk  rdk  sJ  J y t	        d      )N.dev   0r            )r   r   r	   )   r   r   )r	   r   r   )r   r   r   z7You need either charset_normalizer or chardet installed)splitlenappendint	Exception)urllib3_versionchardet_versioncharset_normalizer_versionmajorminorpatchs         ,platform/bq/third_party/requests/__init__.pycheck_compatibilityr   :   sQ   %++C0Oug%%% ?q s# *E5%e*c%j#e*%5EA::B;;B;; 3o33C8!<ue!%j#e*c%jeuUE51=I=====	#>8>>sCBQGue!%j#e*c%jeuUE51=I=====QRR    c                     	 t        t        t         | j                  d                  } | g dk  r,dj                  |       }t        j                  |t               y y # t        $ r Y y w xY w)Nr   )r   r      z4Old version of cryptography ({}) may cause slowdown.)	listmapr   r   
ValueErrorformatwarningswarnr   )cryptography_versionwarnings     r   _check_cryptographyr'   X   sk    #C-G-A-G-G-L$MN i'HOOPdeg89 (  s   )A 	A+*A+zWurllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported version!HAS_SNIF)	pyopenssl)DependencyWarningignore)	__title____description____url__r   )	__build__
__author____author_email____license__)__copyright____cake__)utils)packages)RequestResponsePreparedRequest)requestgetheadpostr   putdeleteoptions)sessionSession)codes)
RequestExceptionTimeoutURLRequiredTooManyRedirects	HTTPErrorConnectionErrorFileModeWarningConnectTimeoutReadTimeoutJSONDecodeError)NullHandlerdefaultT)r   )H__doc__urllib3r#   
exceptionsr   charset_normalizerr   r   ImportErrorchardetr   r   r'   AssertionErrorr!   r$   r"   sslgetattrurllib3.contribr)   inject_into_urllib3cryptographyr%   urllib3.exceptionsr*   simplefilterr,   r-   r.   r/   r0   r1   r2   r3   r4    r5   r6   modelsr7   r8   r9   apir:   r;   r<   r=   r   r>   r?   r@   sessionsrA   rB   status_codesrC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   loggingrN   	getLogger__name__
addHandler r   r   <module>rh      s  !F   1&L6S<	:-++_>XY	 3	5)-%	%%' 	E01
 1   h 1 2 I I M M 0   6 6 F F F &        (  & &{} 5   i >O  &!%&
  O^ 	
# -HMM #VG$7$7Jde+--    		sb   D> E E F  /F$ >E	E	EE5FFF!F$  F!!F$ $F-,F-