+
     hqo  c                    s   ^ RI 5 ^ RIt ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHt ^ RIHt ^ RIt^ RIHtHt Rt. RNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%Nt]P(                  ! R&4      t^ tRTtRUtRVtRWtRXtRYtRZtR[tR\tR]t R^t!R_t"R`t#Rat$Rbt%Rct&Rdt'Ret(Rft)Rgt*Rht+Rit,Rjt-Rkt.Rlt/Rmt0Rnt1Rot2Rpt3Rqt4/ ]Rb]Rb]]Pj                  Pm                  R'R4      b]Rb]]Pj                  Pm                  R(R4      b]]Pj                  Pm                  R)R4      b]]Pj                  Pm                  R*R4      b]]Pj                  Pm                  R+R4      b]]Pj                  Pm                  R,R4      b]]Pj                  Pm                  R-R4      b] Rb]!]Pj                  Pm                  R.R4      b]"]Pj                  Pm                  R,R4      b]#Rb]$Rb]%Rb]&Rb]']Pj                  Pm                  R)R4      ](]Pj                  Pm                  R)R4      ])]Pj                  Pm                  R)R4      ]*]Pj                  Pm                  R/R4      ]+R],]Pj                  Pm                  R0R4      ]-]Pj                  Pm                  R1R4      ].R]/]Pj                  Pm                  R1R4      ]0R]1R]2R]3]Pj                  Pm                  R2R4      ]4]Pj                  Pm                  R3R4      /Ct7 ! R4 R5]84      t9 ! R6 R7]84      t: ! R8 R9]84      t; ! R: R;]84      t< ! R< R=]84      t= ! R> R?]84      t> ! R@ RA]84      t? ! RB RC]84      t@ ! RD RE]84      tA ! RF RG]84      tB]CtD]CtE]CtF]CtGRsHRsIRrRH ltJRI tKRJ tL ! RK RL]P                  4      tN ! RM RN]P                  4      tO ! RO RP]P                  4      tP ! RQ RR]P                  P                  4      tSRrRS ltTR# )s    )Z*N)methodtrace)USBErrorUSBTimeoutErrorzWander Lairson Costaget_backendOPENUSB_SUCCESSOPENUSB_PLATFORM_FAILUREOPENUSB_NO_RESOURCESOPENUSB_NO_BANDWIDTHOPENUSB_NOT_SUPPORTEDOPENUSB_HC_HARDWARE_ERROROPENUSB_INVALID_PERMOPENUSB_BUSYOPENUSB_BADARGOPENUSB_NOACCESSOPENUSB_PARSE_ERROROPENUSB_UNKNOWN_DEVICEOPENUSB_INVALID_HANDLEOPENUSB_SYS_FUNC_FAILUREOPENUSB_NULL_LISTOPENUSB_CB_CONTINUEOPENUSB_CB_TERMINATEOPENUSB_IO_STALLOPENUSB_IO_CRC_ERROROPENUSB_IO_DEVICE_HUNGOPENUSB_IO_REQ_TOO_BIGOPENUSB_IO_BIT_STUFFINGOPENUSB_IO_UNEXPECTED_PIDOPENUSB_IO_DATA_OVERRUNOPENUSB_IO_DATA_UNDERRUNOPENUSB_IO_BUFFER_OVERRUNOPENUSB_IO_BUFFER_UNDERRUNOPENUSB_IO_PID_CHECK_FAILUREOPENUSB_IO_DATA_TOGGLE_MISMATCHOPENUSB_IO_TIMEOUTOPENUSB_IO_CANCELEDzusb.backend.openusbZENOMEMZENOSYSZEIOZEBADFZEBUSYZEINVALZEACCESZENODEVZE2BIGZESRCHZ	EOVERFLOWZ	ETIMEDOUTZEINTRc            	       sJ    ] tR t^tR]3R]3R]3R]3R]3R]3R]3R]3.tR	tR
