+
    ei  c                   s    ^ RI t ^ RIt^ RIt^RIHt ^RIHt ^RIHt ^RI	H
t
HtHtHt  ^ RIt^ RIHt R t ! R R	]4      t ! R
 R]4      tR#   ] d     L$] d     L,i ; i)    N)KeyringBackend)
properties)SimpleCredential)	InitErrorKeyringLockedPasswordDeleteErrorPasswordSetError)DBusGMainLoopc                 s    \         \        \        3p \        P                  ! V 4      ;_uu_ 4        \
        P                  ^ ,          uuRRR4       #   + '       g   i     R# ; i)z'
Safely infer an app id from sys.argv.
N)AttributeErrorZ
IndexErrorZ	TypeError
contextlibZsuppresssysZargv)Zalloweds    =/usr/lib/python3.14/site-packages/keyring/backends/kwallet.py_id_from_argvr      s;     j)3G			W	%	%xx{ 
&	%	%	%s   AA#	c                   s   a a ] tR t^t oRt]! 4       ;'       g    RtRtRtRt	]
P                  V3R lR l4       tV 3R ltR	 tR
 tR tV 3R ltR tR tRtVtV ;t# )DBusKeyringz
KDE KWallet 5 via D-Bus
zPython keyring libraryNzorg.kde.kwalletd5z/modules/kwalletd5c                s    < V ^8  d   QhRS[ /# )i   Zreturn)Zfloat)Zformat__classdict__s   "r   Z__annotate__ZDBusKeyring.__annotate__(   s           c                s   R \        4       9  d   \        R4      h \        P                  ! \	        4       R7      pTP                  T P                  4      '       d    T P                  TP                  4       9   g   \        R4      hR\        P                  ! RR4      P                  R4      9   d   R	# R
#   \        P
                   d    p\        TP                  4       4      ThRp?ii ; i)dbuszpython-dbus not installedZmainloopNzCThe KWallet daemon is neither running nor activatable through D-BusZKDEZXDG_CURRENT_DESKTOPZ Z:gffffff@g@)ZglobalsZRuntimeErrorr   
SessionBusr   DBusExceptionZget_dbus_messageZname_has_ownerbus_nameZlist_activatable_namesosZgetenvZsplit)clsbusZexcs   &  r   priorityZDBusKeyring.priority'   s    ":;;	@//=?;C s||,, : : <<U  BII3R8>>sCC !! 	@s3356C?	@s   B5 5C)
C$$C)c                s6   < \         SV `  ! V/ VB  RV n        R# )   Ni)super__init__handle)selfZargZkw	__class__s   &*,r   r   ZDBusKeyring.__init__:   s    #$$r   c                s   R p. pV P                   P                  V P                  W P                  4      '       EdI   V P                   P	                  V P                  VRV P                  4      pVP                  4        F  pV^ ,          pV^,          pVP                  R^4      w  rqV P                   P                  V P                  WW`P                  4      pV^ 8X  g   Kc  V P                   P                  V P                  W%V P                  4       K  	  V P                   P	                  V P                  VRV P                  4      pV'       g3   V P                   P                  V P                  W P                  4       R# R# R# )ZPythonz*@*Z@Z*N)
ifaceZ	hasFolderr   appidZreadPasswordListZitemsZrsplitwritePasswordremoveEntryZremoveFolder)	r   serviceZ
old_folderZ
entry_listZentryZkeypasswordusernameZrets	   &&       r   _migrateZDBusKeyring._migrate>   s'   

::ZDD44Z

J $))+Ah 8$'JJsA$6!jj..KKHjj !8JJ**4;;
T , 44ZdjjJ 

