ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ Yc@@sddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z mZdZejdZd ZeZd efd YZdS( i(tabsolute_importN(tPY2t text_type(t InvalidDsn(t to_string(t parse_qslturlparses(Unsupported Sentry DSN scheme: {0} ({1})travencC@ssddlm}ddlm}dtjkrOdtjkrOtjd|Sdtjkrotjd|S|S( Ni(tThreadedHTTPTransport(t HTTPTransporttCURRENT_VERSION_IDt INSTANCE_IDsODetected environment to be Google App Engine. Using synchronous HTTP transport.tLAMBDA_TASK_ROOTsHDetected environment to be AWS Lambda. Using synchronous HTTP transport.(traven.transport.threadedRtraven.transport.httpR tostenvirontloggertinfo(RR ((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pytdiscover_default_transports  t RemoteConfigcB@s\eZdddddddZdZdZdZdZedddZ RS(cC@s}|r(|jd}d||f}nd}||_||_||_||_|p[i|_||_|pst|_ dS(Nt/s%s/api/%s/store/( trstriptNonetbase_urltprojectt public_keyt secret_keytoptionststore_endpointtDEFAULT_TRANSPORTt_transport_cls(tselfRRRRt transportRR((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyt__init__(s     cC@s t|jS(N(RR(R ((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyt __unicode__9scC@s"t|j|j|j|jgS(N(tallRRRR(R ((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyt is_active<scC@s;|js dSt|ds4|j|j|_n|jS(Nt _transport(RthasattrRRR&(R ((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyt get_transport?s  cC@sRt|j}|j}|jr5|d|j7}nd|j||j|jfS(Ns:%ss //%s@%s%s/%s(RRthostnametportRtpathR(R turltnetloc((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pytget_public_dsnGs   c C@strt|}nt|j}|jdkrFtjdn|dkr|s}ddlm }m }||}n|j |jst t j|j|n|j|j}n|j}|jr|d|j7}n|jjdd}t|dkr|d} nd } |d } t|| |j|jgsct d |jnd |jjd dd || f} |d| d| d|jd|jdtt|jd|S(NthttpthttpssnTransport selection via DSN is deprecated. You should explicitly pass the transport class to Client() instead.i(tTransportRegistrytdefault_transportss:%sRitisInvalid Sentry DSN: %rs %s://%s%st+RRRRRR!(R/R0(RRRtstriptschemetwarningstwarnRtraven.transportR1R2tsupported_schemeRtERR_UNKNOWN_SCHEMEtformattget_transport_clsR)R*R+trsplittlenR$tusernametpasswordtgeturltdictRtquery( tclstvalueR!ttransport_registryR,R1R2R-t path_bitsR+RR((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyt from_stringNs<     &  N( t__name__t __module__RR"R#R%R(R.t classmethodRI(((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyR's     (t __future__RtloggingRR7traven.utils.compatRRtraven.exceptionsRtraven.utils.encodingRtraven.utils.urlparseRRR;t getLoggerRRRtobjectR(((sB/opt/alt/python27/lib/python2.7/site-packages/raven/conf/remote.pyts