??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
 Udac@s~dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z yddlZWn ek rddljZnXddljjjjZddljjjjjZddljjjjjZddlm Z ddl!m"Z"ddl#m$Z$m%Z%m&Z&y#ddl'jZddl'm(Z(Wn-ek rddl)Zddl)m(Z(nXej*j+ej*_,y ddl-m.Z.m/Z/e0Z1Wne2k re3Z1nXyddl4Z4e0Z5Wne2k r%e3Z5nXy dd l4m6Z6m7Z7e0Z8Wnek r_e3Z8nXyHe3Z9ydd l:m;Z;Wn!ek rdd l<m;Z;nXe0Z=Wnmek re3Z=yBydd l:m>Z>Wn!ek rdd l<m>Z>nXe0Z9Wnek rnXnXe5r*e4j?Z@ne8 o4e5ryddlAZAddlBZAWnek rfnfXeAjCjDd ZEeAjFeEZGx>d dfD]0ZHyeGeHe4jIZ@PWneJk rnXqW[Gnidd6dd6ZKeLZMe0ZNyddl4mOZOmPZPWnEek rSyddlQmOZOmPZPWnek rOe3ZNnXnXyddlRZRe0ZSWnek re3ZSnXeN ryddlTmUZUeUZPWn'ek rdeVfdYZPnXdZWdZXdZYdZOe0ZNndZZde2fdYZ[de[fdYZ\d e[fd!YZ]d"e]fd#YZ^e_Z`e_Zae_Zbe_Zceded$oeded%rd&ejefd'YZ`d(ejffd)YZad*ejffd+YZbe d,Zgd-ejefd.YZcnd/ejhfd0YZid1ejjfd2YZkd3elfd4YZmd5Znd6ejofd7YZpe_e0e_d8Zqe_d9Zrd:Zsd;ejtfd<YZue_d=Zvd>d?Zwd@fdAYZoe_e_e_e0e3e_dBe0e_e_e_e3dCe_e_e_e3e_e_e_dDZxdEZydFZze_e_e_e0e3e_dBe3e_e_e_dG Z{e_e_e_e0e3e_dBdHZ|dS(Is The **urls** utils module offers a replacement for the urllib2 python library. urllib2 is the python stdlib way to retrieve files from the Internet but it lacks some security features (around verifying SSL certificates) that users should care about in most situations. Using the functions in this module corrects deficiencies in the urllib2 module wherever possible. There are also third-party libraries (for instance, requests) which can be used to replace urllib2 with a more secure library. However, all third party libraries require that the library be installed on the managed machine. That is an extra step for users making use of a module. If possible, avoid third party libraries by using this code instead. iN(tcontextmanager(tPY3(tget_distribution(tto_bytest to_nativetto_text(tAbstractHTTPHandler(turlparset urlunparse(tcreate_default_contextt SSLContext(tPyOpenSSLContext(tssl_wrap_sockettssltTLSv1_1_methodtTLSv1_2_methodsbackports.ssl_match_hostnamet pypi_names3.7.0.1tversion(tmatch_hostnametCertificateError(tSSLCertVerificationErrorRcBseZRS((t__name__t __module__(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRscCs|s tS|jd}|s5|j|jkS|dkrZtdt|n|jd\}}}d|krtdt|n|stdt|n|dkrtdt|n|jd\}}}| s| rtS|j|jkS(sMatching according to RFC 6125, section 6.4.3 - Hostnames are compared lower case. - For IDNA, both dn and hostname must be encoded as IDN A-label (ACE). - Partial wildcards like 'www*.example.org', multiple wildcards, sole wildcard or wildcards in labels other then the left-most label are not supported and a CertificateError is raised. - A wildcard must match at least one character. t*is.too many wildcards in certificate DNS name: %st.s7wildcard can only be present in the leftmost label: %s.s<sole wildcard without additional labels are not support: %s.s:partial wildcards in leftmost label are not supported: %s.(tFalsetcounttlowerRtreprt partition(tdnthostnamet wildcardst dn_leftmosttsept dn_remainderthostname_leftmostthostname_remainder((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt_dnsname_matchs2    cCsyt|dd}Wn'tk r?tdt|nXtjd krX|}n|}|jddkrytj|SWqt tj t fk rqXnytj tj |SWnCt tj t fk rtdt|ntk rnXtdt|dS( sTry to convert an IP address to packed binary form Supports IPv4 addresses on all platforms and IPv6 on platforms with IPv6 support. terrorststricts%s must be an all-ascii string.iRs)%s is neither an IPv4 nor an IP6 address.s%s is not an IPv4 address.N(i(Rt UnicodeErrort ValueErrorRtsyst version_infoRtsockett inet_atontOSErrorterrort TypeErrort inet_ptontAF_INET6tAttributeError(tipnametb_ipnametn_ipname((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt _inet_patons(   cCst|j}||kS(sExact matching of IP addresses. RFC 6125 explicitly doesn't define an algorithm for this (section 1.7.2 - "Out of Scope"). (R8trstrip(R5thost_iptip((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt_ipaddress_matchscCs|stdnytt|dd}Wn-tk rJd}ntk r`d}nXg}|jdd}x|D]\}}|dkr|dkrt||rdS|j|q|dkr|dk rt||rdS|j|qqW|srxc|jddD]L}xC|D];\}}|d kr,t||rWdS|j|q,q,WqWnt |d krt d |d j t t |fn;t |d krt d ||dfn t ddS(sVerify that *cert* (in decoded format as returned by SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 rules are followed. The function matches IP addresses rather than dNSNames if hostname is a valid ipaddress string. IPv4 addresses are supported on all platforms. IPv6 addresses are supported on platforms with IPv6 support (AF_INET6 and inet_pton). CertificateError is raised on failure. On success, the function returns nothing. stempty or no certificate, match_hostname needs a SSL socket or SSL context with either CERT_OPTIONAL or CERT_REQUIREDR'R(tsubjectAltNametDNSNs IP Addresstsubjectt commonNameis&hostname %r doesn't match either of %ss, shostname %r doesn't match %ris=no appropriate commonName or subjectAltName fields were found(((R*R8RR)tNonetgetR&tappendR<tlenRtjointmapR(tcertRR:tdnsnamestsantkeytvaluetsub((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRs>        +s-----BEGIN CERTIFICATE----- MIICvDCCAiWgAwIBAgIJAO8E12S7/qEpMA0GCSqGSIb3DQEBBQUAMEkxCzAJBgNV BAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEPMA0GA1UEBxMGRHVyaGFt MRAwDgYDVQQKEwdBbnNpYmxlMB4XDTE0MDMxODIyMDAyMloXDTI0MDMxNTIyMDAy MlowSTELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYD VQQHEwZEdXJoYW0xEDAOBgNVBAoTB0Fuc2libGUwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBANtvpPq3IlNlRbCHhZAcP6WCzhc5RbsDqyh1zrkmLi0GwcQ3z/r9 gaWfQBYhHpobK2Tiq11TfraHeNB3/VfNImjZcGpN8Fl3MWwu7LfVkJy3gNNnxkA1 4Go0/LmIvRFHhbzgfuo9NFgjPmmab9eqXJceqZIlz2C8xA7EeG7ku0+vAgMBAAGj gaswgagwHQYDVR0OBBYEFPnN1nPRqNDXGlCqCvdZchRNi/FaMHkGA1UdIwRyMHCA FPnN1nPRqNDXGlCqCvdZchRNi/FaoU2kSzBJMQswCQYDVQQGEwJVUzEXMBUGA1UE CBMOTm9ydGggQ2Fyb2xpbmExDzANBgNVBAcTBkR1cmhhbTEQMA4GA1UEChMHQW5z aWJsZYIJAO8E12S7/qEpMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEA MUB80IR6knq9K/tY+hvPsZer6eFMzO3JGkRFBh2kn6JdMDnhYGX7AXVHGflrwNQH qFy+aenWXsC0ZvrikFxbQnX8GVtDADtVznxOi7XzFw7JOxdsVrpXgSN0eh0aMzvV zKPZsZ2miVGclicJHzm5q080b1p/sZtuKIEZk6vZqEg= -----END CERTIFICATE----- tConnectionErrorcBseZdZRS(sFailed to connect to the server(RRt__doc__(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRMwst ProxyErrorcBseZdZRS(s%Failure to connect because of a proxy(RRRN(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRO|stSSLValidationErrorcBseZdZRS(s0Failure to connect due to SSL validation failing(RRRN(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRPst NoSSLErrorcBseZdZRS(sXNeeded to connect to an HTTPS url but no ssl library available to verify the certificate(RRRN(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRQstHTTPSConnectiont HTTPSHandlertCustomHTTPSConnectioncBseZdZdZRS(cOstjj|||d|_tr4|j|_ntrStt |_|_n|jr|j r|jj |j |j ndS(N( thttplibRRt__init__RAtcontexttHAS_SSLCONTEXTt_contexttHAS_URLLIB3_PYOPENSSLCONTEXTR tPROTOCOLt cert_filetload_cert_chaintkey_file(tselftargstkwargs((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRVs c Cs"t|dr9tj|j|jf|j|j}n!tj|j|jf|j}|j}|jr||_|j |j}nt st r|j j |d||_nitrt|d|jdtjd|jdtd||_n*tj |d|jd|jdt|_dS(s(Connect to a host on a given (SSL) port.tsource_addresstserver_hostnametkeyfilet cert_reqstcertfilet ssl_versionN(thasattrR-tcreate_connectionthosttportttimeoutRbt _tunnel_hosttsockt_tunnelRXRZRWt wrap_sockettHAS_URLLIB3_SSL_WRAP_SOCKETR R^R t CERT_NONER\R[(R_RnRc((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytconnects*!      *(RRRVRs(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRTs tCustomHTTPSHandlercBseZdZejZRS(cCs8i}tr|j|ds i/i.i-tPOSTRRRRR(RR(i3i4(RXtmaybe_add_ssl_handlerR}t_openert add_handlertHTTPRedirectHandlertredirect_requestRt urllib_errort HTTPErrorRRt get_full_urltget_datatget_origin_req_hostR4RRtreplaceRRAtdicttitemsR( R_RxtfptcodetmsgthdrstnewurlthandlerRRRR(Rtfollow_redirectstvalidate_certs(s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRsN " ' $'!          (RRRNR((RRR(s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRs(R}R(RRRR((RRRs=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytRedirectHandlerFactorys%LcCsdg}tsv|jd|jdtjdjtjjft rft rf|jdn|jdn|jd|r|jdt |nt d j|||d j|fd S( s_Inteligently build out the SSLValidationError based on what support you have installed swFailed to validate the SSL certificate for %s:%s. Make sure your managed systems have a valid CA certificate installed.sXIf the website serving the url uses SNI you need python >= 2.7.9 on your managed machines1 (the python executable used (%s) is version: %s)ts]or you can install the `urllib3`, `pyOpenSSL`, `ndg-httpsclient`, and `pyasn1` python moduless-to perform SNI verification in python >= 2.6.sYou can use validate_certs=False if you do not need to confirm the servers identity but this is unsafe and not recommended. Paths checked for this platform: %s.sThe exception msg was: %s.Rs, N( RXRCR+t executableRERt splitlinesRZRqRRP(RRktpathstexcR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytbuild_ssl_validation_errors   # cCs>tjj|r:ytj|Wq:tk r6q:XndS(N(tosRtexiststunlinkR(tfilename((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytatexit_remove_files  tSSLValidationHandlercBsVeZdZdZddZdZddZdZdZ dZ e Z RS( s A custom handler class for SSL validation. Based on: http://stackoverflow.com/questions/1087227/validate-ssl-certificates-with-python http://techknack.net/python-urllib2-handlers/ sCONNECT %s:%s HTTP/1.0 cCs||_||_||_dS(N(RRkR(R_RRkR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRVs  c Csg}t}g}|jr|jg}tt|jdddK}tr||jtjt|j ddn|j |j WdQX|||fSts|j dnt t j dd}|dkr|j d|j d|j dnp|d kr"|j d nT|d kr>|j d n8|d krZ|j dn|dkrv|j dn|j dd}tstj\}}tjt|n|dkr tr|jtjttddntj|t|j dnxR|D]J}tjj|rtjj|rtj|} x| D]}tjj||} tjj| rRtjj|ddkrRy| tkr7t| d} | j } WdQXtry&|jtjt| ddWq4tk rwRq4Xq7tj|| tj|dnWqUt t!fk rQqUXqRqRWqqWtrtj"} | j#g|d*n|||fS(NR'tsurrogate_or_stricttrbs/etc/ssl/certsuLinuxs/etc/pki/ca-trust/extracted/pems/etc/pki/tls/certss%/usr/share/ca-certificates/cacert.orguFreeBSDs/usr/local/share/certsuOpenBSDs/etc/ssluNetBSDs/etc/openssl/certsuSunOSs/opt/local/etc/openssl/certss /etc/ansibleuDarwins/usr/local/etc/opensslis.crts.pems i(s.crts.pem($t bytearrayRtopenRRXtextendR tPEM_cert_to_DER_certRtreadRCRtplatformtsystemRAttempfiletmkstemptatexittregisterRtb_DUMMY_CA_CERTRtwriteRRtisdirtlistdirREtisfiletsplitexttLOADED_VERIFY_LOCATIONSRR/tIOErrortget_default_verify_pathstcapath(R_tca_certstcadatat paths_checkedtfRttmp_pathttmp_fdRt dir_contentst full_pathR\tb_certtdefault_verify_paths((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt get_ca_certss   !           $ .    cCs|dkrdgn|}y@tjd|j\}}}t||krZtnWntk rztdnXdS(sC make sure we get back a valid code from the proxy is(HTTP/\d\.\d) (\d\d\d) (.*)sConnection to proxy failedN(RARRtgroupsRRRO(R_tresponset valid_codest http_versiont resp_codeR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytvalidate_proxy_responsezs!  cCs}tjjd}|ry|jd}t|j}x@|D]5}|j|sn|jddj|r=tSq=WntS(sa Detect if the 'no_proxy' environment variable is set and honor those locations. tno_proxyt,Ri( RtenvironRBRRRtendswithRR(R_Rt env_no_proxyRRj((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytdetect_no_proxys + cCs|jp |}|jr!d}n |p*d}trEtd|}n!trZtt}n td|sr|r|jd|d|n|S(Ntcafiles<Host libraries are too old to support creating an sslcontextR( RRARXR RZR R[tNotImplementedErrortload_verify_locations(R_RRRW((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt make_contexts     c Cs|j\}}}|j|j}tjjd}d}y|j||}Wntk rknXy|r|rt t |}|jdpd} |jdd} | dks|jddkrt dnt j | | f} |jddkr| jt|j|j|jfd d |jd rd |jd d|jd df} | jdtjt| d d jn| jdd} xM| jddkr| | jd7} t| dkrt dqqW|j| |r1|j| d|j}qtrdt| d|dtjdtd|j}qtj| d|dtjdt}t |j!|jqft d|jdnt j |j|jf} |r|j| d|j}nmtr,t| d|dtjdtd|j}n:tj| d|dtjdt}t |j!|j| j"Wnotj#t$fk r}t%|j|j||n;t j&k r}t'd|j|jt(|fnX|S(Nt https_proxyRkiRRRsFailed to parse https_proxy environment variable. Please make sure you export https proxy as 'https_proxy=://:'thttpR'RRs%s:%sRsProxy-Authorization: Basic %s s s iiis4Proxy sent too verbose headers. Only 128KiB allowed.RcRReRgsKUnsupported proxy scheme: %s. Currently ansible only supports HTTP proxies.s&Failed to connect to %s at port %s: %s()R RRRRRBRARRRRROR-RitsendallRtCONNECT_COMMANDRRktbase64t b64encodetstriptfindtrecvRDRRpRqR R t CERT_REQUIREDR[Rt getpeercerttclosetSSLErrorRRR0RMR(R_Rxttmp_ca_cert_pathRRt use_proxyRRWt proxy_partsRktproxy_hostnametst credentialstconnect_resulttssl_sR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt http_requests`  !,(/  -$-$)N( RRRNR RARVR RRRR2R{(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyR s  `   AcCs_tt|}|jdkr[|r[ts<tdnt|j|jpQdd|SdS(NthttpssSSL validation is not available in your version of python. You can use validate_certs=False, however this is unsafe and not recommendediR(RRRtHAS_SSLRQRRRk(RRRtparsed((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRs s-0000cCsddddddddg|d |d d d d dddddddddg |dd|d|d|d|d|fS(sAccepts a timetuple and optional zone which defaults to ``-0000`` and returns a date string as specified by RFC 2822, e.g.: Fri, 09 Nov 2001 01:08:47 -0000 Copied from email.utils.formatdate and modified for separate use s"%s, %02d %s %04d %02d:%02d:%02d %stMontTuetWedtThutFritSattSuniitJantFebtMartAprtMaytJuntJultAugtSeptOcttNovtDeciiiii((t timetupletzone((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pytrfc2822_date_strings !RcBseZd eeded d d edd d d d d dZdZd d d d d d d d d d d d d d d ed d d dZdZdZ dZ d dZ d d Z d d Z d ZRS( i RcCs|p i|_t|jts7td|jn||_||_||_||_||_||_ ||_ | |_ | |_ | |_ | |_||_||_t| tjr| |_ntj|_dS(s;This class works somewhat similarly to the ``Session`` class of from requests by defining a cookiejar that an be used across requests as well as cascaded defaults that can apply to repeated requests For documentation of params, see ``Request.open`` >>> from ansible.module_utils.urls import Request >>> r = Request() >>> r.open('GET', 'http://httpbin.org/cookies/set?k1=v1').read() '{ "cookies": { "k1": "v1" } } ' >>> r = Request(url_username='user', url_password='passwd') >>> r.open('GET', 'http://httpbin.org/basic-auth/user/passwd').read() '{ "authenticated": true, "user": "user" } ' >>> r = Request(headers=dict(foo='bar')) >>> r.open('GET', 'http://httpbin.org/get', headers=dict(baz='qux')).read() sheaders must be a dict: %rN(Rt isinstanceRR*R+tforceRlRt url_usernamet url_passwordt http_agenttforce_basic_authRR~RRRt cookiejart CookieJartcookies(R_RR+RMRlRRNRORPRQRR~RRTRR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyRV s&              cCs|dkr|S|S(N(RA(R_RKtfallback((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt _fallback6s c0Cs|j}|dkr!i}nt|ts?tdnt|j|}|j||j}|j||j}|j||j }|j| |j } |j| |j } |j| |j } |j| |j } |j| |j} |j||j}|j||j}|j||j}|j||j}|j||j}|j||j}g}|r|jt|nt|| d|}|rt r|j|ntr|r|jtjntt|}|jdkr| }|r,| }|j}nd|jkr|jj dd\}}d|kr}|j dd\}}n |}d}|j!}||dk rqXnt?t@drBtArBi})tr,|%|)d 400) occurred then ``info['body']`` contains the error response data:: Example:: data={...} resp, info = fetch_url(module, "http://example.com", data=module.jsonify(data), headers={'Content-type': 'application/json'}, method="POST") status_code = info["status"] body = resp.read() if status_code >= 400 : body = info['body'] Rsurlparse is not installedRRNRRORPsansible-httpgetRQRRR~RRtstatusiRRRR+RMRtRlRTRuRRcss'|]\}}|j|fVqdS(N(R(RRR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pys ss, s; css|]}d|VqdS(s%s=%sN((Rtc((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pys stcookies_strings OK (%s bytes)sContent-Lengthtunknowntredhats-%s. You can also install python-ssl from EPELs%scss'|]\}}|j|fVqdS(N(R(RRR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pys stbodyRsRequest failed: %ssConnection failure: %ssRConnection failure: connection was closed before a valid response was received: %ssAn unknown error occurred: %st exceptionN(/t HAS_URLPARSEt fail_jsonRttempdirttmpdirRRBRRLRRRSt LWPCookieJarRARRRtinfoRRRRRERKRRCtgeturlRRQRRRMR*RRRR4RtURLErrorRtgetattrR-R0RUt BadStatusLinetlinet tracebackt format_exc("tmoduleRRRRR+RMRtRlRuRRRTt old_tempdirRRRRPRQRR~RRRt temp_headersRRKt cookie_listt cookie_dicttcookieRt distributionRR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt fetch_urls&    )      B     - .)),% c  Cs?d} tjjt|jddd\} } tjd|jd| d| dt} |j | j yt ||||||||| \} }| s|j dd ||dfn| j | }x&|r| j|| j | }qW| jWn3tk r7}|j dd |t|fnX| j S( sDownload and save a file via HTTP(S) or FTP (needs the module as parameter). This is basically a wrapper around fetch_url(). :arg module: The AnsibleModule (used to get username, password etc. (s.b.). :arg url: The url to use. :kwarg data: The data to be sent (in case of POST/PUT). :kwarg headers: A dict with the request headers. :kwarg method: "POST", "PUT", etc. :kwarg boolean use_proxy: Default: True :kwarg boolean force: If True: Do not get a cached copy (Default: False) :kwarg last_mod_time: Default: None :kwarg int timeout: Default: 10 :returns: A string, the path to the downloaded file. it/itdirtprefixtsuffixRRsFailure downloading %s, %s(RRRRtrsplitRtNamedTemporaryFileRRtadd_cleanup_fileRRRRRR(RR(RRRRRR+RMRtRltbufsizet file_nametfile_exttfetch_temp_filetrspRR((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt fetch_files .'*!  $(}RNRR!RvReRRRR-R+RRt contextlibRRUt ImportErrort http.clienttclientt-ansible.module_utils.six.moves.http_cookiejart module_utilstsixtmovesthttp_cookiejarRRt-ansible.module_utils.six.moves.urllib.requestturllibRR}t+ansible.module_utils.six.moves.urllib.errorR0Rtansible.module_utils.sixRtansible.module_utils.basicRtansible.module_utils._textRRRturllib.requestRRRthttp_error_307thttp_error_308t+ansible.module_utils.six.moves.urllib.parseRRRRRRR R4R R RXRqturllib3.contrib.pyopensslR t+requests.packages.urllib3.contrib.pyopensslRZR tPROTOCOL_TLSv1R[tctypest ctypes.utiltutilt find_libraryt libssl_nametCDLLtlibsslRRhR4t_BUNDLED_METADATAtsetRtHAS_MATCH_HOSTNAMERRtbackports.ssl_match_hostnameR^R]t_sslRR*R&R8R<RRMRORPRQRARTRtR|RRhRRRSRRRRRRRRRRRRRt BaseHandlerRRRKRRdRRR(((s=/usr/lib/python2.7/site-packages/ansible/module_utils/urls.pyt!s&                                              4 , ; #   KV  R