# )_usb_endpoint_descbLengthbDescriptorTypeZbEndpointAddressbmAttributesZwMaxPacketSizeZ	bIntervalZbRefreshZbSynchAddress N__name__
__module____qualname____firstlineno__c_uint8c_uint16_fields___static_attributes__r(       8/usr/lib/python3.14/site-packages/usb/backend/openusb.pyr$   r$      sI    G$"G,#W-)!8,g&W% '*,Hr2   r$   c            
       sP    ] tR t^tR]3R]3R]3R]3R]3R]3R]3R]3R	]3.	tR
tR# )_usb_interface_descr%   r&   ZbInterfaceNumberZbAlternateSettingZbNumEndpointsZbInterfaceClassZbInterfaceSubClassZbInterfaceProtocolZ
iInterfacer(   N)r*   r+   r,   r-   r.   r0   r1   r(   r2   r3   r4   r4      sQ    G$"G,#W-$g. '*"G,%w/%w/w')Hr2   r4   c            	       sJ    ] tR t^tR]3R]3R]3R]3R]3R]3R]3R]3.tR	tR
# )_usb_config_descr%   r&   ZwTotalLengthZbNumInterfacesZbConfigurationValueZiConfigurationr'   Z	bMaxPowerr(   Nr)   r(   r2   r3   r5   r5      sI    G$"G,*!7+&0!7+)g&(Hr2   r5   c                   sn    ] tR t^tR]3R]3R]3R]3R]3R]3R]3R]3R	]3R
]3R]3R]3R]3R]3.tRtR# )_usb_device_descr%   r&   ZbcdUSBZbDeviceClassZbDeviceSubClassZbDeviceProtocolZbMaxPacketSize0ZidVendorZ	idProductZ	bcdDeviceZiManufacturerZiProductZiSerialNumberZbNumConfigurationsr(   Nr)   r(   r2   r3   r6   r6      sy    G$"G,8$)"G,"G,"G,X&h'h' '*W% '*%w/1Hr2   r6   c                   s&    ] tR t^tR]3R]3.tRtR# )_openusb_request_resultstatustransferred_bytesr(   N)r*   r+   r,   r-   c_int32c_uint32r0   r1   r(   r2   r3   r7   r7      s    7#$h/1Hr2   r7   c                   s   a a ] tR t^t oV 3R lt ! R R]4      tR]3R]! ]4      3R]	3R]	3R]	3R	]
3R
]3.tRtVtV ;t# )_openusb_ctrl_requestc                s>  < \         \        V `  4        ^ V P                  n        ^ V P                  n        ^ V P                  n        ^ V P                  n        RV n        ^ V n	        ^ V n
        ^ V n        ^ V P                  n        ^ V P                  n        RV n        R# r    N)Zsuperr<   __init__setupbmRequestTypebRequestwValuewIndexpayloadlengthtimeoutflagsresultr8   r9   next)self	__class__s   &r3   r>   Z_openusb_ctrl_request.__init__   s|    #T35#$

 






