PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  7Tc@sddlTddlZddlZddlmZddlZddlZddlZddl j Z dZ dgZ ej dZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d!Z*d"Z+d#Z,d$Z-ide6de6ej/j0d%de6de6ej/j0d&de6ej/j0d'de6ej/j0d(de6ej/j0d)de6ej/j0d*de6ej/j0d+de6de6ej/j0d,de6ej/j0d*de6de6de6de6de6ej/j0d'de 6ej/j0d'de!6ej/j0d'de"6ej/j0d-de#6de$6ej/j0d.de%6ej/j0d/de&6de'6ej/j0d/de(6de)6de*6de+6ej/j0d0de,6ej/j0d1de-6Z1d2e2fd3YZ3d4e2fd5YZ4d6e2fd7YZ5d8e2fd9YZ6d:e2fd;YZ7d<e2fd=YZ8d>e2fd?YZ9d@e2fdAYZ:dBe2fdCYZ;dDe2fdEYZ<e=Z>e=Z?e=Z@e=ZAdaBdaCdFZDdGZEdHZFdIeGfdJYZHdKeGfdLYZIdMeGfdNYZJdOejKjLfdPYZMdQZNdS(Ri(t*N(t methodtracesWander Lairson Costatget_backendOPENUSB_SUCCESSOPENUSB_PLATFORM_FAILUREOPENUSB_NO_RESOURCESOPENUSB_NO_BANDWIDTHOPENUSB_NOT_SUPPORTEDOPENUSB_HC_HARDWARE_ERROROPENUSB_INVALID_PERMOPENUSB_BUSYOPENUSB_BADARGOPENUSB_NOACCESSOPENUSB_PARSE_ERROROPENUSB_UNKNOWN_DEVICEOPENUSB_INVALID_HANDLEOPENUSB_SYS_FUNC_FAILUREOPENUSB_NULL_LISTOPENUSB_CB_CONTINUEOPENUSB_CB_TERMINATEOPENUSB_IO_STALLOPENUSB_IO_CRC_ERROROPENUSB_IO_DEVICE_HUNGOPENUSB_IO_REQ_TOO_BIGOPENUSB_IO_BIT_STUFFINGOPENUSB_IO_UNEXPECTED_PIDOPENUSB_IO_DATA_OVERRUNOPENUSB_IO_DATA_UNDERRUNOPENUSB_IO_BUFFER_OVERRUNOPENUSB_IO_BUFFER_UNDERRUNOPENUSB_IO_PID_CHECK_FAILUREOPENUSB_IO_DATA_TOGGLE_MISMATCHOPENUSB_IO_TIMEOUTOPENUSB_IO_CANCELEDsusb.backend.openusbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiitENOMEMtENOSYStEIOtEBADFtEBUSYtEINVALtEACCEStENODEVtE2BIGtESRCHt EOVERFLOWt ETIMEDOUTtEINTRt_usb_endpoint_descc BsVeZdefdefdefdefdefdefdefdefgZRS(tbLengthtbDescriptorTypetbEndpointAddresst bmAttributestwMaxPacketSizet bIntervaltbRefresht bSynchAddress(t__name__t __module__tc_uint8tc_uint16t_fields_(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs       t_usb_interface_descc Bs_eZdefdefdefdefdefdefdefdefdefg ZRS( RRtbInterfaceNumbertbAlternateSettingt bNumEndpointstbInterfaceClasstbInterfaceSubClasstbInterfaceProtocolt iInterface(RRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs        t_usb_config_descc BsVeZdefdefdefdefdefdefdefdefgZRS(RRt wTotalLengthtbNumInterfacestbConfigurationValuetiConfigurationRt bMaxPower(RRRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyR&s       t_usb_device_desccBseZdefdefdefdefdefdefdefdefdefd efd efd efd efd efgZRS(RRtbcdUSBt bDeviceClasstbDeviceSubClasstbDeviceProtocoltbMaxPacketSize0tidVendort idProductt bcdDevicet iManufacturertiProductt iSerialNumbertbNumConfigurations(RRRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyR,s             t_openusb_request_resultcBs eZdefdefgZRS(tstatusttransferred_bytes(RRtc_int32tc_uint32R(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyR9s t_openusb_ctrl_requestcBsieZdefdYZdefdeefdefdefdefdefdefgZ RS( t_openusb_ctrl_setupcBs2eZdefdefdefdefgZRS(t bmRequestTypetbRequesttwValuetwIndex(RRRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyR?s   tsetuptpayloadtlengthttimeouttflagstresulttnext( RRt StructureR?tPOINTERRR=R9tc_void_pR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyR>s     t_openusb_intr_requestcBsSeZdefdeefdefdefdefdefdefgZRS(tintervalRERFRGRHRIRJ( RRRRLRR=R9RMR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRNs     t_openusb_bulk_requestcBsJeZdeefdefdefdefdefdefgZRS(RERFRGRHRIRJ(RRRLRR=R9RMR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRPs     t_openusb_isoc_pktscBs<eZdefdYZdefdeefgZRS(t_openusb_isoc_packetcBs&eZdeefdefgZRS(RERF(RRRLRR=R(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRRst num_packetstpackets(RRRKRRR=RLR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRQs t_openusb_isoc_requestcBsJeZdefdefdefdeefdefdefgZRS(t start_frameRHtpktst isoc_resultst isoc_statusRJ( RRR=RQRLR9R<RMR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRUs     cCsYd}tjdkr"|d}ntjj|}|dkrOtdnt|S(Ntopenusbtwin32s.dllsUSB library could not be found(tsystplatformtctypestutilt find_librarytNonetOSErrortCDLL(t candidatetlibname((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt _load_librarys  c Csgtttg|j_t|j_tg|j_ttttttg|j _ttg|j _ttttt ttg|j _t|j _tt g|j _tt tttg|j_t|j_tg|j_t|j_ttg|j_t|j_tttg|j_t|j_tttg|j_t|j_ttg|j_t|j_tttg|j_t|j_tg|j_t|j_tt tttttg|j_t|j_tt ttttttg|j_t|j_tt ttttttttg|j_t|j_tt ttttttttt g |j!_t|j_tg|j"_t#|j"_ttttt$g|j%_t|j%_ttttt&g|j'_t|j(_ttttt)g|j(_t|j(_ttttt*g|j+_t|j+_dS(N(,R=RLt_openusb_handlet openusb_inittargtypesR<trestypet openusb_finit_openusb_busidtopenusb_get_busid_listtopenusb_free_busid_listt_openusb_devidtopenusb_get_devids_by_bustopenusb_free_devid_listt_openusb_dev_handletopenusb_open_devicetopenusb_close_deviceRtopenusb_set_configurationtopenusb_get_configurationtc_inttopenusb_claim_interfacetopenusb_release_interfacetopenusb_set_altsettingt openusb_resetRR,topenusb_parse_device_descR&topenusb_parse_config_descRtopenusb_parse_interface_descRtopenusb_parse_endpoint_desctopenusb_strerrortc_char_pR>topenusb_ctrl_xferRNtopenusb_intr_xfertopenusb_bulk_xferRPRUtopenusb_isoc_xfer(tlib((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt_setup_prototypess                      cCsct|tr|j}n|}|dkr_ddlm}|tj||t|n|S(Nii(tUSBError(t isinstanceRwtvaluetusb.coreRt_libRt_openusb_errno(tretvaltretR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt_checks  "t_ContextcBseZdZdZRS(cCs/t|_ttjdt|jdS(Ni(RgthandleRRRhtbyref(tself((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt__init__s cCstj|jdS(N(RRkR(R((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt__del__s(RRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs t _BusIteratorcBs#eZdZdZdZRS(cCsVtt|_t}ttjtjt |jt ||j |_ dS(N( RLRltbuslistR=RRRmt_ctxRRRt num_busids(RR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs   ccs*x#t|jD]}|j|VqWdS(N(trangeRR(Rti((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt__iter__scCstj|jdS(N(RRnR(R((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs(RRRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs  t _DevIteratorcBs#eZdZdZdZRS(cCsYtt|_t}ttjtj|t |jt ||j |_ dS(N( RLRotdevlistR=RRRpRRRRt num_devids(RtbusidR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs  ccs*x#t|jD]}|j|VqWdS(N(RRR(RR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRscCstj|jdS(N(RRqR(R((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs(RRRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs  t_OpenUSBcBseZeedZeedZeedZeedZeedZeedZ eedZ eedZ eedZ eed Z eed Zeed Zeed Zeed ZeedZeedZeedZeedZRS(ccs4x-tD]"}xt|D] }|VqWq WdS(N(RR(Rtbustdevid((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytenumerate_devicesscCsPt}ttjtj|ddt|d|_d|_ d|_ |S(Ni( R,RRR|RRRaRRtaddresst port_number(Rtdevtdesc((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytget_device_descriptors    c Cs8t}ttjtj|dd|t||S(Ni(R&RRR}RRRaR(RRtconfigR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytget_configuration_descriptor)s c Cs>t}ttjtj|dd|||t||S(Ni(RRRR~RRRaR(RRtintftaltRR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytget_interface_descriptor4s c CsAt}ttjtj|dd||||t| |S(Ni(RRRRRRRaR(RRtepRRRR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytget_endpoint_descriptorAs cCs2t}ttjtj|dt||S(Ni(RrRRRsRRR(RRR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt open_deviceOs %cCstj|dS(N(RRt(Rt dev_handle((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt close_deviceUscCsttj||dS(N(RRRu(RRt config_value((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytset_configurationYscCs,t}ttj|t||jS(N(RRRRvRR(RRR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytget_configuration]s cCsttj|||dS(N(RRRz(RRRt altsetting((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytset_interface_altsettingcscCsttj||ddS(Ni(RRRx(RRR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytclaim_interfacegscCstj||dS(N(RRy(RRR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pytrelease_interfacekscCst}tt|dt||j\}|_t|tt|_ ||_ t t j |||t||jjS(Ni(RPtmemsetRtsizeoft buffer_infoRFtcastRLRRERGRRRRIR;(RRRRtdataRGtrequestRE((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt bulk_writeos  "c Cst}tjd|}tt|dt||j\}|_t|t t |_ ||_ t tj|||t|||jj S(Nti(RPt_interoptas_arrayRRRRRFRRLRRERGRRRRIR;( RRRRtsizeRGRtbufferRE((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt bulk_readys  "cCst}tt|dt||j\}|_t|tt|_ ||_ t t j |||t||jjS(Ni(RNRRRRRFRRLRRERGRRRRIR;(RRRRRRGRRE((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt intr_writes  "c Cst}tjdd|}tt|dt||j\}|_t|t t |_ ||_ t tj|||t|||jj S(NtBRi(RNRRRRRRRFRRLRRERGRRRRIR;( RRRRRRGRRRE((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt intr_reads  "c Cst}||j_||j_|jj|jj||_tjj |} | tjj krk|} nt j d|} | j \} |_t| tt|_ttj|ddt|| tjj kr|jjS| |jj SdS(NRi(R>RDR@RARBRCRGtusbR_tctrl_directiontCTRL_OUTRRRRFRRLRRERRRRRIR;( RRR@RARBRCtdata_or_wLengthRGRt directionRRE((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt ctrl_transfers       " cCsttj|dS(N(RRR{(RR((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt reset_devices(RRRt_loggerRRRRRRRRRRRRRRRRRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyRs$      !cCsby6tdkr.tatttantSWn%tk r]tj ddt dSXdS(NsError loading OpenUSB backendtexc_info( RRaRfRRRRt ExceptionRterrortTrue(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyt get_backends      (OR^t ctypes.utiltusb.utilRt usb._debugRtloggingterrnoR\t usb._interopRt __author__t__all__t getLoggerRtOPENUSB_SUCCESStOPENUSB_PLATFORM_FAILUREtOPENUSB_NO_RESOURCEStOPENUSB_NO_BANDWIDTHtOPENUSB_NOT_SUPPORTEDtOPENUSB_HC_HARDWARE_ERRORtOPENUSB_INVALID_PERMt OPENUSB_BUSYtOPENUSB_BADARGtOPENUSB_NOACCESStOPENUSB_PARSE_ERRORtOPENUSB_UNKNOWN_DEVICEtOPENUSB_INVALID_HANDLEtOPENUSB_SYS_FUNC_FAILUREtOPENUSB_NULL_LISTtOPENUSB_CB_CONTINUEtOPENUSB_CB_TERMINATEtOPENUSB_IO_STALLtOPENUSB_IO_CRC_ERRORtOPENUSB_IO_DEVICE_HUNGtOPENUSB_IO_REQ_TOO_BIGtOPENUSB_IO_BIT_STUFFINGtOPENUSB_IO_UNEXPECTED_PIDtOPENUSB_IO_DATA_OVERRUNtOPENUSB_IO_DATA_UNDERRUNtOPENUSB_IO_BUFFER_OVERRUNtOPENUSB_IO_BUFFER_UNDERRUNtOPENUSB_IO_PID_CHECK_FAILUREtOPENUSB_IO_DATA_TOGGLE_MISMATCHtOPENUSB_IO_TIMEOUTtOPENUSB_IO_CANCELEDRat__dict__tgetRRKRRR&R,R9R>RNRPRQRUtc_uint64RoRlRgRrRRRfRRtobjectRRRtbackendtIBackendRR(((s7/usr/lib/python2.7/site-packages/usb/backend/openusb.pyts       "