+
    Ki  c                   st    ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt  ! R R	]	4      tR# )
i    N)gettext)copyfile)MissingGameExecutableError)Runner)system)loggerc                   s4  a  ] tR t^t o ]! R4      t]! R4      .t]! R4      tRtRt	Rt
RtRR	R
RR]! R4      R]! R4      /RRR
RR]! R4      R]! R4      /.tRRR]! R4      R
RR]! R4      /RRR]! R4      R
RR]! R4      /.t]R 4       tR tR tR tRtV tR# ) ryujinxZRyujinxzNintendo SwitchzNintendo Switch emulatorTzryujinx/publish/Ryujinxzio.github.ryubing.Ryujinxz\https://lutris.nyc3.digitaloceanspaces.com/runners/ryujinx/ryujinx-1.0.7074-linux_x64.tar.gzZoption	main_fileZtypeZfileZlabelzNSP fileZhelpz+The game data, commonly called a ROM image.application_idZstringzApplication IDz5Select which app to launch for a multi-game XCI image	prod_keyszEncryption keysz$File containing the encryption keys.
title_keysz
Title keyszFile containing the title keys.c                s   RpV F  p\         P                  ! \        P                  P	                  \        P                  P                  V4      R4      4      p\         P                  ! V4      '       g   Kr  VR\        R4      )  u # 	  R# )z#Return dir where Ryujinx files lie.ZnandN)z~/.local/share/ryujinx)r   Zfix_path_caseospathjoinZ
expanduserpath_existsZlen)selfZ
candidatesZ	candidater      &   ;/usr/lib/python3.14/site-packages/lutris/runners/ryujinx.pyryujinx_data_dirZryujinx.ryujinx_data_dir2   sf     1
#I''RWW5G5G	5RTZ([\D!!$''Ns6{l++ $    c                sp   V P                  4       pV P                  P                  R4      ;'       g    Rp\        P                  ! V4      '       g   \        VR7      hV P                  P                  R4      ;p'       d#   VP                  R4       VP                  V4       VP                  V4       RV/# )zRun the game.r   Z )Zfilenamer   z--application-idZcommand)Zget_commandZgame_configgetr   r   r   Zappend)r   Z	argumentsZromZapp_idr   r   playZryujinx.play;   s    $$&	"";/552!!#&&,c::%%))*:;;6;/0V$9%%r   c                sd   V P                   pV'       g   \        P                  ! R4       R# VR8X  d"   \        P                  P                  VR4      pMAVR8X  d"   \        P                  P                  VR4      pM\        P                  ! RV4       R# V P                  P                  V4      pV'       g   \        P                  ! RV4       R# \        P                  ! V4      '       g   \        P                  ! R	V4       R# \        P                  P                  V4      p\        P                  P                  V4      '       g   \        P                  ! V4       MC\        P                  P                  V4      '       d   \         P"                  ! WC4      '       d   R# \%        WC4       R# )
zUpdate a keys file if setzRyujinx data dir not setNr	   zkeys/prod.keysr
   zkeys/title.keyszInvalid keys type %s!zNo %s file was set.zKeys file %s does not exist!)r   r   Zerrorr   r   r   Zrunner_configr   Zdebugr   r   ZwarningZdirnameZexistsZmakedirsZisfilefilecmpZcmpr   )r   key_typer   Zkey_lockeyZkeys_dirs   &&    r   _update_keyZryujinx._update_keyH   s   00LL34{"ggll#35EFG%ggll#35FGGLL0(;  $$X.LL.9!!#&&NN93?77??7+ww~~h''KK!WW^^G$$S)B)Br   c                s<    R F  pV P                  VR7       K  	  R# )r	   )r   N)r	   r
   )r   )r   r   s   & r   	prelaunchZryujinx.prelaunchf   s    .Cc* /r    N)Z__name__Z
__module__Z__qualname__Z__firstlineno___Z
human_nameZ	platformsZdescriptionZrunnable_aloneZrunner_executableZ
flatpak_idZdownload_urlZgame_optionsZrunner_optionsZpropertyr   r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s    9J$%&I./KN1,JqL kFQz]ACD		
 &HQ'(AMN		
L  kQ()FA<=		
 lQ|_FA78		
N , ,&<+ +r   r   )r   r   r    r   Zshutilr   Zlutris.exceptionsr   Zlutris.runners.runnerr   Zlutris.utilr   Zlutris.util.logr   r   r   r   r   <module>r      s+     	    8 (  "\+f \+r   