Kotlin, 148 146146 145 bytes
Removed extra parentheses for -2
Replaced raw string for -1
{l:Char->"""2XYZABC >"2XYZABC VW5DE 0VW5DE U9F T9G S9H RQ5JI 2PONMLK"""0RQ5JI 2PONMLK".map{c->if(c>'@')((c-'A'+(l-'A'))%26+65).toChar() else if(c>' ')" ".repeat(c-'/') else c'\n'}}