''ZL ' Er   c                sr   V P                   ^ 8  d.   V P                  P                  V P                   4      '       d   R# \        P                  ! \        4       R7      p^ p VP                  V P                  V P                  4      p\        P                  ! VR4      V n        V P                  P                  V P                  P                  4       W0P                  4      V n         T P                   ^ 8  d   R# T P                  T4       R#   \        P                   d   p\        RT R24      ThRp?ii ; i)r    Tr   zorg.kde.KWalletzFailed to open keyring: Z.NF)r   r    ZisOpenr   r   r   Z
get_objectr   object_pathZ	InterfaceZopenZnetworkWalletr!   r   r   r'   )r   r$   r   ZwIdZ
remote_objZes   &&    r   	connectedZDBusKeyring.connectedW   s    ;;!zz  --oo}7	Dt7G7GHJ
4EFDJ**//$***B*B*Dc::VDK ;;?g !! 	D6qc;<!C	Ds   !BD D6!D11D6c                s0   V P                  V4      '       g   \        R4      hV P                  P                  V P                  WV P
                  4      '       g   R# V P                  P                  V P                  WV P
                  4      p\        V4      # )z,Get password of the username for the serviceFailed to unlock the keyring!N)r)   r   r    hasEntryr   r!   readPasswordstrr   r$   r&   r%   s   &&& r   get_passwordZDBusKeyring.get_passwordj   sk    ~~g&& ?@@zz""4;;4::NN::**4;;4::V8}r   c                s~  < Ve   \         SV `  W4      # V P                  V4      '       g   \        R4      hV P                  P                  V P                  WP                  4       FR  pV P                  P                  V P                  WV P                  4      p\        \        V4      \        V4      4      u # 	  R# )zGets the first username and password for a service.
Returns a Credential instance

The username can be omitted, but if there is one, it will forward to
get_password.
Otherwise, it will return the first username and password combo that it finds.
Nr*   )r   get_credentialr)   r   r    Z	entryListr   r!   r,   r   r-   )r   r$   r&   r%   r   s   &&& r   r0   ZDBusKeyring.get_credentialt   s     7)'<<~~g&& ?@@

,,T[['::NHzz..W

H $CM3x=AA	 Or   c                s    V P                  V4      '       g   \        R4      hV P                  P                  V P                  WW0P
                  4       R# )z,Set password for the username of the serviceCancelled by userN)r)   r   r    r"   r   r!   r.   s   &&&&r   set_passwordZDBusKeyring.set_password   s;    ~~g&&"#677

  g::Vr   c                s0   V P                  V4      '       g   \        R4      hV P                  P                  V P                  WV P
                  4      '       g   \        R4      hV P                  P                  V P                  WV P
                  4       R# )z4Delete the password for the username of the service.r1   zPassword not foundN)r)   r   r    r+   r   r!   r#   )r   r$   r&   s   &&&r   delete_passwordZDBusKeyring.delete_password   sh    ~~g&&%&9::zz""4;;4::NN%&:;;

t{{GtzzJr   )r   r    )__name__
__module____qualname____firstlineno____doc__r   r!   Zwalletr   r(   r   classpropertyr   r   r'   r)   r/   r0   r2   r3   __static_attributes____classdictcell____classcell__r   r      @@r   r   r      sp      O777EF"H&K $M2&B*WK Kr   r   c                   s\   a a ] tR t^t oRtRtRt]P                  V 3R l4       t	Rt
VtV ;t# )DBusKeyringKWallet4z
KDE KWallet 4 via D-Bus
zorg.kde.kwalletdz/modules/kwalletdc                s&   < \         SV `  ^,
          # )r   )r   r   )r   r   s   &r   r   ZDBusKeyringKWallet4.priority   s    w!##r    )r4   r5   r6   r7   r8   r   r(   r   r9   r   r:   r;   r<   r=   r>   r   r?   r?      s3      "H%K$ $ $r   r?   )r
   r   r   Zbackendr   Zcompatr   Zcredentialsr   Zerrorsr   r   r   r   r   Zdbus.mainloop.glibr   ZImportErrorr	   r   r   r?   r@   r   r   <module>rA      sj     	 
 $  * T T	0zK. zKz
$+ 
$[  	 		s   
A A#A#A#"A#