Reverse even lines

Reverse only the even lines without altering the odd lines.

Input

:s%.*%\=getline('.').nr2char(113)%|t.|s(.$(&&(|-s-.-s)\\(.\\)\\([\\x71]\\+\\)\\(\\2.*\\))\\2\\3\\1)|-g|s<[^|]*|$..>><|d d|@d|smile|9sl|se key=|x
:s%.*%\=getline('.').nr2char(119)%|t.|s(.$(&&(|-s-.-s)\\(.\\)\\([\\x77]\\+\\)\\(\\2.*\\))\\2\\3\\1)|-g|s<[^|]*|$..>><|d d|@d|X|se key=vim|x
:s%.*%\=getline('.').nr2char(111)%|t.|s(.$(&&(|-s-.-s)\\(.\\)\\([\\x6f]\\+\\)\\(\\2.*\\))\\2\\3\\1)|-g|s<[^|]*|$..>><|d d|@d|h!|x
:s%.*%\=getline('.').nr2char(112)%|t.|s(.$(&&(|-s-.-s)\\(.\\)\\([\\x70]\\+\\)\\(\\2.*\\))\\2\\3\\1)|-g|s<[^|]*|$..>><|d d|@d|smile|sl|se key=|x


# vim:key=vim

Output

:s%.*%\=getline('.').nr2char(113)%|t.|s(.$(&&(|-s-.-s)\\(.\\)\\([\\x71]\\+\\)\\(\\2.*\\))\\2\\3\\1)|-g|s<[^|]*|$..>><|d d|@d|smile|9sl|se key=|x
x|miv=yek es|X|d@|d d|<>>..>s<$|*]|^[..>><|d d|@d|h!|x
x|=yek es|ls|elims|d@|d d|<>>..>s<$|*]|^[