()%	r2   c                   s2    ] tR t^tR]3R]3R]3R]3.tRtR# ))_openusb_ctrl_request._openusb_ctrl_setupr@   rA   rB   rC   r(   Nr)   r(   r2   r3   _openusb_ctrl_setuprL      s)    $g.)x(x(*r2   rM   r?   rD   rE   rF   rG   rH   rI   )rG   rE   rI   rD   rF   )r*   r+   r,   r-   r>   	StructurerM   POINTERr.   r;   r7   c_void_pr0   r1   __classdictcell__Z__classcell__)rK   __classdict__s   @@r3   r<   r<      s`     *i *
 -.GG,-8$H%(#23"$HHr2   r<   c                   sP    ] tR t^tR]3R]! ]4      3R]3R]3R]3R]3R]	3.t
RtR	# )
_openusb_intr_requestZintervalrD   rE   rF   rG   rH   rI   r(   N)r*   r+   r,   r-   r/   rO   r.   r;   r7   rP   r0   r1   r(   r2   r3   rS   rS      sG    X&GG,-8$H%(#23"$Hr2   rS   c                   sJ    ] tR t^tR]! ]4      3R]3R]3R]3R]3R]3.t	Rt
R# )	_openusb_bulk_requestrD   rE   rF   rG   rH   rI   r(   N)r*   r+   r,   r-   rO   r.   r;   r7   rP   r0   r1   r(   r2   r3   rT   rT      s?    GG,-8$H%(#23"$Hr2   rT   c                   sH    ] tR t^t ! R R]4      tR]3R]! ]4      3.tRt	R# )_openusb_isoc_pktsc                   s2    ] tR t^tR]! ]4      3R]3.tRtR# )'_openusb_isoc_pkts._openusb_isoc_packetrD   rE   r(   N)	r*   r+   r,   r-   rO   r.   r;   r0   r1   r(   r2   r3   _openusb_isoc_packetrV      s     01x(*r2   rW   Znum_packetsZpacketsr(   N)
r*   r+   r,   r-   rN   rW   r;   rO   r0   r1   r(   r2   r3   rU   rU      s-    *y * )G$89:<Hr2   rU   c                   sJ    ] tR t^tR]3R]3R]3R]! ]4      3R]3R]	3.t
RtR# )	_openusb_isoc_requestZstart_framerG   ZpktsZisoc_resultsZisoc_statusrI   r(   N)r*   r+   r,   r-   r;   rU   rO   r7   r:   rP   r0   r1   r(   r2   r3   rX   rX      s@    )(#+,)@!AB("$Hr2   rX   c                 sH    \         P                  P                  RR RV R7      # )openusbzOpenUSB libraryZfind_library)rY   )usb	libloaderZload_locate_libraryrZ      &r3   _load_libraryr^     s*     ==,,i!2 -  r2   c                 s
   \         \        \        4      .V P                  n        \
        V P                  n        \        .V P                  n        \        \        \        \        4      4      \        \         4      .V P                  n        \        \        4      .V P                  n        \        \        \        \        \        4      4      \        \         4      .V P                  n        \
        V P                  n        \        \        4      .V P                  n        \        \        \         \        \        4      .V P                  n        \
        V P                  n        \        .V P                   n        \
        V P                   n        \        \"        .V P$                  n        \
        V P$                  n        \        \        \"        4      .V P&                  n        \
        V P&                  n        \        \"        \(        .V P*                  n        \
        V P*                  n        \        \"        .V P,                  n        \
        V P,                  n        \        \"        \"        .V P.                  n        \
        V P.                  n        \        .V P0                  n        \
        V P0                  n        \        \        \        \"        4      \2        \        \4        4      .V P6                  n        \
        V P6                  n        \        \        \        \"        4      \2        \"        \        \8        4      .V P:                  n        \
        V P:                  n        \        \        \        \"        4      \2        \"        \"        \"        \        \<        4      .V P>                  n        \
        V P>                  n        \        \        \        \"        4      \2        \"        \"        \"        \"        \        \@        4      .	V PB                  n        \
        V P>                  n        \
        .V PD                  n        \F        V PD                  n        \        \"        \"        \        \H        4      .V PJ                  n        \
        V PJ                  n        \        \"        \"        \        \L        4      .V PN                  n        \
        V PN                  n        \        \"        \"        \        \P        4      .V PR                  n        \
        V PR                  n        \        \"        \"        \        \T        4      .V PV                  n        \
        V PV                  n        R # N),r;   rO   _openusb_handleopenusb_initZargtypesr:   Zrestypeopenusb_fini_openusb_busidopenusb_get_busid_listopenusb_free_busid_list_openusb_devidopenusb_get_devids_by_busopenusb_free_devid_list_openusb_dev_handleopenusb_open_deviceopenusb_close_devicer.   openusb_set_configurationopenusb_get_configurationZc_intopenusb_claim_interfaceopenusb_release_interfaceopenusb_set_altsettingopenusb_resetr/   r6   openusb_parse_device_descr5   openusb_parse_config_descr4   openusb_parse_interface_descr$   openusb_parse_endpoint_descopenusb_strerrorZc_char_pr<   openusb_ctrl_xferrS   openusb_intr_xferrT   openusb_bulk_xferrX   Zopenusb_isoc_xfer)Zlibr]   r3   _setup_prototypesrz     s   !)7?+C DC&C "1 1C GN+,H+
