+
    :i  c                   s    ^ RI t ^ RIHtHtHt ^ RIHtHtHt ^ RI	H
t
 ^RIHtHtHt ^RIHt ] P"                  ! ]4      t ! R R]4      tR	 R
 ltR# )i    N)CtapHidDevicelist_descriptorsopen_connection)PID	TRANSPORT
Connection)	read_info)REINSERT_STATUSCancelledExceptionYkmanDevice)FidoConnectionc                   sN   a a ] tR t^t oRtV 3R ltR tV 3R ltR tRt	Vt
V ;t# )CtapYubiKeyDevicezYubiKey FIDO USB HID devicec                s   < \         SV `  \        P                  VP                  \        VP                  4      4       Wn        R # N)super__init__r   ZUSBZpathr   pid
descriptor)selfr   	__class__s   &&3/usr/lib/python3.14/site-packages/ykman/hid/fido.pyr   ZCtapYubiKeyDevice.__init__   s*    
Z^^9LM$    c                s"    \        \        V4      # r   )Z
issubclassr    )r   connection_types   &&r   supports_connectionZ%CtapYubiKeyDevice.supports_connection   s    -99r   c                s  < \        V\        4      '       g   Q hV P                  V4      '       dD   \        V P                  \        V P                  4      4      p\        V\        4      '       g   Q hV# \        SV `  V4      # r   )
isinstanceZtyper   r    r   r   r   r   )r   r   Zdevr   s   && r   r   Z!CtapYubiKeyDevice.open_connection   sh    /40000##O441QRCc:....Jw&77r   c                s  a R pV P                  \        4      ;_uu_ 4       p\        V\        4      '       g   Q h\	        W@P
                  4      pR R R 4       V! \        P                  4       \        P                  RV P                   24       VP                  R4      '       Eg   \        4       pV Uu0 uF  qwP                  kK  	  ppVfP   V P                  V9  d=   \        P                  RV P                   24       V! \        P                  4       TpK  K  W,
          p	\        V	4      ^8X  d   \        \!        V	4      4      o\        P                  RS 24       \        V3R lV 4       4      p
V
P                  V n        V
P$                  V n        V P                  \        4      ;_uu_ 4       p\        V\        4      '       g   Q h\	        W@P
                  4      pR R R 4       XP&                  XP&                  8w  g   VP(                  VP(                  8w  d   \+        R4      hR # \        V	4      ^8  g   EK  \+        R4      h\-        4       h  + '       g   i     EL; iu upi   + '       g   i     L; i)NzWaiting for removal of device g      ?z	Removed! z
Inserted! c              3   sL   <"   T F  qP                   S8X  g   K  Vx  K  	  R # 5ir   )fingerprint)Z.0kdev_fps   & r   Z	<genexpr>Z1CtapYubiKeyDevice._do_reinsert.<locals>.<genexpr>5   s     J$Q--62Iqq$s   $
$z.Reinserted YubiKey does not match the originalzMultiple YubiKeys inserted)r   r
   r   r   r   r   r   ZREMOVEloggerdebugr   Zwaitlist_ctap_devicesZREINSERTZlenZnextZiter_fingerprintr   ZserialZversion
ValueErrorr   )r   Zreinsert_cbZeventZremoved_stateZconnZinfoZkeysr   ZpresentZaddedZkeyZinfo2r   s   &&&         @r   _do_reinsertZCtapYubiKeyDevice._do_reinsert    s   !!.11TdJ////T88,D 2 	O**+5d6F6F5GHI**S//$&D.23d}}dG3$##72LL9T-=-=,>!?@ 8 89$+M 3
  /u:?!$u+.FLL:fX!67J$JJC(+D%&)nnDO--n==)$
;;;; )$ 9 > {{ell2dllemm6S(L  Z!^$%ABB ""E 211 4 >=s   .I5I+6.I0I(	0J 	)r   r   )__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r   r    Z__static_attributes__Z__classdictcell__Z__classcell__)r   Z__classdict__s   @@r   r   r      s!     %%:8$# $#r   r   c                s:    V ^8  d   QhR\         \        ,          /# )i   Zreturn)Zlistr   )Zformats   "r   __annotate__r"   G   s      4 12 r   c                  s    . p \        4        F1  pVP                  R 8X  g   K   V P                  \        V4      4       K3  	  V #   \         d(    \
        P                  RTP                  R 24        Kh  i ; i)iP  z$Unsupported Yubico device with PID: Z02x)r   ZvidZappendr   r   r   r   r   )ZdevsZdescs     r   r   r   G   sl    D "88vT-d34 # K  TCDHHS>RSTs   A.A65A6)ZloggingZ	fido2.hidr    r   r   Zyubikit.corer   r   r   Zyubikit.supportr   Zbaser   r   r	   Zfidor
   Z	getLoggerr!   r   r   r   ) r   r   <module>r#      sB     F F 3 3 % C C !			8	$6# 6#rr   