\ifx\defcvmacro\undefined\else
	\defcvmacro\cverbatim{\tt}{\baselineskip}
	\defcvfilemacro\cverbatimfile{\tt}{\baselineskip}
	\defcvboxedfilemacro\cverbatimboxedfile{\tt}{\baselineskip}
	\endinput\fi
\newdimen\cvdefdimen
\newskip\cvdefskip
\newtoks\cvdeftoks
\newbox\cvlinebox
\newbox\cvlinesbox
\newskip\cvlineglue
\begingroup
\catcode`\ =13
\catcode`\~=10% to make the defs below more readable
\endlinechar=-1
\catcode`\^^M=13
\catcode`\^^I=13
\gdef\cverbatimfix^^M{\noindent}
\gdef\defcvmacro#1#2#3{
~~{#2\global\cvdeftoks=\expandafter{\the\font}\setbox0=\hbox{0}\global\cvdefdimen=\wd0\global\cvdefskip=#3}
~~\xdef#1{
~~~~\begingroup
~~~~\baselineskip=\the\cvdefskip
~~~~\par
~~~~\vskip\parskip
~~~~\the\cvdeftoks
~~~~\def\noexpand\do####1{\catcode`####1=12}\noexpand\dospecials
~~~~\catcode`\noexpand\@=0
~~~~\catcode`\noexpand\ =13
~~~~\endlinechar=`\noexpand\^^M
~~~~\catcode`\noexpand\^^M=13
~~~~\catcode`\noexpand\^^I=13
~~~~\def\noexpand\@{\char`\noexpand\@}
~~~~\def\noexpand {\hskip\the\cvdefdimen\noexpand\relax}
~~~~\parfillskip=0ptplus1fil
~~~~\parskip=0pt
~~~~\def\noexpand^^M{\hfil\par\noindent}
~~~~\def\noexpand^^I{\noexpand\errmessage{Tab in C verbatim text}}
~~~~\noexpand\cverbatimfix
~~}
}
\gdef\defcvfilemacro#1#2#3{
~~{#2\global\cvdeftoks=\expandafter{\the\font}\setbox0=\hbox{0}\global\cvdefdimen=\wd0\global\cvdefskip=#3}
~~\xdef#1##1{
~~~~\begingroup
~~~~\baselineskip=\the\cvdefskip
~~~~\par
~~~~\vskip\parskip
~~~~\the\cvdeftoks
~~~~\def\noexpand\do####1{\catcode`####1=12}\noexpand\dospecials
~~~~\catcode`\noexpand\ =13
~~~~\endlinechar=`\noexpand\^^M
~~~~\catcode`\noexpand\^^M=13
~~~~\catcode`\noexpand\^^I=13
~~~~\def\noexpand {\hskip\the\cvdefdimen\noexpand\relax}
~~~~\parfillskip=0ptplus1fil
~~~~\parskip=0pt
~~~~\def\noexpand^^M{\hfil\par\noindent}
~~~~\def\noexpand^^I{\noexpand\errmessage{Tab in C verbatim text}}
~~~~\noindent\noexpand\input##1~\par
~~~~\endgroup
~~}
}
\gdef\defcvboxedfilemacro#1#2#3{
~~{#2\global\cvdeftoks=\expandafter{\the\font}\setbox0=\hbox{0}\global\cvdefdimen=\wd0\global\cvdefskip=#3}
~~\xdef#1##1{
~~~~\begingroup
~~~~\baselineskip=\the\cvdefskip
~~~~\par
~~~~\vskip\parskip
~~~~\the\cvdeftoks
~~~~\def\noexpand\do####1{\catcode`####1=12}\noexpand\dospecials
~~~~\catcode`\noexpand\ =13
~~~~\endlinechar=`\noexpand\^^M
~~~~\catcode`\noexpand\^^M=13
~~~~\catcode`\noexpand\^^I=13
~~~~\def\noexpand {\hskip\the\cvdefdimen\noexpand\relax}
~~~~\parfillskip=0ptplus1fil
~~~~\parskip=0pt
~~~~\def\noexpand^^M{\noexpand\lineend\noexpand\linebegin}
~~~~\def\noexpand^^I{\noexpand\errmessage{Tab in C verbatim text}}
~~~~\parindent=0pt
~~~~\def\noexpand\linebegin{\setbox\cvlinebox=\hbox~to\hsize\bgroup\hskip\the\cvdefskip\vrule~height.1\baselineskip~width0pt\relax}
~~~~\def\noexpand\lineend{\hfil\hskip\the\cvdefskip\egroup\noexpand\addline}
~~~~\def\noexpand\setlineglue{\cvlineglue=\baselineskip\advance\cvlineglue-\prevdepth\advance\cvlineglue-\ht\cvlinebox}
~~~~\def\noexpand\addline{\noexpand\setlineglue\penalty0\nointerlineskip\vbox~to0pt{\noexpand\addlines\noexpand\vss}\nointerlineskip\nobreak\vskip\cvlineglue\nointerlineskip\nobreak\box\cvlinebox}
~~~~\def\noexpand\addlines{{\advance\cvlineglue\ht\cvlinebox%\advance\cvlineglue\dp\cvlinebox
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\setbox\cvlinesbox=\noexpand\linerules\dp\cvlinesbox=.25\dp\cvlinesbox\vbox~to\cvlineglue{\leaders\box\cvlinesbox\vfil}}
~~~~~~~~~~~~~~~~~~~~~~~~~~~\nointerlineskip\vbox~to0pt{\vss\nointerlineskip\noexpand\linerules\hrule~height0pt}}
~~~~\def\noexpand\linerules{\vtop{\hrule~height0pt\hbox~to\hsize{\noexpand\linerule\hfil\noexpand\linerule}}}
~~~~\def\noexpand\linerule{\vrule~height\ht\cvlinebox~depth\dp\cvlinebox}
~~~~\vbox{\hrule~width\hsize}
~~~~\noexpand\linebegin\noexpand\lineend
~~~~\noexpand\linebegin\noexpand\input##1~\noexpand\lineend
~~~~\noexpand\nointerlineskip\vbox{\hrule~width\hsize}
~~~~\endgroup
~~}
}
\gdef\endcverbatim{\par\endgroup}
\endgroup
\defcvmacro\cverbatim{\tt}{\baselineskip}
\defcvfilemacro\cverbatimfile{\tt}{\baselineskip}
\defcvboxedfilemacro\cverbatimboxedfile{\tt}{\baselineskip}
%\def\TT#1{\hbox{\tt #1}}
%\defcvmacro\cverbatimfile
%\gdef\cverbatimfile#1{
%~~\begingroup
%~~\baselineskip=\cverbbaselineskip
%~~\par
%~~\cverbtt
%~~\def\do##1{\catcode`##1=12}\dospecials
%~~\catcode`\ =13
%~~\endlinechar=`\^^M
%~~\catcode`\^^M=13
%~~\catcode`\^^I=13
%~~\def {\hskip\ttemspace\relax}
%~~\parfillskip=0ptplus1fil
%~~\parskip=0pt
%~~\def^^M{\hfil\par\noindent}
%~~\def^^I{\errmessage{Tab in C verbatim text}}
%~~\noindent
%~~\input#1~
%~~\par\endgroup
%}
%\def\TT#1{\setbox0=\hbox{\tt #1}%
% \kern-.025em\copy0\kern-\wd0
% \kern.05em\copy0\kern-\wd0
% \kern-.025em\raise.0433em\box0 }
%\font\ttsl=cmsltt10