C' -4N,C+DC(  /0!	.C!!* -4C!!) -4N,C+DC(  +,	(C$ '.C# *=(=C%'.C$ /B7-KC!!*,3C!!) /B77CS-TC!!*,3C!!)  ,
C( +2C'
  .
C!!*
 -4C!!)  +
C'
 *1C& #6!6C 'C G$%.
C!!* -4C!!)   ().C!!* -4C!!) $"G$/0	1C$$- 07C$$, $"G$./
0C##, 07C$$, &-IC!#+C   )*	&
C" %,C! $-.	&C" %,C!  )*	&
C" %,C!  )*	&
C" %,C!r2   c                 s   \        V R 4      '       d   V P                  p V ^ 8w  db   V \        8X  d,   \        \        P                  V 4      V \        V ,          4      h\        \        P                  V 4      V \        V ,          4      hV # )value)hasattrr{   r"   r   _librv   _openusb_errnor   )Zretr]   r3   _checkr     sl    sGii
ax$$!$"7"7"<c>RUCVWW4005sN3<OPPJr2   c                   s,   a  ] tR tRt o R tR tRtV tR# )_Contexti  c                s    \        4       V n        \        \        P	                  ^ \        V P                  4      4      4       R# r=   )r`   handler   r}   ra   byrefrJ   r]   r3   r>   Z_Context.__init__  s*    %'t  E$++$678r2   c                l    \        V R 4      '       d"   \        P                  V P                  4       R# R# )r   N)r|   r}   rb   r   r   r]   r3   _finalize_objectZ_Context._finalize_object  s&    4""dkk* #r2   )r   N)r*   r+   r,   r-   r>   r   r1   rQ   rR      @r3   r   r     s     9+ +r2   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )_BusIteratori  c           	     s   \        \        4      ! 4       V n        \        4       p\	        \
        P                  \        P                  \        V P                  4      \        V4      4      4       VP                  V n        R # r_   )rO   rc   buslistr;   r   r}   rd   _ctxr   r   r{   
num_busids)rJ   r      & r3   r>   Z_BusIterator.__init__  sV    ~.0Z
t**4;;+0+>+0+<> 	? %**r2   c              #  p   "   \        V P                  4       F  pV P                  V,          x  K  	  R # 5ir_   )ranger   r   rJ   Zir   r3   __iter__Z_BusIterator.__iter__  &     t'A,,q/! (   46c                r   )r   N)r|   r}   re   r   r   r]   r3   r   Z_BusIterator._finalize_object  &    4##((6 $r2   )r   r   N	r*   r+   r,   r-   r>   r   r   r1   rQ   r   r   r3   r   r     s     +"7 7r2   r   c                   r   )_DevIteratori  c           
     s   \        \        4      ! 4       V n        \        4       p\	        \
        P                  \        P                  V\        V P                  4      \        V4      4      4       VP                  V n        R # r_   )rO   rf   devlistr;   r   r}   rg   r   r   r   r{   
num_devids)rJ   Zbusidr      && r3   r>   Z_DevIterator.__init__  s[    ~.0Z
t--dkk.3.3DLL.A.3J.?A 	B %**r2   c              #  r   r_   )r   r   r   r   r   r3   r   Z_DevIterator.__iter__$  r   r   c                r   )r   N)r|   r}   rh   r   r   r]   r3   r   Z_DevIterator._finalize_object'  r   r2   )r   r   Nr   r   r   r3   r   r     s     +"7 7r2   r   c                   s4  a  ] tR tRt o ]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t	]! ]4      R 4       t
]! ]4      R 4       t]! ]4      R 4       t]! ]4      R	 4       t]! ]4      R
 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       t]! ]4      R 4       tRtV tR# )_OpenUSBi+  c              #  s\   "   \        4        F  p\        V4       F  pVx  K	  	  K  	  R # 5ir_   )r   r   )rJ   busZdevids   &  r3   enumerate_devicesZ_OpenUSB.enumerate_devices,  s%     >C%c* + "s   *,c                s    \        4       p\        \        P                  \        P
                  VR ^ \        V4      4      4       R Vn        R Vn        R Vn	        R Vn
        R Vn        V# r_   )r6   r   r}   rr   r   r   r   r   ZaddressZport_numberZport_numbersZspeed)rJ   devdescr   r3   get_device_descriptorZ_OpenUSB.get_device_descriptor2  sa    !t--dkk.1.2./.3Dk	; 	<
  
