+
    ʦ^_\!                         ^ RI t ^ RIt ^ RIt ^ RIt^ RIt^ RI	t	^ RI
HtHtHtHtHt ^At^ t^t^Ct^t^t^Pt^Qt^Rt ! R R]4      tR#   ] d
    ^ RIHt  LIi ; i  ] d    ^ RIt LUi ; i)    N)
SerialBaseSerialExceptionPortNotOpenErrorto_bytesTimeoutc                      a a ] tR t^=t oRtV 3R ltR tR tR tR t	]
R 4       tR tR tR	 tRR
 ltR tR tRtVtV ;t# )Serialc                Z   < R V n         R V n        R V n        \        \        V `  ! V/ VB  R # N)_hid_handle_read_buffer_threadsuperr	   __init__)selfargskwargs	__class__s   &*,C/usr/lib/python3/dist-packages/serial/urlhandler/protocol_cp2110.pyr   Serial.__init__E   s.     fd$d5f5    c                   V P                   f   \        R4      hV P                  '       d   \        R4      h\        P                  ! 4       V n        \
        P                  ! 4       V n         V P                  V P                  4      pV P                  P                  V4        T P                  4        RT n        \        P                   ! T P"                  R7      T n        T P$                  P'                  R4       T P$                  P)                  RP                  T P                   4      4       T P$                  P+                  4        R #   \         d6   p\        TP                  RP                  T P                   T4      4      hR p?ii ; i    T P                  P-                  4        R T n        h     R T n        h ; i; i)Nz.Port must be configured before it can be used.zPort is already open.zcould not open port {}: {}T)targetz$pySerial CP2110 reader thread for {})_portr   is_openQueuer   hiddevicer   from_urlportstr	open_pathOSErrorerrnoformat_reconfigure_port	threadingThread_hid_read_loopr   	setDaemonsetNamestartclose)r   portpathmsgs   &  r   openSerial.openK   sd   ::!"RSS<<<!"9::!KKM::<	c}}T\\2H&&x0	!""$  DL$++43F3FGDLLL""4(LL  !G!N!Ntzz!Z[LL #  	c!#))-I-P-PQUQ[Q[]`-abb	c
	  &&(  $D#Ds<   ,6E #F F0FFGF3+G3F>5Gc                (   \         P                  ! V4      pVP                  R 8w  d%   \        RP	                  VP                  4      4      hVP
                  '       d   VP
                  P                  R4      # VP                  P                  R4      # )cp2110zuexpected a string in the forms "cp2110:///dev/hidraw9" or "cp2110://0001:0023:00": not starting with cp2110:// {{!r}}zutf-8)urlparseurlsplitschemer   r$   netlocencodepath)r   urlpartss   && r   r   Serial.from_urlj   su    !!#&<<8#!55;VELL5IK K <<<<<&&w//zz  ))r   c                    R V n         V P                  '       d#   V P                  P                  ^4       RV n        V P                  P	                  4        RV n        R# FN)r   r   joinr   r,   r   s   &r   r,   Serial.closeu   sE    <<<LLa DL r   c           	        R pV P                   \        P                  8X  d   ^ pMV P                   \        P                  8X  d   ^pMV P                   \        P                  8X  d   ^pMhV P                   \        P
                  8X  d   ^pMFV P                   \        P                  8X  d   ^pM$\        RP                  V P                   4      4      hV P                  '       d   ^pM^ pR pV P                  ^8X  d   ^ pM`V P                  ^8X  d   ^pMLV P                  ^8X  d   ^pM8V P                  ^8X  d   ^pM$\        RP                  V P                  4      4      hR pV P                  \        P                  8X  d   ^ pMhV P                  \        P                  8X  d   ^pMFV P                  \        P                  8X  d   ^pM$\        RP                  V P                  4      4      h\        P                   ! R\"        V P$                  VVVV4      pV P&                  P)                  V4       V P&                  P)                  \+        \,        \.        34      4       V P1                  4        R # )NzInvalid parity: {!r}zInvalid char len: {!r}z$Invalid stop bit specification: {!r}z>BLBBBB)_parityserialPARITY_NONE
PARITY_ODDPARITY_EVENPARITY_MARKPARITY_SPACE
ValueErrorr$   rtscts	_bytesize	_stopbitsSTOPBITS_ONESTOPBITS_ONE_POINT_FIVESTOPBITS_TWOstructpack_REPORT_GETSET_UART_CONFIG	_baudrater   send_feature_reportbytes_REPORT_GETSET_UART_ENABLE_ENABLE_UART_update_break_state)r   parity_valueflow_control_valuedata_bits_valuestop_bits_valueconfiguration_reports   &     r   r%   Serial._reconfigure_port}   s   <<6---L\\V...L\\V///L\\V///L\\V000L3::4<<HII;;;!%!%>>Q"O^^q "O^^q "O^^q "O5<<T^^LMM>>V000"O^^v==="O^^v222"OCJJ4>>Z[[%{{&NN  	,,-AB,,-|<=	?  "r   c                6    V P                   P                  4       # r   )r   qsizer?   s   &r   
in_waitingSerial.in_waiting   s      &&((r   c                   V P                   '       g   \        4       hV P                  P                  \	        \
        \        34      4       V P                  P                  4       '       d   V P                  P                  R 4       K=  R# r=   )
r   r   r   rT   rU   _REPORT_SET_PURGE_FIFOS_PURGE_RX_FIFOr   r`   getr?   s   &r   reset_input_bufferSerial.reset_input_buffer   sf    |||"$$,,*N;<	> %%''!!%( (r   c                    V P                   '       g   \        4       hV P                  P                  \	        \
        \        34      4       R # r   )r   r   r   rT   rU   rd   _PURGE_TX_FIFOr?   s   &r   reset_output_bufferSerial.reset_output_buffer   s6    |||"$$,,*N;<	>r   c                   V P                   '       g   \        4       hV P                  '       d-   V P                   P                  \	        \
        ^ 34      4       R# V P                   P                  \	        \        ^ 34      4       R# r   N)r   r   _break_staterT   rU   _REPORT_SET_TRANSMIT_LINE_BREAK_REPORT_SET_STOP_LINE_BREAKr?   s   &r   rX   Serial._update_break_state   si    "$$006:;= 002A679r   c                   V P                   '       g   \        4       h\        4       p \        V P                  4      p\        V4      V8  dt   V P                  f   \        R4      hV P                  P                  RVP                  4       4      pVf   \        V4      # W$,          pVP                  4       '       g   K  M \        V4      #   \        P                   d     L"i ; i)Nz&connection failed (reader thread died)T)r   r   	bytearrayr   _timeoutlenr   r   r   rf   	time_leftrU   expiredr   Empty)r   sizedatatimeoutbufs   &&   r   readSerial.read   s    |||"$${	dmm,Gd)d"<<')*RSS''++D'2C2C2EF; ;&??$$ # T{ {{ 		s   A6C C C$#C$c                   V P                   '       g   \        4       h\        V4      p\        V4      pV^ 8  dO   \	        V^?4      p\        V.4      VRV ,           pV P
                  P                  V4       WR p\        V4      pKU  R# rn   )r   r   r   rv   minr   write)r   r{   tx_len
to_be_sentreports   &&   r   r   Serial.write   s}    |||"$$~TqjVT*Jzl+d;J.??F""6*$DYF r   c                4    V P                   '       dq   V P                  P                  ^@^dR7      pV'       g   K9  VP                  ^ 4      pV\	        V4      8X  g   Q hV P
                  P                  \        V4      4       K   RV n        R#   RT n        i ; i)@   )
timeout_msN)	r   r   r~   poprv   r   putrt   r   )r   r{   data_lens   &  r   r(   Serial._hid_read_loop   s~    		 ,,,'',,RC,@88A;3t9,,,!!%%io6   DL4DLs   B $B AB 	B)r   r   r   r   )i,  iw  iX  i  i  i`	  i  i%  i K  i   i   i  i  i  i  i  i  i@B )   )__name__
__module____qualname____firstlineno__	BAUDRATESr   r/   r   r,   r%   propertyra   rg   rk   rX   r~   r   r(   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r	   r	   =   s]     "I6!>	* 7#r ) ))>9(
  
 r   r	   )rP   r&   r3   ImportErrorurllib.parseparser   queuer   rC   serial.serialutilr   r   r   r   r   rV   _DISABLE_UARTrW   rd   rj   re   rR   rp   rq   r	    r   r   <module>r      s   6  $   ^ ^ "  ! "& " E Z E ;  $#$
  s"   A A AAA)(A)