package Ġmay ac om ms Ċ Ċ import Ġcom . intellij . openapi . util . System Info Ċ import Ġcom . intellij . util . io . exists Ċ import Ġjava . nio . file . Paths Ċ Ċ private Ġconst Ġval Ġmay a Executable Name Win Ġ= Ġ" m aya . exe " Ċ private Ġconst Ġval Ġmay a Py Executable Name Win Ġ= Ġ" may apy . exe " Ċ Ċ private Ġconst Ġval Ġmay a Executable Name Mac Ġ= Ġ" May a " Ċ private Ġconst Ġval Ġmay a Py Executable Name Mac Ġ= Ġ" may apy " Ċ Ċ private Ġconst Ġval Ġmay a Executable Name Linux Ġ= Ġ" m aya " Ċ private Ġconst Ġval Ġmay a Py Executable Name Linux Ġ= Ġ" may apy " Ċ Ċ fun Ġmay a Py From May a ( path : ĠString ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġp Ġ= ĠPaths . get ( path ) ĊĊĠĠĠ Ġif Ġ( p . fileName . toString () Ġ!= Ġmay a Executable Name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( System Info . is Mac ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Path Ġ= Ġp . parent . parent . resolve (" bin /$ m aya Py Executable Name Mac ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( new Path . exists ()) Ġnew Path . toString () Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( System Info . is Windows Ġ|| ĠSystem Info . is Linux ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Path Ġ= Ġp . parent . resolve ( m aya Py Executable Name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( new Path . exists ()) Ġnew Path . toString () Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ fun Ġmay a From May a Py ( path : ĠString ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġp Ġ= ĠPaths . get ( path ) ĊĊĠĠĠ Ġif Ġ( p . fileName . toString () Ġ!= Ġmay a Py Executable Name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( System Info . is Mac ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Path Ġ= Ġp . parent . parent . resolve (" MacOS /$ m aya Executable Name Mac ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( new Path . exists ()) Ġnew Path . toString () Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( System Info . is Windows Ġ|| ĠSystem Info . is Linux ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Path Ġ= Ġp . parent . resolve ( m aya Executable Name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( new Path . exists ()) Ġnew Path . toString () Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ val Ġmay a Executable Name : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( System Info . is Windows ) Ġreturn Ġmay a Executable Name Win ĊĠĠĠĠĠĠĠ Ġif Ġ( System Info . is Mac ) Ġreturn Ġmay a Executable Name Mac ĊĠĠĠĠĠĠĠ Ġif Ġ( System Info . is Linux ) Ġreturn Ġmay a Executable Name Linux ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} Ċ Ċ val Ġmay a Py Executable Name : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( System Info . is Windows ) Ġreturn Ġmay a Py Executable Name Win ĊĠĠĠĠĠĠĠ Ġif Ġ( System Info . is Mac ) Ġreturn Ġmay a Py Executable Name Mac ĊĠĠĠĠĠĠĠ Ġif Ġ( System Info . is Linux ) Ġreturn Ġmay a Py Executable Name Linux ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} Ċ