r2   c                s    \        4       p\        \        P                  \        P
                  VR ^ V\        V4      4      4       R Vn        V# r_   )r5   r   r}   rs   r   r   r   extra_descriptors)rJ   r   configr      &&& r3   get_configuration_descriptorZ%_OpenUSB.get_configuration_descriptorA  sG    !t--dkk.1.2./.4.3Dk; 	< "&r2   c                s    \        4       p\        \        P                  \        P
                  VR ^ VVV\        V4      4      4       R Vn        V# r_   )r4   r   r}   rt   r   r   r   r   )rJ   r   intfaltr   r   s   &&&&& r3   get_interface_descriptorZ!_OpenUSB.get_interface_descriptorM  sM    "$t0014151217151416t> 	? "&r2   c                s    \        4       p\        \        P                  \        P
                  VR ^ VVVV\        V4      4	      4       R Vn        V# r_   )r$   r   r}   ru   r   r   r   r   )rJ   r   epr   r   r   r   s   &&&&&& r3   get_endpoint_descriptorZ _OpenUSB.get_endpoint_descriptor[  sP    !#t//0304010604030205d= 	> "&r2   c           
     s    \        4       p\        \        P                  \        P
                  V^ \        V4      4      4       V# r    )ri   r   r}   rj   r   r   r   )rJ   r   r   r   r3   open_deviceZ_OpenUSB.open_devicej  s0    $&t''S!U6]KLr2   c                s0    \         P                  V4       R # r_   )r}   rk   rJ   
dev_handle   &&r3   close_deviceZ_OpenUSB.close_devicep  s    !!*-r2   c                sB    \        \        P                  W4      4       R # r_   )r   r}   rl   )rJ   r   Zconfig_value   &&&r3   set_configurationZ_OpenUSB.set_configurationt  s    t--jGHr2   c                s~    \        4       p\        \        P                  V\	        V4      4      4       VP
                  # r_   )r.   r   r}   rm   r   r{   )rJ   r   r   r   r3   get_configurationZ_OpenUSB.get_configurationx  s,    t--j%-HI||r2   c                sD    \        \        P                  WV4      4       R # r_   )r   r}   rp   )rJ   r   r   Z
altsettings   &&&&r3   set_interface_altsettingZ!_OpenUSB.set_interface_altsetting~  s    t**:ZHIr2   c                sD    \        \        P                  W^ 4      4       R# r=   )r   r}   rn   rJ   r   r   r   r3   claim_interfaceZ_OpenUSB.claim_interface  s    t++Ja@Ar2   c                s0    \         P                  W4       R # r_   )r}   ro   r   r   r3   release_interfaceZ_OpenUSB.release_interface  s    &&z8r2   c           
     H   \        4       p\        \        V4      ^ \        V4      4       VP	                  4       w  qvn        \        V\        \        4      4      Vn	        WVn
        \        \        P                  WV\        V4      4      4       VP                  P                  # r   rT   memsetr   sizeofbuffer_inforE   castrO   r.   rD   rF   r   r}   ry   rH   r9   rJ   r   r   r   datarF   requestrD      &&&&&&  r3   
bulk_writeZ_OpenUSB.bulk_write  t    ')uW~q&/2"&"2"2"4w(89!t%%jE'NKL~~///r2   c           
     r   r   r   rJ   r   r   r   ZbuffrF   r   rD   r   r3   	bulk_readZ_OpenUSB.bulk_read  r   r2   c           
     r   r   rS   r   r   r   r   rE   r   rO   r.   rD   rF   r   r}   rx   rH   r9   r   r   r3   
