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@s2ddljZddljZddljZddljZdZej Z dZ dZ dZ dZ dZdZd Zd Zd ZdZdZdZd Zd ZdZd ZdZdZd ZdZdZdZdZ dZ!dZ"dZ#dZ$d Z%dZ&d Z'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/d Z0dZ1dZ2dZ3dZ4dZ5dZ6dZ7d Z8d Z9dZ:d Z;dZ<dZ=dZ>dZ?dZ@d ZAdZBdeCfdYZDdeCfdYZEd eCfd!YZFd"eCfd#YZGd$eCfd%YZHd&eCfd'YZId(ZJdS()iNsWander Lairson Costaiii ii iiiiiii!i)ii#i"iii i ii i i`i@tEndpointcBseZdZdZRS(sEndpoint descriptor object.cCs=|j|_|j|_|j|_tj|j|_ dS(N( tbEndpointAddresstaddresst bIntervaltintervaltwMaxPacketSizet maxPacketSizetutilt endpoint_typet bmAttributesttype(tselftep((s./usr/lib/python2.7/site-packages/usb/legacy.pyt__init__bs   (t__name__t __module__t__doc__R (((s./usr/lib/python2.7/site-packages/usb/legacy.pyR`st InterfacecBseZdZdZRS(sInterface descriptor object.cCsn|j|_|j|_|j|_|j|_|j|_|j |_ g|D]}t |^qO|_ dS(N( tbAlternateSettingtalternateSettingtbInterfaceNumbertinterfaceNumbert iInterfacetbInterfaceClasstinterfaceClasstbInterfaceSubClasstinterfaceSubClasstbInterfaceProtocoltinterfaceProtocolRt endpoints(R tintfte((s./usr/lib/python2.7/site-packages/usb/legacy.pyR js      (RRRR (((s./usr/lib/python2.7/site-packages/usb/legacy.pyRhst ConfigurationcBseZdZdZRS(s Configuration descriptor object.cCs|j|_|jd>|_|jd?d@|_|jd?d@|_|j|_|j|_ gt j t j g|D]}t |^qrdddD]\}}t|^q|_dS(NiiiitkeycSs|jS(N(R(ti((s./usr/lib/python2.7/site-packages/usb/legacy.pytscSs|jS(N(R(R"((s./usr/lib/python2.7/site-packages/usb/legacy.pyR#s(tiConfigurationt bMaxPowertmaxPowerR t remoteWakeupt selfPoweredt wTotalLengtht totalLengthtbConfigurationValuetvaluet_interopt_groupbyt_sortedRtlistt interfaces(R tcfgR"tktg((s./usr/lib/python2.7/site-packages/usb/legacy.pyR us     (RRRR (((s./usr/lib/python2.7/site-packages/usb/legacy.pyR sst DeviceHandlecBseZdZddZddZddZddZddddZdZd Z d Z d Z d Z d Z dZddZddZdZRS(cCs||_d|_dS(Ni(tdevt _DeviceHandle__claimed_interface(R R6((s./usr/lib/python2.7/site-packages/usb/legacy.pyR s idcCs|jj|||j|S(sPerform a bulk write request to the endpoint specified. Arguments: endpoint: endpoint number. buffer: sequence data buffer to write. This parameter can be any sequence type. timeout: operation timeout in miliseconds. (default: 100) Returns the number of bytes written. (R6twriteR7(R tendpointtbufferttimeout((s./usr/lib/python2.7/site-packages/usb/legacy.pyt bulkWrites cCs|jj|||j|S(s+Performs a bulk read request to the endpoint specified. Arguments: endpoint: endpoint number. size: number of bytes to read. timeout: operation timeout in miliseconds. (default: 100) Return a tuple with the data read. (R6treadR7(R R9tsizeR;((s./usr/lib/python2.7/site-packages/usb/legacy.pytbulkReads cCs|jj|||j|S(sPerform a interrupt write request to the endpoint specified. Arguments: endpoint: endpoint number. buffer: sequence data buffer to write. This parameter can be any sequence type. timeout: operation timeout in miliseconds. (default: 100) Returns the number of bytes written. (R6R8R7(R R9R:R;((s./usr/lib/python2.7/site-packages/usb/legacy.pytinterruptWrites cCs|jj|||j|S(s0Performs a interrupt read request to the endpoint specified. Arguments: endpoint: endpoint number. size: number of bytes to read. timeout: operation timeout in miliseconds. (default: 100) Return a tuple with the data read. (R6R=R7(R R9R>R;((s./usr/lib/python2.7/site-packages/usb/legacy.pyt interruptReads ic Cs+|jj||d|d|d|d|S(sPerform a control request to the default control pipe on a device. Arguments: requestType: specifies the direction of data flow, the type of request, and the recipient. request: specifies the request. buffer: if the transfer is a write transfer, buffer is a sequence with the transfer data, otherwise, buffer is the number of bytes to read. value: specific information to pass to the device. (default: 0) index: specific information to pass to the device. (default: 0) timeout: operation timeout in miliseconds. (default: 100) Return the number of bytes written. twValuetwIndextdata_or_wLengthR;(R6t ctrl_transfer(R t requestTypetrequestR:R,tindexR;((s./usr/lib/python2.7/site-packages/usb/legacy.pyt controlMsgs cCsY|jj}tj|d|j}tj|d|}tj|jtj|dS(suClears any halt status on the specified endpoint. Arguments: endpoint: endpoint number. RRN(R6tget_active_configurationRtfind_descriptorR7tcontrolt clear_featuret ENDPOINT_HALT(R R9R2RR((s./usr/lib/python2.7/site-packages/usb/legacy.pyt clearHaltscCsAt|tr|j}n|}tj|j|||_dS(sClaims the interface with the Operating System. Arguments: interface: interface number or an Interface object. N(t isinstanceRRRtclaim_interfaceR6R7(R t interfacetif_num((s./usr/lib/python2.7/site-packages/usb/legacy.pytclaimInterfaces  cCs#tj|j|jd|_dS(s<Release an interface previously claimed with claimInterface.iN(Rtrelease_interfaceR6R7(R ((s./usr/lib/python2.7/site-packages/usb/legacy.pytreleaseInterfacescCs|jjdS(s[Reset the specified device by sending a RESET down the port it is connected to.N(R6treset(R ((s./usr/lib/python2.7/site-packages/usb/legacy.pyRWscCs|j|dS(spReset all states for the specified endpoint. Arguments: endpoint: endpoint number. N(RO(R R9((s./usr/lib/python2.7/site-packages/usb/legacy.pyt resetEndpointscCs|jj|dS(sSet the active configuration of a device. Arguments: configuration: a configuration value or a Configuration object. N(R6tset_configuration(R t configuration((s./usr/lib/python2.7/site-packages/usb/legacy.pytsetConfigurationscCs|jj|j|dS(sSets the active alternate setting of the current interface. Arguments: alternate: an alternate setting number or an Interface object. N(R6tset_interface_altsettingR7(R t alternate((s./usr/lib/python2.7/site-packages/usb/legacy.pytsetAltInterfacescCs"tj|j|||jdS(sERetrieve the string descriptor specified by index and langid from a device. Arguments: index: index of descriptor in the device. length: number of bytes of the string langid: Language ID. If it is omittedi, will be used the first language. tascii(Rt get_stringR6tencode(R RHtlengthtlangid((s./usr/lib/python2.7/site-packages/usb/legacy.pyt getString s icCstj|j|||S(sRetrieves a descriptor from the device identified by the type and index of the descriptor. Arguments: desc_type: descriptor type. desc_index: index of the descriptor. len: descriptor length. endpoint: ignored. (RLtget_descriptorR6(R t desc_typet desc_indexRbR9((s./usr/lib/python2.7/site-packages/usb/legacy.pyt getDescriptors cCs|jj|dS(sDetach a kernel driver from the interface (if one is attached, we have permission and the operation is supported by the OS) Arguments: interface: interface number or an Interface object. N(R6tdetach_kernel_driver(R RR((s./usr/lib/python2.7/site-packages/usb/legacy.pytdetachKernelDriver#sN(RRR R<R?R@RARIRORTRVRWRXR[R^tNoneRdRhRj(((s./usr/lib/python2.7/site-packages/usb/legacy.pyR5s          tDevicecBs eZdZdZdZRS(sDevice descriptor objectcCs_|j|_|j|_|j|_t|jd?d@t|jd?d@dt|jd?d@t|jd@|_d|_ d|_ |j |_ |j |_ |j|_|j|_|j|_|j|_t|jd?d@t|jd?d@dt|jd?d@t|jd@|_g|D]}t|^q7|_||_dS(Ni iit.it(t bDeviceClasst deviceClasstbDeviceSubClasstdeviceSubClasstbDeviceProtocoltdeviceProtocoltstrt bcdDevicet deviceVersionRktdevnumtfilenamet iManufacturertiProductt iSerialNumbert idProducttidVendortbMaxPacketSize0RtbcdUSBt usbVersionR tconfigurationsR6(R R6tc((s./usr/lib/python2.7/site-packages/usb/legacy.pyR .s"   B        B"cCs t|jS(sGOpen the device for use. Return a DeviceHandle object (R5R6(R ((s./usr/lib/python2.7/site-packages/usb/legacy.pytopenGs(RRRR R(((s./usr/lib/python2.7/site-packages/usb/legacy.pyRl,s tBuscBseZdZdZRS(s Bus object.cCs8d|_d|_g|D]}t|^q|_dS(NRni(tdirnametlocationRltdevices(R Rtd((s./usr/lib/python2.7/site-packages/usb/legacy.pyR Ps  (RRRR (((s./usr/lib/python2.7/site-packages/usb/legacy.pyRNscCs;dtjtjtjdtdddDS(s#Return a tuple with the usb busses.css!|]\}}t|VqdS(N(R(t.0R3R4((s./usr/lib/python2.7/site-packages/usb/legacy.pys Wstfind_allR!cSs|jS(N(tbus(R((s./usr/lib/python2.7/site-packages/usb/legacy.pyR#XscSs|jS(N(R(R((s./usr/lib/python2.7/site-packages/usb/legacy.pyR#Ys(R-R.R/tcoretfindtTrue(((s./usr/lib/python2.7/site-packages/usb/legacy.pytbussesUs !(Ktusb.coreRtusb.utilRt usb._interopR-t usb.controlRLt __author__tUSBErrort CLASS_AUDIOt CLASS_COMMt CLASS_DATAt CLASS_HIDt CLASS_HUBtCLASS_MASS_STORAGEtCLASS_PER_INTERFACEt CLASS_PRINTERtCLASS_VENDOR_SPECt DT_CONFIGtDT_CONFIG_SIZEt DT_DEVICEtDT_DEVICE_SIZEt DT_ENDPOINTtDT_ENDPOINT_AUDIO_SIZEtDT_ENDPOINT_SIZEtDT_HIDtDT_HUBtDT_HUB_NONVAR_SIZEt DT_INTERFACEtDT_INTERFACE_SIZEt DT_PHYSICALt DT_REPORTt DT_STRINGtENDPOINT_ADDRESS_MASKtENDPOINT_DIR_MASKt ENDPOINT_INt ENDPOINT_OUTtENDPOINT_TYPE_BULKtENDPOINT_TYPE_CONTROLtENDPOINT_TYPE_INTERRUPTtENDPOINT_TYPE_ISOCHRONOUStENDPOINT_TYPE_MASKt ERROR_BEGINt MAXALTSETTINGt MAXCONFIGt MAXENDPOINTSt MAXINTERFACESt RECIP_DEVICEtRECIP_ENDPOINTtRECIP_INTERFACEt RECIP_OTHERtREQ_CLEAR_FEATUREtREQ_GET_CONFIGURATIONtREQ_GET_DESCRIPTORtREQ_GET_INTERFACEtREQ_GET_STATUStREQ_SET_ADDRESStREQ_SET_CONFIGURATIONtREQ_SET_DESCRIPTORtREQ_SET_FEATUREtREQ_SET_INTERFACEtREQ_SYNCH_FRAMEt TYPE_CLASSt TYPE_RESERVEDt TYPE_STANDARDt TYPE_VENDORtobjectRRR R5RlRR(((s./usr/lib/python2.7/site-packages/usb/legacy.pyts  "