#!/usr/bin/ruby
var c1 = "\e[0;31m";
var c2 = "\e[1;30m";
var z = "\e[0m";
var arch_logo = <<"LOGO";
#{c1}###{z}\t\t\t
#{c1}##{c2}###{c1}##{z}\t\t\t
#{c1}##{c2}#####{c1}##{z}\t\t\t
#{c1}##{c2}#######{c1}##{z}\t\t\t
#{c1}##{c2}#########{c1}##{z}\t\t
#{c1}##{c2}###########{c1}##{z}\t\t
#{c1}##{c2}#############{c1}##{z}\t\t
#{c1}##{c2}###############{c1}##{z}\t\t
#{c1}##{c2}#################{c1}##{z}\t\t
#{c1}##{c2}###################{c1}##{z}\t\t
#{c1}##{c2}########{c1}#######{c2}########{c1}##{z}\t\t
#{c1}##{c2}########{c1}##{z} #{c1}##{z}#{c2}########{c1}##{z}\t\t
#{c1}##{c2}#########{c1}##{z} #{c1}##{z}#{c2}#########{c1}##{z}\t
#{c1}##{c2}##########{c1}##{z} #{c1}##{z}#{c2}##########{c1}##{z}\t
#{c1}##{c2}#######{c1}####{z} #{c1}####{c2}#######{c1}##{z}\t
#{c1}##{c2}#####{c1}###{z} #{c1}###{c2}#####{c1}##{z}\t
#{c1}##{c2}###{c1}##{z} #{c1}##{c2}###{c1}##{z}\t
#{c1}##{c2}##{c1}##{z} #{c1}##{c2}##{c1}##{z}\t
LOGO
arch_logo = arch_logo.lines.map{.trim_end}.join("\n");
var escaped0 = arch_logo.gsub(/\e/, '\e').quotemeta;
var escaped = '\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\#\\#\\#\\#\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[0m\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[0m\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[0m\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\#\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\#\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\#\\\\e\\[1\\;30m\\#\\#\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\
\\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\e\\[0\\;31m\\#\\\\e\\[1\\;30m\\#\\\\e\\[0\\;31m\\#\\\\e\\[0m';
var escaped1 = <<"LOGO".trim_end;
\e[0;31m##\e[0m
\e[0;31m#\e[1;30m##\e[0;31m#\e[0m
\e[0;31m#\e[1;30m####\e[0;31m#\e[0m
\e[0;31m#\e[1;30m######\e[0;31m#\e[0m
\e[0;31m#\e[1;30m########\e[0;31m#\e[0m
\e[0;31m#\e[1;30m##########\e[0;31m#\e[0m
\e[0;31m#\e[1;30m############\e[0;31m#\e[0m
\e[0;31m#\e[1;30m##############\e[0;31m#\e[0m
\e[0;31m#\e[1;30m################\e[0;31m#\e[0m
\e[0;31m#\e[1;30m##################\e[0;31m#\e[0m
\e[0;31m#\e[1;30m#######\e[0;31m######\e[1;30m#######\e[0;31m#\e[0m
\e[0;31m#\e[1;30m#######\e[0;31m#\e[0m \e[0;31m#\e[0m\e[1;30m#######\e[0;31m#\e[0m
\e[0;31m#\e[1;30m########\e[0;31m#\e[0m \e[0;31m#\e[0m\e[1;30m########\e[0;31m#\e[0m
\e[0;31m#\e[1;30m#########\e[0;31m#\e[0m \e[0;31m#\e[0m\e[1;30m#########\e[0;31m#\e[0m
\e[0;31m#\e[1;30m######\e[0;31m###\e[0m \e[0;31m###\e[1;30m######\e[0;31m#\e[0m
\e[0;31m#\e[1;30m####\e[0;31m##\e[0m \e[0;31m##\e[1;30m####\e[0;31m#\e[0m
\e[0;31m#\e[1;30m##\e[0;31m#\e[0m \e[0;31m#\e[1;30m##\e[0;31m#\e[0m
\e[0;31m#\e[1;30m#\e[0;31m#\e[0m \e[0;31m#\e[1;30m#\e[0;31m#\e[0m
LOGO
escaped == escaped0 ||
die "escaped-error";
escaped1 == arch_logo ||
die "double_escaped-error";
var apply = escaped.unescape.apply_escapes;
apply == arch_logo ||
die "apply_escapes-error";
say apply;