intr_writeZ_OpenUSB.intr_write  r   r2   c           
     r   r   r   r   r   r3   	intr_readZ_OpenUSB.intr_read  r   r2   c           
     s(   \        4       pW(P                  n        W8P                  n        VP                  P                   VP                  P
                   Wxn        \        P                  P                  V4      p	VP                  4       w  qn        V;P                  VP                  ,          un        \        V
\        \        4      4      Vn        \#        \$        P'                  V^ ^ \)        V4      4      4       VP*                  P,                  # r   )r<   r?   r@   rA   rB   rC   rF   r[   utilZctrl_directionr   rE   Zitemsizer   rO   r.   rD   r   r}   rw   r   rH   r9   )rJ   r   r@   rA   rB   rC   r   rF   r   Z	directionrD   s   &&&&&&&&   r3   ctrl_transferZ_OpenUSB.ctrl_transfer  s     ()&3#!)!HH++M:	"&"2"2"4$--'w(89t%%j!QgGH~~///r2   c                sB    \        \        P                  V4      4       R # r_   )r   r}   rq   r   r   r3   reset_deviceZ_OpenUSB.reset_device  s    t!!*-.r2   c           	     s    \         P                  ! \         P                  \         P                  \         P                  4      pV P                  VV^^ V\        P                  ! 4       R4       R# )i   i  N)r   Zbuild_request_typeZCTRL_OUTZCTRL_TYPE_STANDARDZCTRL_RECIPIENT_ENDPOINTr   _interopZas_array)rJ   r   r   r@   r   r3   
clear_haltZ_OpenUSB.clear_halt  sY    // MM 33 88: 		r2   r(   N)r*   r+   r,   r-   r   _loggerr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   rQ   r   r   r3   r   r   +  s     
   	 	      
 . . I I  
 J J B B 9 9 0 0 0 0 0 0 0 0$ 0 02 / /  r2   r   c                 s\    \         f%   \        V 4      s \        \         4       \        4       s\
        P                  R4       \        4       #   \        P                  P                   d    \
        P                  RRR7        R # \         d    \
        P                  RRR7        R # i ; i)NzFOpenUSB backend deprecated (https://github.com/pyusb/pyusb/issues/284)zError loading OpenUSB backendF)Zexc_infoT)r}   r^   rz   r   r   r   Zwarningr   r[   r\   ZLibraryExceptionZerrorZ	ExceptionrZ   r]   r3   r   r     s    < .Dd#:D`az==)) 5F 5Es   A
A 6B+B+B+*B+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiir_   )UZctypesZctypes.utilZusb.utilr[   Z
usb._debugr   ZloggingZerrnoZsysZusb._interopr   Zusb._objfinalizerZ_objfinalizerr   Zusb.libloaderZusb.corer   r   Z
__author__Z__all__Z	getLoggerr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Z__dict__Zgetr~   rN   r$   r4   r5   r6   r7   r<   rS   rT   rU   rX   Zc_uint64rf   rc   r`   ri   r}   r   r^   rz   r   ZAutoFinalizedObjectr   r   r   ZbackendZIBackendr   r   r(   r2   r3   <module>r      s  >    "   
  )   .#
!
!
!
 '!
 #	!

 #!
 $!
 (!
 #!
 !
 !
 !
 "!
 %!
 %!
 '!
   !!
" "#!
$ #%!
& '!
( #)!
* %+!
, %-!
. &/!
0 (1!
2 &3!
4 '5!
6 (7!
8 )9!
: +;!
< .=!
> !?!
@ "A!
F 

1
2                         " "%    D T  ++Hd;  	 
 %..,,Xt<  enn00=  ++GT:  ##GT2  5>>%%h5  U^^''$7    5>>--h=  5>>--h=  T  d   ! " # $ U^^''t4++E485>>--eT:5>>--gt<Denn00$?ENN..{DATenn00dCt #Du~~))+t<**7D9? D, ,	)) 	)(y (1y 1 1i 1$I $8$I $$I $< <$I $  b,H
+}00 +7=44 77=44 7 {s{{## {zr2   