summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty')
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty4507
1 files changed, 4507 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
new file mode 100644
index 00000000000..d7450e6e43b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/tex4ht.sty
@@ -0,0 +1,4507 @@
+\ifnum\the\catcode`\%=14\else\expandafter\edef\csname
+ \string:RestoreCatcodes\endcsname{\catcode`\%\the
+ \catcode`\%}\catcode`\%14\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tex4ht.sty 2005-09-27-01:01 %
+% Copyright (C) 1996--2005 Eitan M. Gurari %
+% %
+% This work may be distributed and/or modified under the %
+% conditions of the LaTeX Project Public License, either %
+% version 1.3 of this license or (at your option) any %
+% later version. The latest version of this license is %
+% in %
+% http://www.latex-project.org/lppl.txt %
+% and version 1.3 or later is part of all distributions %
+% of LaTeX version 2003/12/01 or later. %
+% %
+% This work has the LPPL maintenance status "maintained".%
+% %
+% This Current Maintainer of this work %
+% is Eitan M. Gurari. %
+% %
+% If you modify this program your changing its signature %
+% with a directive of the following form will be %
+% appreciated. %
+% \message{signature} %
+% %
+% gurari@cse.ohio-state.edu %
+% http://www.cse.ohio-state.edu/~gurari %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\immediate\write-1{version 2005-09-27-01:01}
+
+\ifx \Preamble\UnDef \else
+ \csname expand:after\endcsname{\csname
+ BeforeTeXIVht\endcsname\let\BeforeTeXIVht\UnDef}
+\fi
+\expandafter\edef\csname :RestoreCatcodes\endcsname{%
+ \expandafter\ifx \csname :RestoreCatcodes\endcsname\relax\else
+ \csname :RestoreCatcodes\endcsname \fi
+ \ifnum \the\catcode`\ =10 \else
+ \catcode`\noexpand\ =\the\catcode`\ \fi
+ \ifnum \the\catcode`<=12 \else
+ \catcode`\noexpand <\the\catcode`<\fi
+ \ifnum \the\catcode`>=12 \else
+ \catcode`\noexpand >\the\catcode`>\fi
+ \ifnum \the\catcode`\?=12 \else
+ \catcode`\noexpand \?\the\catcode`\?\fi
+ \ifnum \the\catcode`+=12 \else
+ \catcode`\noexpand +\the\catcode`+\fi
+ \ifnum \the\catcode`*=12 \else
+ \catcode`\noexpand *\the\catcode`*\fi
+ \ifnum \the\catcode`;=12 \else
+ \catcode`\noexpand ;\the\catcode`;\fi
+ \ifnum \the\catcode`~=13 \else
+ \catcode`\noexpand ~\the\catcode`~\fi
+ \ifnum \the\catcode`$=3 \else
+ \catcode`\noexpand $\the\catcode`$\fi
+ \ifnum \the\catcode`&=4 \else
+ \catcode`\noexpand &\the\catcode`&\fi
+ \ifnum \the\catcode`\#=6 \else
+ \catcode`\noexpand \#\the\catcode`\#\fi
+ \catcode`\noexpand :\the\catcode`:%
+ \catcode`\noexpand "\the\catcode`"%
+ \catcode`\noexpand @\the\catcode`@%
+ \catcode`\noexpand _\the\catcode`_%
+ \catcode`\noexpand ^\the\catcode`^%
+ \catcode`\noexpand |\the\catcode`|%
+ \csname no:restore\endcsname
+ \ifnum \the\catcode`^=13
+ \let\expandafter\noexpand
+ \csname x:SUPOff\endcsname\noexpand\empty
+ \let\expandafter\noexpand
+ \csname x:SUPOn\endcsname\noexpand\empty
+ \catcode`\noexpand ^\the\catcode`^\fi
+\ifnum \the\catcode`_=13
+ \let\expandafter\noexpand
+ \csname x:SUBOff\endcsname\noexpand\empty
+ \let\expandafter\noexpand
+ \csname x:SUBOn\endcsname\noexpand\empty
+ \catcode`\noexpand _\the\catcode`_\fi
+%
+ \let\expandafter\noexpand\csname :RestoreCatcodes\endcsname
+ \noexpand\UnDefcS}
+\catcode`~13 \catcode`$3 \catcode`&4 \catcode`\#6
+\catcode`\:11 \catcode`\@11 \catcode`;12 \catcode`\ 10
+\catcode`\<12 \catcode`\>12 \catcode`+12 \catcode`*12
+\catcode`\?12
+\edef\SUPOff{%
+ \catcode`\noexpand ^\the\catcode`^\relax
+}
+\edef\SUBOff{%
+ \catcode`\noexpand _\the\catcode`_\relax
+}
+\bgroup
+ \catcode`\^13 \global\let\sys:sp^
+ \catcode`\_13 \global\let\sys:sb_
+\egroup
+
+\catcode`\^7 \catcode`\|=12 \catcode`"12
+
+ \def\:temp{\csname newif\endcsname}
+ \def\:tempa#1{%
+ \expandafter\ifx \csname #1\endcsname\relax
+ \expandafter\:temp \csname #1\endcsname
+ \fi}
+\:tempa{if:Option}
+\:tempa{if:latex}
+\:tempa{if:removeindent}
+\:tempa{if:nopar}
+\ifx \Htmltrue\:UnDef
+ \def\:temp{\csname newif\endcsname}
+ \expandafter\:temp \csname ifHtml\endcsname \Htmlfalse
+\fi
+
+ \def\:tempa#1{%
+ \expandafter\ifx \csname #1\endcsname\relax
+ \expandafter\:temp \csname #1\endcsname
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \def\expandafter\expandafter\expandafter
+ \rmv:ifs\expandafter{\rmv:ifs
+ \expandafter\let \csname #1\endcsname \:UnDef}
+ \fi}
+ \let\rmv:ifs\empty
+
+
+\expandafter\ifx \csname @latex@error\endcsname\relax
+ \:latexfalse \tracingstats1
+\else
+ \if:latex\else \ifx \@currname\empty
+ \def\:temp{\ifx \HCode\:UnDef
+ \:warning{Missing \string\Preamble...\string\EndPreamble?}\fi}
+\edef\:tempa{%
+ \noexpand\expandafter
+ \noexpand\expandafter
+ \noexpand\expandafter
+ \noexpand \def
+ \noexpand\expandafter
+ \noexpand\expandafter
+ \noexpand\expandafter
+ \expandafter\noexpand\csname enddocument\endcsname
+ \noexpand\expandafter
+ \noexpand\expandafter
+ \noexpand\expandafter
+ {\noexpand \expandafter
+ \noexpand \:temp
+ \expandafter\noexpand \csname enddocument\endcsname
+ }%
+} \:tempa
+
+\else
+ \ProvidesPackage{tex4ht}
+\let\config:file\empty
+\def\load:cfg{\def\load:cfg{\let\config:opt\CurrentOption
+ \def\load:cfg{\edef\config:opt{\config:opt,\CurrentOption}}%
+}%
+%
+ \def\:temp{\expandafter\cfg:fl\CurrentOption.!*?: }%
+ \def\:tempa{html}\ifx \:tempa\CurrentOption \let\:temp\load:cfg \fi
+ \def\:tempa{xhtml}\ifx \:tempa\CurrentOption \let\:temp\load:cfg \fi
+ \def\:tempa{htm}\ifx \:tempa\CurrentOption \let\:temp\load:cfg \fi
+ \def\:tempa{htm3}\ifx \:tempa\CurrentOption \let\:temp\load:cfg \fi
+ \def\:tempa{htm4}\ifx \:tempa\CurrentOption \let\:temp\load:cfg \fi
+ \def\:tempa{htm5}\ifx \:tempa\CurrentOption \let\:temp\load:cfg \fi
+ \:temp
+}
+\def\cfg:fl#1.#2!*?: {\edef\:tempa{#2}\edef\config:file{%
+ \CurrentOption \ifx \:tempa\empty .cfg\fi}}
+
+\DeclareOption*{\load:cfg}
+\ProcessOptions
+\let\o:document\document
+\def\document{%
+ \let\ht:empty\:UnDef
+\def\:temp{}\ifx \:temp\empty \else
+ \gdef\:temp{}\ifx \:temp\empty \else
+ \:warning{Redefined \string\empty?}
+ \global\let\ht:empty\empty \gdef\empty{}%
+\fi\fi
+%
+ \expandafter\let\csname enddocument\endcsname\empty
+ \end{document}%
+ \let\:begindocumenthook\@begindocumenthook
+\def\@begindocumenthook{\csname a:AtBeginDocument\endcsname
+\:begindocumenthook \csname b:AtBeginDocument\endcsname }%
+%
+ \let\document\o:document
+ \let\:latex@error\@latex@error
+ \def\@latex@error##1{\:latex@error{##1 in `\config:file'}}%
+ \csname recall:sub\endcsname
+\csname recall:sup\endcsname
+%
+\ifx \config:file\empty
+ \def\:temp{\ifx \config:opt\:UnDef
+ \edef\config:opt{\ifx \config:file\empty html\fi}\fi
+\expandafter\Preamble\expandafter{\config:opt
+ }\csname begin\endcsname{document}\EndPreamble
+}%
+\else
+ \def\:temp{\input \config:file\relax
+}%
+\fi \:temp
+%
+ \let\@latex@error\:latex@error
+}
+
+\fi
+\fi
+ \:latextrue
+ \ifx \:providesfile \:UnDef
+ \let\:providesfile\@providesfile
+ \def\@providesfile#1{%
+ \expandafter\ifx\csname @filelist\endcsname\relax
+ \let\@providesfile\:providesfile
+ \else \xdef\@filelist{\@filelist,#1}%
+ \fi
+ \:providesfile{#1}%
+ }
+ \fi
+\fi
+
+\ifx \Preamble\UnDef
+ \ifx \PLATFORM\:UnDef \else
+ \message{ [\PLATFORM] }\let\PLATFORM\:UnDef\fi
+ \def\Configure#1{%
+ \expandafter\ifx \csname c:#1:\endcsname\relax
+ \:warning{\string\Configure{#1}?}
+ \fi
+ \csname c:#1:\endcsname}
+\let\c:def\def
+\let\d:def\def
+\def\NewConfigure#1{\def\:tempa{#1}\futurelet\:temp\Nw:cnf}
+\def\Nw:cnf{\ifx [\:temp \edef\:tempa{\noexpand\N:wCnfga{\:tempa}}\else
+ \edef\:tempa{\noexpand\N:wCnfgb{\:tempa}}\fi \:tempa}
+\def\N:wCnfga#1[#2]{%
+ \edef\:temp{\long\def\expandafter
+ \noexpand\csname c:#1:\endcsname####1%
+ \ifnum #2>1 ####2\fi \ifnum #2>2 ####3\fi
+ \ifnum #2>3 ####4\fi \ifnum #2>4 ####5\fi
+ \ifnum #2>5 ####6\fi \ifnum #2>6 ####7\fi
+ \ifnum #2>7 ####8\fi \ifnum #2>8 ####9\fi
+}\:temp }
+\def\N:wCnfgb#1#2{%
+ \edef\:temp{\long\def\expandafter
+ \noexpand\csname c:#1:\endcsname####1%
+ \ifnum #2>1 ####2\fi \ifnum #2>2 ####3\fi
+ \ifnum #2>3 ####4\fi \ifnum #2>4 ####5\fi
+ \ifnum #2>5 ####6\fi \ifnum #2>6 ####7\fi
+ \ifnum #2>7 ####8\fi \ifnum #2>8 ####9\fi
+{\New:Conf{\aNew:Conf#1}{####1}%
+ \ifnum #2>1 \New:Conf{\bNew:Conf#1}{####2}\fi
+ \ifnum #2>2 \New:Conf{\cNew:Conf#1}{####3}\fi
+ \ifnum #2>3 \New:Conf{\dNew:Conf#1}{####4}\fi
+ \ifnum #2>4 \New:Conf{\eNew:Conf#1}{####5}\fi
+ \ifnum #2>5 \New:Conf{\fNew:Conf#1}{####6}\fi
+ \ifnum #2>6 \New:Conf{\gNew:Conf#1}{####7}\fi
+ \ifnum #2>7 \New:Conf{\hNew:Conf#1}{####8}\fi
+ \ifnum #2>8 \New:Conf{\iNew:Conf#1}{####9}\fi
+ }}\:temp}
+\def\New:Conf#1{\noexpand\c:def
+ \expandafter\noexpand\csname#1\endcsname}%
+\def\c:NewConfigure:#1#2#3#4#5#6#7#8#9{%
+ \def\aNew:Conf{#1}\def\bNew:Conf{#2}\def\cNew:Conf{#3}%
+ \def\dNew:Conf{#4}\def\eNew:Conf{#5}\def\fNew:Conf{#6}%
+ \def\gNew:Conf{#7}\def\hNew:Conf{#8}\def\iNew:Conf{#9}}
+\Configure{NewConfigure}{a:}{b:}{c:}{d:}{e:}{f:}{g:}{h:}{i:}%
+
+\long\def\ConfigureToc#1#2#3#4#5{%
+ \expandafter\def\csname toc#1\endcsname##1##2##3{#5}%
+ \def\:temp{#4}\ifx \:temp\empty \else
+ \expandafter\pend:defIII\csname toc#1\endcsname{#4####3}%
+\fi
+\def\:temp{#3}\ifx \:temp\empty \else
+ \expandafter\pend:defIII\csname toc#1\endcsname{#3####2}%
+\fi
+\def\:temp{#2}\ifx \:temp\empty \else
+ \expandafter\pend:defIII\csname toc#1\endcsname{#2####1}%
+\fi
+
+}
+
+\long\def\concat:config#1#2{\def\:temp{#2}%
+ \ifx \:temp\empty \let#1\empty
+ \else \ifx #1\relax \let#1\empty\fi
+ \append:def#1{#2}\fi
+}
+\def\:prolog#1#2,#3!*?: {%
+ \if ,#2,\else
+ \edef\:tempc{\if*#2\fi}%
+ \ifx \:tempc\empty
+ \expandafter\append:def
+ \csname a:#1\endcsname{\csname a:#2\endcsname}%
+ \expandafter\ifx \csname c:#2:\endcsname\relax
+ \NewConfigure{#2}{1}%
+ \fi
+ \else
+ \expand:after{\pro:log{#1}}\expandafter{\:tempc}%
+ \fi\fi
+ \if ,#3,\else \expand:after{\:prolog{#1}#3!*?: }\fi
+}
+\def\pro:log#1#2{%
+ \expandafter\append:def
+ \csname a:#1\endcsname{\csname a:#2\endcsname}%
+ \expandafter\ifx \csname c:#2:\endcsname\relax
+ \NewConfigure{#2}[1]{\expandafter
+ \concat:config\csname a:#2\endcsname{##1}}%
+ \expandafter\let\csname a:#2\endcsname\relax
+ \fi
+}
+\def\seq:config#1#2{%
+ \expandafter\let\csname a:#1\endcsname=\empty
+ \:prolog {#1}#2,!*?: }
+
+\NewConfigure{AtBeginDocument}[2]{%
+ \def\:temp{#1#2}\ifx \:temp\empty
+ \concat:config\a:AtBeginDocument{}
+ \concat:config\b:AtBeginDocument{}%
+ \else
+ \concat:config\a:AtBeginDocument{#1\relax}%
+ \concat:config\b:AtBeginDocument{#2\relax}%
+ \fi
+ \global\let\a:AtBeginDocument=\a:AtBeginDocument
+ \global\let\b:AtBeginDocument=\b:AtBeginDocument
+}
+\Configure{AtBeginDocument}{}{}
+\NewConfigure{Css}[1]{\def\aa:Css{#1}}
+
+\catcode`\#=12 \def\#{#} \catcode`\#=6
+\NewConfigure{special}[1]{\def\ht:special{#1}}
+\Configure{special}{\special
+}
+\long\def\expand:after#1{\def\e:tmp{#1}\expandafter\e:tmp}
+\def\Log:Note#1{%
+ \immediate\write-1{--------------------------------------}%
+ \immediate\write-1{--- Note --- #1}%
+ \immediate\write-1{--------------------------------------}%
+}
+\NewConfigure{CutAt-filename}[1]{%
+ \expandafter\def\csname a:CutAt-filename\endcsname##1##2{#1}}
+\Configure{CutAt-filename}{}
+\long\def\append:def#1#2{%
+ \def\:temp{\def#1}%
+ \expandafter\expandafter\expandafter\:temp\expandafter{#1#2}}
+\long\def\pend:def#1#2{%
+ \def\:temp{#2}%
+ \def\:tempa{\def#1}%
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\:tempa
+ \expandafter\expandafter\expandafter{\expandafter\:temp #1}}
+
+ \NewConfigure{ProTex}[1]{\def\a:ProTex{#1}}
+\ifx \Log:Needs\:UnDef \else
+ \:warning{Again `\noexpand\input tex4ht.sty'?}\fi
+\def\:warning#1{\immediate\write16{l.\the\inputlineno\space
+ --- TeX4ht warning --- #1 ---}}
+\ifx \:ShowCode\:UnDeF \else
+ \:warning{tex4ht.sty loaded after ProTeX?}
+\fi
+
+\def\set:Preamble#1,#2!*?: {%
+ \def\:temp{#1}\ifx \:temp\empty \else
+ \:CheckOption{#1}\if:Option \else
+ \ifx \Preamble\empty \def\Preamble{#1}%
+ \else \append:def\Preamble{,#1}%
+ \fi \fi \fi
+ \def\:temp{#2}\ifx \:temp\empty \let\set:Preamble\:UnDef
+ \else \expand:after{\set:Preamble#2!*?: }\fi
+}
+\def\xtrct:hin#1,{\def\:temp{#1}\ifx \:temp\empty
+ \def\xtrct:hin##1!*?: {\let\xtrct:hin\:UnDef}\else
+ \def\:tempa##1.4ht##2!*?: {%
+ \def\:temp{\Hinclude[*]{##1.4ht}}\def\:tempa{##2}}%
+ \expandafter\:tempa\:temp .4ht!*?: %
+ \ifx \:tempa\empty \else \:temp \fi
+ \fi \xtrct:hin}
+\def\Use:N{0}
+\let\:USE\empty
+\def\:Use#1{\:USe #1,,\HAdvance\Use:N 1 }
+\def\:USe#1,{\def\:temp{#1}\ifx\:temp\empty
+ \edef\:temp{\noexpand\append:def\noexpand\:USE{\let\expandafter
+ \noexpand\csname Use:\Use:N\endcsname\noexpand\:UnDef}}\:temp
+ \else
+ \edef\:temp{\noexpand\append:def\noexpand\:USE{\expandafter
+ \noexpand\csname Use:\Use:N\endcsname}}\:temp
+ \append:def\:USE{{#1}}%
+ \expandafter\:USe\fi}
+\def\:Hinclude{%
+ \def\Hinclude{\afterassignment\:Use
+ \expandafter\def\csname Use:\Use:N\endcsname ####1}%
+ \def\:Hinclude{\ifx \:USE \empty
+ \let\Hinclude\:UnDef
+ \let\:Hinclude\:UnDef
+ \let\:Use\:UnDef
+ \let\:USe\:UnDef
+ \let\:USE\:UnDef
+ \else
+ \pend:def\:USE{\let\:USE\empty}%
+ \expand:after{\:USE \:Hinclude}\fi}%
+}
+
+\def\:Preamble{\ifx \:next[%
+ \def\Preamble[##1]##2{\egroup
+ \def\:CheckOption####1{\def\:temp{####1}%
+ \:Optionfalse
+ \expandafter\:ScanOptions\Preamble,,//}
+\def\:ScanOptions####1,####2//{\def\:next{####1}%
+ \ifx \:next\empty
+ \else \ifx \:temp\:next \:Optiontrue \let\:next\relax
+ \else \def\:next{\:ScanOptions####2//}%
+ \fi \fi \:next }
+%
+\ifHtml \Htmlfalse
+ \def\Preamble{html,##2}\else \def\Preamble{##2}\fi
+\ifx \config:opt\:UnDef
+ \let\:temp\Preamble
+\else
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\:temp
+ \expandafter\expandafter\expandafter{%
+ \expandafter\config:opt\expandafter,\Preamble}%
+\fi
+\let\Preamble\empty
+\expandafter\set:Preamble\:temp,!*?: %
+%
+\def\:temp####1.4ht####2!*?: {\def\:temp{####2}%
+ \ifx \:temp\empty
+ \def\:temp{th4}\ifx \:temp\Preamble \else
+ \ht:special{t4ht@[}%
+ \input tex4ht.4ht \ht:special{t4ht@]}%
+ \fi \fi}%
+\expandafter\:temp\Preamble.4ht!*?: %
+\expandafter\xtrct:hin\Preamble,,!*?: %
+\:Hinclude
+%
+%
+\input ##1
+ }
+ \else
+ \def\Preamble##1{\egroup \def\:CheckOption####1{\def\:temp{####1}%
+ \:Optionfalse
+ \expandafter\:ScanOptions\Preamble,,//}
+\def\:ScanOptions####1,####2//{\def\:next{####1}%
+ \ifx \:next\empty
+ \else \ifx \:temp\:next \:Optiontrue \let\:next\relax
+ \else \def\:next{\:ScanOptions####2//}%
+ \fi \fi \:next }
+%
+\ifHtml \Htmlfalse
+ \def\Preamble{html,##1}\else \def\Preamble{##1}\fi
+\ifx \config:opt\:UnDef
+ \let\:temp\Preamble
+\else
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\:temp
+ \expandafter\expandafter\expandafter{%
+ \expandafter\config:opt\expandafter,\Preamble}%
+\fi
+\let\Preamble\empty
+\expandafter\set:Preamble\:temp,!*?: %
+%
+\def\:temp####1.4ht####2!*?: {\def\:temp{####2}%
+ \ifx \:temp\empty
+ \def\:temp{th4}\ifx \:temp\Preamble \else
+ \ht:special{t4ht@[}%
+ \input tex4ht.4ht \ht:special{t4ht@]}%
+ \fi \fi}%
+\expandafter\:temp\Preamble.4ht!*?: %
+\expandafter\xtrct:hin\Preamble,,!*?: %
+\:Hinclude
+%
+%
+%
+ \input tex4ht.sty }
+ \fi \let\:Preamble\:UnDef \Preamble }
+\def\Preamble{\bgroup \catcode`\@12 \catcode`\_8 \catcode`\^7
+ \futurelet\:next\:Preamble}
+\def\EndPreamble{\b:Preamble \global\let\missing:endpream\empty
+ \csname Lv \file:id\endcsname \B:DY}
+\def\B:DY{\def\HtmlPar{\HtmlPar:Off{%
+ \if:nopar \ShowPar \ShowIndent
+ \ifx \skip:Par\empty\else \hskip -\parindent \skip:Par\fi
+ \else
+ \if:removeindent \ShowIndent \hskip -\parindent \a:Par
+ \else
+ \ifdim \parindent>\z@ \hskip -\parindent \fi
+ \html:par
+ \ifdim \parindent>\z@ \hskip \parindent \fi
+ \fi\fi \relax
+}}%
+%
+ \HtmlEnv \IgnorePar \IgnoreIndent {\ht:everypar{}\leavevmode}\a:BODY
+ \csname a:@BODY\endcsname}
+\def\missing:endpream{\:warning{Missing \string\EndPreamble}}
+\NewConfigure{@HTML}[1]{\concat:config\a:@HTML{#1}}
+\let\a:@HTML\empty
+\NewConfigure{PROLOG}[1]{\seq:config{PROLOG}{#1}}
+
+\let\:Hincl\empty
+\def\Hinclude[#1]#2{\xdef\:Hincl{\:Hincl{#1}{#2}}}
+\NewConfigure{html}[1]{\edef\:html{#1}}
+\Configure{html}{html}
+\def\c:HtmlPar:#1#2#3#4{%
+ \def\:temp{#3}\ifx \:temp\empty \c:def\a:Par{#1}\else
+ \c:def\a:Par{#1\Next:EndP{#3}}\fi
+ \def\:temp{#4}\ifx \:temp\empty \c:def\html:par{#2}\else
+ \c:def\html:par{#2\Next:EndP{#4}}\fi
+}
+\def\EndP{\Protect\par:end}
+\let\par:end\empty
+\def\Next:EndP{\Protect\next:endp}
+\def\next:endp#1{\gdef\par:end{#1\global\let\par:end\empty}}
+\def\SaveHtmlPar{\PushMacro\a:Par \PushMacro\html:par}
+\def\RecallHtmlPar{\PopMacro\a:Par \PopMacro\html:par}
+\def\gl:let{\global\let}
+\def\EndP:cnt{0}
+\def\SaveEndP{%
+ \expandafter\gl:let\csname \EndP:cnt :sv\endcsname \par:end
+ \gl:let\par:end\empty
+ \gHAdvance \EndP:cnt 1 }
+\def\RecallEndP{%
+ \ifnum \EndP:cnt>0
+ \gHAdvance \EndP:cnt -1
+ \expand:after{\gl:let\par:end}\csname\EndP:cnt :sv\endcsname
+ \else
+ \:warning{extra \string\RecallEndP}
+ \fi}
+\NewConfigure{HTML}[2]{\c:def\a:HTML{#1}\c:def\b:HTML{#2}}
+\NewConfigure{HEAD}[2]{\c:def\a:HEAD{#1}\c:def\b:HEAD{#2}}
+\NewConfigure{BODY}[2]{\c:def\a:BODY{#1}%
+ \c:def\b:BODY{\csname a:@/BODY\endcsname#2}}
+\NewConfigure{TITLE}[2]{\c:def\a:TITLE{#1}\c:def\b:TITLE{#2}}
+\NewConfigure{TITLE+}[1]{\c:def\c:TITLE{#1}}
+\NewConfigure{@TITLE}[1]{\concat:config\:TITLE:{#1}}
+\NewConfigure{@HEAD}[1]{\concat:config\a:@HEAD{#1}}
+\let\a:@HEAD\relax
+\NewConfigure{@BODY}[1]{\concat:config\a:@BODY{#1}}
+\let\a:@BODY\relax
+\NewConfigure{@/BODY}[1]{\expandafter
+ \concat:config\csname a:@/BODY\endcsname{#1}}
+\expandafter\let\csname a:@/BODY\endcsname\relax
+
+ \if:latex
+ \expandafter\def\csname opt@hyperref.sty\endcsname{tex4ht}
+
+ \ifx \config:opt\:UnDef \else
+ \append:def\:RestoreCatcodes{\early:sub\early:sup}
+\let\:IfFileExists\IfFileExists
+\def\IfFileExists#1#2#3{%
+ \csname recall:sub\endcsname
+ \csname recall:sup\endcsname
+ \expandafter\let\csname #1:sub\endcsname=\early:sub
+ \expandafter\let\csname #1:sup\endcsname=\early:sup
+ \let\early:sub=\relax \let\recall:sub\relax
+ \let\early:sup=\relax \let\recall:sup\relax
+ \:IfFileExists{#1}{#2}{#3}%
+ \expandafter\let\expandafter\early:sub\csname #1:sub\endcsname
+ \expandafter\let\expandafter\early:sup\csname #1:sup\endcsname
+ \early:sub \early:sup
+}
+\ifx \o:document\:UnDef
+ \pend:def\Preamble{%
+ \csname recall:sub\endcsname
+ \csname recall:sup\endcsname}
+\fi
+\def\:CheckOption#1{\def\:temp{#1}%
+ \:Optionfalse
+ \expandafter\:ScanOptions\config:opt,,//}
+\def\:ScanOptions#1,#2//{\def\:next{#1}%
+ \ifx \:next\empty
+ \else \ifx \:temp\:next \:Optiontrue \let\:next\relax
+ \else \def\:next{\:ScanOptions#2//}%
+ \fi \fi \:next }
+\let\early:sub=\empty
+\:CheckOption{early_} \if:Option
+ \:CheckOption{no_} \if:Option \else
+ \:CheckOption{_13} \if:Option
+ \def\early:sub{%
+ \xdef\recall:sub{%
+ \mathcode`\noexpand\_=\the\mathcode`\_
+ \catcode`\noexpand\_=\the\catcode`\_
+ }
+ \mathcode`\_="8000 \catcode`\_=13
+ }
+ \else
+ \def\early:sub{%
+ \xdef\recall:sub{%
+ \mathcode`\noexpand\_=\the\mathcode`\_
+ \catcode`\noexpand\_=\the\catcode`\_
+ % \immediate\write16{.....sub \the\catcode`\_}%
+ }%
+ \mathcode`\_="8000 \catcode`\_=12
+ % \immediate\write16{.....sub 12}
+ }
+ \fi
+ \fi
+\else
+ \Log:Note{for \string_ at preamble,
+ use the command line option `early\string_'}%
+\fi
+\let\early:sup=\empty
+\:CheckOption{early^} \if:Option
+ \:CheckOption{no^} \if:Option \else
+ \:CheckOption{^13} \if:Option
+ \def\early:sup{%
+ \xdef\recall:sup{%
+ \mathcode`\noexpand\^=\the\mathcode`\^
+ \catcode`\noexpand\^=\the\catcode`\^
+ }
+ \mathcode`\^="8000 \catcode`\^=13
+ }
+ \else
+ \def\early:sup{%
+ \xdef\recall:sup{%
+ \mathcode`\noexpand\^=\the\mathcode`\^
+ \catcode`\noexpand\^=\the\catcode`\^
+ % \immediate\write16{.....sup \the\catcode`\^}%
+ }%
+ \mathcode`\^="8000 \catcode`\^=12
+ % \immediate\write16{.....sup 12}%
+ }
+ \fi
+ \fi
+\else
+ \Log:Note{for \string^ at preamble,
+ use the command line option `early\string^'}%
+\fi
+
+\let\:CheckOption\:UnDef
+\let\:ScanOptions\:UnDef
+
+\fi
+
+\fi
+\let\:onefilewithoptions\@onefilewithoptions
+\def\@onefilewithoptions#1[{%
+ \let\:temp\@reset@ptions
+ \def\@reset@ptions{%
+ \let\@reset@ptions\:temp
+ \edef\TivhTcats{%
+ \catcode`:=\the\catcode`:%
+ \catcode`@=\the\catcode`@}%
+\catcode`\:=11 \catcode`\@=11
+\a:usepackage
+ \TivhTcats
+}%
+ \:onefilewithoptions#1[}
+\def\a:usepackage{\input usepackage.4ht }
+
+
+ \expandafter\ifx \csname tex4ht\endcsname\relax
+ \let\:temp\empty
+ \else
+ \def\:tempc#1#2.#3!*?: {\edef\:tempa{#3}\edef\:temp{%
+ #1\ifx \:tempa\empty .cfg\fi}}
+\def\config:opt#1,#2!*?: {\def\:temp{#1}\ifx \:temp\empty
+ \else \ifx \:tempc\empty
+ \def\:tempc{#1}%
+ \else
+ \append:def\:tempc{,#1}
+ \fi\fi
+ \def\:temp{#2}\ifx \:temp\empty
+ \else \def\:temp{\config:opt #2!*?: }\fi
+ \:temp}
+
+\def\:temp#1,#2!*?: {%
+ \def\:temp{\:tempc{#1}#1.!*?: }%
+ \def\:tempb{#1}\ifx \:tempb\empty \let\:temp\relax \fi
+ \def\:tempa{html}\ifx \:tempa\:tempb \let\:temp\relax \fi
+ \def\:tempa{xhtml}\ifx\:tempa\:tempb \let\:temp\relax \fi
+ \def\:tempa{htm}\ifx \:tempa\:tempb \let\:temp\relax \fi
+ \def\:tempa{htm3}\ifx \:tempa\:tempb \let\:temp\relax \fi
+ \def\:tempa{htm4}\ifx \:tempa\:tempb \let\:temp\relax \fi
+ \def\:tempa{htm5}\ifx \:tempa\:tempb \let\:temp\relax \fi
+ \ifx \:temp\relax
+ \let\:tempd\:temp
+ \let\:tempc\empty \config:opt #1,#2,!*?: %
+\else \:temp
+ \let\:tempd\:temp
+ \let\:tempc\empty \config:opt #2,!*?: %
+\fi
+\let\config:opt\:tempc
+\let\:temp\:tempd
+%
+}
+
+\expandafter\expandafter\expandafter
+ \:temp\csname tex4ht\endcsname !*?: %
+\ifx \:temp\relax
+ \ifx \config:opt\:UnDef
+ \edef\config:opt{\ifx \config:file\empty html\fi}\fi
+\def\:temp{\expandafter\expandafter\expandafter
+ \Preamble\expandafter{\config:opt}\EndPreamble}
+
+ \if:latex \let\:temp\empty \fi
+\else
+ \if:latex
+ \let\config:file\:temp \let\:temp\empty
+ \else
+ \edef\:temp{\noexpand\input \:temp\space}
+\fi \fi
+
+ \fi
+ \let\:tempc\:temp
+ \pend:def\:tempc{\:RestoreCatcodes }
+ \append:def\:tempc{\endinput}
+ \let\:temp\:tempc
+ \expandafter\:temp
+\fi
+\def\:tempa#1#2#3#4!*?: {#1#2#3}
+\:CheckOption{htm} \if:Option
+ \edef\:html{\expandafter\:tempa\:html\empty\empty!*?: }
+ \def\:temp#1#2#3!*?: {\def\j:bname{#1\ifx ?#2\else #2\fi}}
+\expandafter\:temp \jobname ?!*?:
+
+\else \:CheckOption{htm5} \if:Option
+ \edef\:html{\expandafter\:tempa\:html\empty\empty!*?: }
+ \def\:temp#1#2#3#4#5#6!*?: {\def\j:bname{#1\ifx ?#2\else
+ #2\ifx ?#3\else #3\ifx ?#4\else #4\ifx ?#5\else #5\fi\fi\fi\fi}}
+\expandafter\:temp \jobname ????!*?:
+
+\else \:CheckOption{htm4} \if:Option
+ \edef\:html{\expandafter\:tempa\:html\empty\empty!*?: }
+ \def\:temp#1#2#3#4#5!*?: {\def\j:bname{#1\ifx ?#2\else
+ #2\ifx ?#3\else #3\ifx ?#4\else #4\fi\fi\fi}}
+\expandafter\:temp \jobname ???!*?:
+
+\else \:CheckOption{htm3} \if:Option
+ \edef\:html{\expandafter\:tempa\:html\empty\empty!*?: }
+ \def\:temp#1#2#3#4!*?: {\def\j:bname{#1\ifx ?#2\else
+ #2\ifx ?#3\else #3\fi\fi}}
+\expandafter\:temp \jobname ??!*?:
+
+\else \:CheckOption{xhtml} \if:Option
+ \let\j:bname\jobname
+\else \:CheckOption{html}
+ \if:Option \let\j:bname\jobname \fi
+\fi \fi \fi \fi \fi
+\if:Option
+
+ \def\html:rightskip{\rightskip\z@ plus 0.5\hsize minus0.5\hsize }
+\def\HtmlEnv{%
+ \html:rightskip \frenchspacing
+\let\nonfrenchspacing\relax
+\spaceskip\z@
+\xspaceskip\z@
+\linepenalty0
+\adjdemerits0
+\pretolerance10000
+\hyphenpenalty10000
+\exhyphenpenalty10000
+\clubpenalty0
+\widowpenalty0
+\interlinepenalty50
+\displaywidowpenalty0
+\predisplaypenalty-10
+\postdisplaypenalty1000
+\abovedisplayskip30pt plus 10pt
+\belowdisplayskip\abovedisplayskip
+\abovedisplayshortskip\abovedisplayskip
+\belowdisplayshortskip\abovedisplayskip
+%
+ \def\magnification{%
+ \def\:temp{\:warning{Insert \string\magnification
+ =\the\tmp:cnt\space before tex4ht}}%
+ \afterassignment\:temp\tmp:cnt}%
+ \ht:everypar{\HtmlPar}}
+\let\HtmlPar\empty
+\edef\:temp{%
+ \output={\noexpand\SaveEverypar \noexpand\ht:everypar{}\the\output
+ \noexpand\RecallEverypar}}
+\:temp
+
+\edef\:temp{\meaning\everypar}
+\edef\:tempa{\string\everypar}
+\ifx \:temp\:tempa
+ \let\ht:everypar\everypar
+\else
+ \:warning{nonprimitive \string\everypar}
+\fi
+\edef\NoHtmlEnv{%
+ \sfcode `\noexpand\noexpand\noexpand\.3000
+ \sfcode `\noexpand\noexpand\noexpand\?3000
+ \sfcode `\noexpand\noexpand\noexpand\!3000
+ \sfcode `\noexpand\noexpand\noexpand\:2000
+ \sfcode `\noexpand\noexpand\noexpand\;1500
+ \sfcode `\noexpand\noexpand\noexpand\,1250
+ \rightskip\the\rightskip
+ \spaceskip\the\spaceskip
+ \xspaceskip\the\xspaceskip
+ \linepenalty\the\linepenalty
+ \adjdemerits\the\adjdemerits
+ \pretolerance\the\pretolerance
+ \hyphenpenalty\the\hyphenpenalty
+ \exhyphenpenalty\the\exhyphenpenalty
+ \clubpenalty\the\clubpenalty
+ \widowpenalty\the\widowpenalty
+ \interlinepenalty\the\interlinepenalty
+ \displaywidowpenalty\the\displaywidowpenalty
+ \predisplaypenalty\the\predisplaypenalty
+ \postdisplaypenalty\the\postdisplaypenalty
+ \abovedisplayskip\the\abovedisplayskip
+ \belowdisplayskip\the\belowdisplayskip
+ \abovedisplayshortskip\the\abovedisplayshortskip
+ \belowdisplayshortskip\the\belowdisplayshortskip
+ \noexpand\ht:everypar{\noexpand\the\noexpand\ht:everypar}}
+
+ \ifx \html:par\:UnDef \let\html:par\empty \fi
+
+ \ifx\html:addr\:UnDeF
+ \immediate\write16{--- needs --- tex4ht \jobname\space ---}%
+\ifx\tmp:cnt\:UnDeF \csname newcount\endcsname\tmp:cnt \fi
+\def\g:advance#1{\bgroup \def\:temp{#1}%
+ \tmp:cnt=#1\afterassignment\:gplus \advance\tmp:cnt}
+\def\:gplus{\expandafter\xdef\:temp{\the\tmp:cnt}\egroup}
+\def\html:lbl{1}
+\def\html:addr{\xdef\last:haddr{\file:id-\html:lbl}%
+ \g:advance\html:lbl by 1\relax }
+\ifx \file:id\:UnDef
+ \gdef\file:id{1}
+ \global\let\maxfile:id=\file:id
+\fi
+\hbadness=10000 \vbadness=10000
+\:CheckOption{fussy} \if:Option \else
+ \hfuzz=99in \vfuzz=\hfuzz
+\fi
+\hyphenpenalty=1000 \exhyphenpenalty=1000
+\def\html:rightskip{\rightskip = 0pt plus 0.5\hsize minus0.5\hsize }
+\html:rightskip
+\ifx \ht:special\:UnDef
+ \let\ht:special=\special
+\fi
+\def\HCode#1{\ifx \EndPicture\:UnDef
+ \relax\ifvmode\leavevmode\fi\ht:special{t4ht=#1}\fi}
+\let\:HCode=\HCode
+\def\NewLineChar{\bgroup \catcode`\^=7 \:NewLineChar}
+\def\:NewLineChar#1{\egroup \def\:newlnch{ #1}}
+\NewLineChar{^^J}
+\def\::HRef[#1]{\get:attr{#1}\::hRef\:::HRef}
+\def\::HRefTag[#1]{\get:attr{#1}\::hRefTag\:::HRefTag}
+\def\get:attr#1{\edef\:attr{\noexpand\get:atr #1 !*?: }\:attr}
+\def\get:atr#1 #2!*?: #3#4{\def\:attr{\space#2}%
+ \def\:te:mpa{#1}\ifx \:te:mpa\empty \let\:te:mpa#4\else
+ \def\:te:mpa{#3[#1]}\fi \:te:mpa}
+\def\H:Tag#1#2{\:TagHTag{#2}\HCode{<\tag:A\:newlnch
+ \NAME:"#2"\empty:lnk>}}
+\def\::hRef[#1]#2{%
+ \HCode{<\tag:A\:newlnch \if\relax#1#2\relax \NOHREF:{}\else
+ \HREF:"#1\if\relax#1\relax \else\:sharp #2\fi"\fi
+ \:attr \empty:lnk>}}
+\def\:::HRef#1{%
+ \HCode{<\tag:A\:newlnch \if\relax#1\relax \NOHREF:{}\else
+ \HREF:"\get:hfile{#1}\:sharp #1"\fi \:attr \empty:lnk>}}
+\def\::hRefTag[#1]#2#3{%
+ \if\relax#3\relax\else\:TagHTag{#3}\fi
+ \HCode{<\tag:A\:newlnch \if\relax#1#2\relax \NOHREF:{#3}\else
+ \HREF:"#1\if\relax#2\relax \else\:sharp #2\fi"\fi
+ \if\relax#3\relax\else\space \NAME:"#3"\fi
+ \:attr \empty:lnk>}}
+\def\:::HRefTag#1#2{%
+ \if\relax#2\relax\else\:TagHTag{#2}\fi
+ \HCode{<\tag:A\:newlnch \if\relax#1\relax \NOHREF:{#2}%
+ \else\HREF:"\get:hfile{#1}\:sharp #1"\fi
+ \if\relax#2\relax\else\space \NAME:"#2"\fi
+ \:attr \empty:lnk>}}
+\let\empty:lnk=\empty
+\def\NOHREF#1{\space}
+\def\:TagHTag#1{\ifx -\let:val\else \Tag{)Q\aXrefFile #1}{\file:id}\fi}
+\def\get:href{\expandafter\get::href}
+\def\get::href#1-#2-{\ifnum #1=\file:id\space \else
+ \:LikeRef{)F\aXrefFile #1\empty F-}\fi
+ \:sharp \make:addr{#2}}
+\def\get:htag{\expandafter\get::htag}
+\def\get::htag#1-#2-{\make:addr{#2}}
+\ifx \aXrefFile\:UnDef \let\aXrefFile=\empty \fi
+
+\def\get:hfile#1{%
+ \expandafter\ifx\csname
+ cw:)Q\aXrefFile #1\endcsname\relax
+ \get@hfile{#1}%
+ \else
+ \expandafter\expandafter\expandafter\get::hfile
+ \csname cw:)Q\aXrefFile #1\endcsname,//%
+ \fi }
+\def\get::hfile#1,#2//{%
+ \ifnum \file:id=0#1 \else
+ \expandafter\ifx
+ \csname cw:)F\aXrefFile #1%
+ \empty F-\endcsname\relax \else
+ \:LikeRef{)F\aXrefFile #1\empty F-}%
+\fi %
+ \fi }
+\ifx\get@hfile\:Undef \let\get@hfile=\:gobble \fi
+ \let\html:src=\empty
+\catcode`\#=12 \def\:sharp{#} \catcode`\#=6
+
+ \Htmltrue
+\fi
+
+\fi
+
+\def\EndLink{\ifx \empty:lnk\empty \HCode{</\tag:A>}\fi}
+\def\:HRef{\ifx [\:temp \expandafter\::HRef
+ \else \expandafter\:::HRef \fi }
+\def\HT:tag{\ifx -\let:val \expandafter\H:Tag
+ \else \expandafter\HTa:g\fi }
+\def\HTa:g{\H:Tag-}
+\def\Link{\let\:attr\empty \futurelet\let:val\HRefT:ag}
+\def\HRefT:ag{\ifx -\let:val \expandafter\H:RefTag
+ \else \expandafter\HRefTa:g\fi }
+\def\HRefTa:g{\H:RefTag-}
+\def\H:RefTag#1{\futurelet\:temp\:HRefTag}
+\def\:HRefTag{\ifx [\:temp \expandafter\::HRefTag
+ \else \expandafter\:::HRefTag \fi }
+
+\def\HLet#1{%
+ \expandafter\ifx
+ \csname o:\expandafter\:gobble\string#1:\endcsname\relax
+ \expandafter\let
+ \csname o:\expandafter\:gobble\string#1:\endcsname#1%
+%
+ \fi
+ \edef#1{\noexpand\ifx \noexpand\EndPicture\noexpand\:UnDef
+ \noexpand\expandafter \expandafter\noexpand
+ \csname n:\expandafter\:gobble\string#1:\endcsname
+ \noexpand\else \noexpand\expandafter \expandafter\noexpand
+ \csname o:\expandafter\:gobble\string#1:\endcsname
+ \noexpand\fi}%
+%
+ \expandafter\let
+ \csname n:\expandafter\:gobble\string#1:\endcsname}
+\def\HRestore#1{\relax
+ \expandafter\ifx
+ \csname o:\expandafter\:gobble\string#1:\endcsname\relax
+ \:warning{\string\HRestore\noexpand#1?}%
+ \else
+ \expand:after{\let#1}\csname o:\expandafter
+ \:gobble\string#1:\endcsname
+ \fi}%
+ \immediate\openout15=\jobname.tmp
+\bgroup \escapechar=`\\
+ \immediate\write15{\def\string\Jobname{\jobname}}
+\egroup
+\immediate\closeout15
+\input \jobname.tmp
+
+\def\get:input#1{%
+ \openin15=#1
+ \ifeof15 \closein15 \:warning{No file #1}%
+ \else \closein15 \expand:after{\input #1 }%
+ \fi}
+\def\if:notempty#1#2{%
+ \def\:temp{#1}\ifx \:temp\empty \else \expand:after{#2}\fi }
+\def\IgnorePar{\ifx \EndPicture\:UnDef \Protect\gl:nopartrue \fi}
+\def\ShowPar{\ifx \EndPicture\:UnDef \Protect\gl:noparfalse \fi}
+\def\IgnoreIndent{\ifx \EndPicture\:UnDef
+ \Protect\gl:removeindenttrue \fi}
+\def\ShowIndent{\ifx \EndPicture\:UnDef
+ \Protect\gl:removeindentfalse \fi}
+\def\gl:nopartrue{\global\:nopartrue}
+\def\gl:noparfalse{\global\:noparfalse}
+\def\gl:removeindenttrue{\global\:removeindenttrue}
+\def\gl:removeindentfalse{\global\:removeindentfalse}
+\def\HtmlParOff{\global\let\HtmlPar:Off\:gobble}
+\def\HtmlParOn{\gdef\HtmlPar:Off##1{##1}}
+\HtmlParOn
+\def\SaveEverypar{%
+ \expand:after{\expandafter\gdef\csname \n:list L\endcsname }%
+ \expandafter{\expandafter\ht:everypar
+ \expandafter{\the\ht:everypar}}%
+ \expandafter\xdef\csname \n:list X\endcsname{%
+ \if:removeindent \global\noexpand\:removeindenttrue
+ \else \global\noexpand\:removeindentfalse \fi
+ \if:nopar \global\noexpand\:nopartrue
+ \else \global\noexpand\:noparfalse \fi}%
+ \HtmlEnv \csname \n:list X\endcsname
+ \csname \n:list L\endcsname
+ \gHAdvance\n:list 1
+}
+\def\RecallEverypar{\ifnum \n:list<1
+ \:warning{\noexpand\RecallEverypar without \noexpand\SaveEverypar}%
+ \else
+ \HtmlEnv
+ \gHAdvance\n:list -1
+ \csname \n:list X\endcsname
+ \csname \n:list L\endcsname
+ \fi
+}
+\def\n:list{0}
+\def\ifTag#1#2#3{\expandafter\ifx
+ \csname cw:#1\endcsname \relax #3\else #2\fi}
+\catcode`\%12 \def\prcnt:ch{%} \catcode`\%14
+\ifx \clearpage\:UnDef \def\:clearpage{\vfil\penalty-20000}
+\else
+ \let\real:par\par \def\eq:par{\par\real:par}
+ \def\:clearpage{\expandafter\ifx\eq:par\clearpage\fi}
+\fi
+
+\ifx \folio\:UnDef
+ \def\folio{\ifx \pageno\:UnDef \z@ \else
+ \ifnum \pageno <0 \romannumeral -\pageno
+ \else \the \pageno \fi\fi}
+\fi
+\def\cond:cs#1#2{%
+ \expandafter\ifx \csname #1\endcsname\relax \else
+ \csname #1\endcsname{#2}%
+ \fi
+}
+\def\do:list#1,#2,{%
+ \def\:temp{#2}\ifx \:temp\empty \expandafter\stop:do
+ \else #1{#2}\fi
+ \do:list#1,}
+\def\stop:do#1!*?: {}
+\def\BI:gbl{\ifx [\:temp \expandafter\bi:gbl\else
+ \expand:after{\bi:gbl[]}\fi}
+\def\bi:gbl[#1]#2{}
+\ifx \newpage\:UnDef
+\def\newpage{\vfil\penalty-10000 }
+\fi
+\ifx\tmp:toks\:UnDeF \csname newtoks\endcsname\tmp:toks\fi
+\ifx\tmp:cnt\:UnDeF \csname newcount\endcsname\tmp:cnt\fi
+\def\Advance:{\ip:op\advance\:Advance}
+\def\Multiply:{\ip:op\multiply\:Advance}
+\def\Divide:{\ip:op\divide\:Advance}
+\def\gHAdvance{\ip:op\advance\g:Advance}
+\def\gHMultiply{\ip:op\multiply\g:Advance}
+\def\gHDivide{\ip:op\divide\g:Advance}
+\def\DefOp#1#2{
+ \ifx #1\:UnDef
+ \expandafter \ifx \csname #2:\endcsname\relax
+ \:warning{\string\DefOp...\string{#2\string}?}%
+ \else \expand:after{\let#1}\csname #2:\endcsname
+ \fi
+ \else \:warning{\string\DefOp\string#1\string{#2\string}
+ can't redefine \string#1}%
+ \fi
+}
+\DefOp\HAdvance{Advance}
+\DefOp\HMultiply{Multiply}
+\DefOp\HDivide{Divide}
+\def\ip:op#1#2{\let\mth:op#1\let\adv:c#2\adv:}
+
+\def\adv:#1{\def\:var{#1}\futurelet\:temp\Advanc:}
+\def\Advanc:{\ifx [\:temp \expandafter\Advanc:e
+ \else \expand:after{\expandafter\adv:c\:var}\fi}
+\def\Advanc:e[#1]{\expandafter\adv:c\csname
+ \expandafter\string\:var[#1]\endcsname}
+
+\def\g:Advance#1{\bgroup \def\:temp{#1}%
+ \tmp:cnt#1\afterassignment\:gplus \mth:op\tmp:cnt}
+\def\:gplus{\expandafter\xdef\:temp{\the\tmp:cnt}\egroup}
+\def\:Advance#1{\bgroup \def\:temp{#1}%
+ \tmp:cnt#1\afterassignment\:aplus \mth:op\tmp:cnt}
+\def\:aplus{\xdef\:temp{\def\expandafter\noexpand\:temp{\the\tmp:cnt}}%
+ \egroup \:temp}
+\def\HAssign{\:ssg\edef}
+\def\gHAssign{\:ssg\xdef}
+
+\def\:ssg#1#2{\let\d:fn#1\def\:var{#2}\futurelet\:temp\:Assgn}
+\def\:Assgn{%
+ \ifx [\:temp
+ \expandafter\d:fn\:var[##1]{%
+ \noexpand\csname \expandafter
+ \string\:var[##1]\noexpand\endcsname}%
+ \expandafter\assg:m
+ \else \afterassignment\assg:v \expandafter \tmp:cnt \fi }
+
+\def\assg:v{\expandafter\d:fn\:var{\the\tmp:cnt}}
+\def\assg:m[#1]{%
+ \def\:temp{\expandafter\d:fn
+ \csname \expandafter\string\:var[#1]\endcsname{\the\tmp:cnt}}%
+ \afterassignment\:temp \tmp:cnt}
+\def\no:catcodes#1#2#3{%
+ \tmp:cnt#1
+ \def\no::catcodes{%
+ \catcode\tmp:cnt#3
+ \ifnum\tmp:cnt<#2
+ \advance\tmp:cnt 1 \expandafter\no::catcodes
+ \fi }%
+ \no::catcodes }
+\HAssign\def:cnt=0
+\def\Odef#1{\gHAdvance\def:cnt 1
+ \edef#1{\noexpand\with:op
+ \expandafter\noexpand\csname \def:cnt \string#1\endcsname }%
+ \expandafter\gdef\csname\def:cnt\string#1\endcsname}
+\def\with:op#1{\let\n:xt#1\futurelet\:temp\wth:opt}
+\def\wth:opt{\ifx [\:temp
+ \expandafter\n:xt\else \expand:after{\n:xt[]}\fi}
+\def\Log:Needs#1{{\escapechar=`\\\immediate\write-1{\:Neds{#1}}}}
+\def\g:delete#1{%
+ \expandafter\expandafter\expandafter\global
+ \expandafter\let\csname #1\endcsname\:UnDef
+}
+\def\xdef:cs#1{\expandafter\xdef \csname #1\endcsname}%
+\def\:csname{\expandafter\noexpand\csname}
+\long\def\:gobble#1{}
+\long\def\:gobbleII#1#2{}
+\long\def\:gobbleIII#1#2#3{}
+\long\def\:gobbleIV#1#2#3#4{}
+\long\def\:gobbleV#1#2#3#4#5{}
+\long\def\:gobbleVI#1#2#3#4#5#6{}
+\long\def\:gobbleVIII#1#2#3#4#5#6#7#8{}
+
+\ifHtml \def\exit:ifnot#1{%
+ \edef\:temp{\def\noexpand\:temp####1,\:Hin,####2..//{%
+ \noexpand\if !####2!\noexpand\else
+ \noexpand\expandafter\noexpand\:gobble\noexpand\fi
+ }\noexpand\:temp,#1,\:Hin,..//}\:temp\endinput }
+ \catcode`\@0
+ \catcode`\\12
+@def@ConfigureHinput{%
+ @def@:temp##1{%
+ @def@:temp{##1}@ifx@:temp@:Hin @else @:tempb @fi }%
+ @def@:tempb{@fi@bgroup @no:catcodes0{255}{12}%
+ @no:catcodes{101}{101}{11}%
+ @no:catcodes{109}{109}{11}%
+ @no:catcodes{112}{112}{11}%
+ @no:catcodes{116}{116}{11}%
+ @no:catcodes{121}{121}{11}%
+ @:tempa}
+ @def@:tempa##1\empty\empty\empty\empty\empty\empty{@egroup}%
+ @:temp
+}
+ @catcode`@\=0
+ \catcode`\@=11
+\let\:noindent\noindent
+\def\noindent{\ifx \EndPicture\:UnDef
+ \ifvmode \IgnoreIndent\leavevmode\fi
+ \else \:noindent \fi}
+\let\skip:Par\empty
+\catcode`\%12 \def\%{%} \catcode`\%14
+\def\hidden:anchor{}
+\def\sv:btns#1{\ifx #1\space\global\let#1\empty \fi \PushStack\prv:fl#1}
+\def\ro:nd#1#2{%
+ \gHAdvance#1 #2
+ \gHDivide#1 #2
+ \gHMultiply#1 #2 }
+\def\fx:pt#1#2#3!*?: {%
+ \expandafter\ifx \csname big:#1:#2\endcsname\relax
+ \expandafter\gHAssign\csname big:#1:#2\endcsname 0 \fi
+ \expandafter\gHAdvance\csname big:#1:#2\endcsname 1
+ \edef\big:fn{#1#2\csname big:#1:#2\endcsname}}
+\def\Hnewline{\:newlnch}
+\csname newskip\endcsname\tmp:dim
+\def\Needs{\bgroup\catcode`\"=12 \cat:Needs}
+\def\cat:Needs#1{\def\:temp{-}\def\:tempa{#1}\ifx \:temp\:tempa
+ \aftergroup\Log:Needs \else \ht:special{t4ht+@\:Needs{#1}}\fi
+ \egroup}
+\def\LinkCommand#1#2{\L:Com#1#2,,,,,,!*?: {#1}}
+\let\:Link\Link
+\def\L:Com#1#2,#3,#4,#5,#6,#7,#8!*?: #9{\def\:tempe{#7}%
+ \def\:tempa{#2}\def\:tempb{#3}\def\:tempc{#4}\def\:tempd{#6}%
+ \expandafter\edef\csname
+ End\expandafter\:gobble\string #9\endcsname{%
+ \ifx\:tempd\empty \noexpand\HCode
+ {</\ifx\:tempa\empty \tag:A\else#2\fi>}\fi }%
+ \edef\:temp{%
+ \noexpand\Odef\noexpand#1[####1]####2####3{{%
+ \def\noexpand\tag:A{\ifx\:tempa\empty\tag:A\else#2\fi}%
+ \def\noexpand\HREF:{ \ifx\:tempb\empty\HREF:\else#3=\fi}%
+ \def\noexpand\NAME:{ \ifx\:tempc\empty\NAME:\else#4=\fi}%
+ \def\noexpand\empty:lnk{\ifx\:tempd\empty\else#6\fi}%
+ \def\noexpand\:sharp{\ifx\:tempe\empty\:sharp\else#7\fi}%
+ \noexpand\M:link[####1 #5]{####2}{####3}}}}\:temp
+ \expandafter\let\csname \string#1 :\endcsname#1
+\def#1{\bgroup\LD:Link{#1}\futurelet#1\M:link}
+%
+ }
+\def\LD:Link#1{%
+ \def\M:link{\ifx -#1\egroup \def\M:link{\:Link-}\expandafter\gob:lnk
+ \else \egroup \let\M:link\:Link \fi
+ \csname \string#1 :\endcsname }}
+\def\gob:lnk#1-{#1}
+\ifx\tmp:dim\:UnDeF \csname newdimen\endcsname\tmp:dim\fi
+\def\pr:tc{\relax}
+\let\prOteCt\relax
+\def\Protect{%
+ \let\prOteCt\pr:tc
+ \ifx \prOteCt\pr:tc \let\prOteCt\relax
+ \else \noexpand\Protect\expandafter\noexpand\fi
+}
+\def\NewHaddr#1{\html:addr \let#1\last:haddr}
+\def\GetHref#1{\expandafter\get:href#1-}
+\def\GetHname#1{\expandafter\get:htag#1-}
+\ifx \make:addr\:UnDeF
+ \def\make:addr#1{#1} \fi
+\def\FileNumber{\file:id}
+\def\c:XrefFile:#1{\def\aXrefFile{#1}}
+ \fi
+\:CheckOption{hshow} \if:Option
+ \def\hshow#1{\immediate\write16
+ {..#1.......\expandafter\meaning\csname #1\endcsname}}
+ \def\ShowConfigure#1{%
+ \edef\:tempb{\expandafter \meaning\csname c:#1:\endcsname}%
+ \expandafter\par:N \:tempb////%
+ \immediate\write16{\string\Configure{#1}}%
+ {\show:Arg{1}{a:#1}%
+ \show:Arg{2}{b:#1}%
+ \show:Arg{3}{c:#1}%
+ \show:Arg{4}{d:#1}%
+ \show:Arg{5}{e:#1}%
+ \show:Arg{6}{f:#1}%
+ \show:Arg{7}{g:#1}%
+ \show:Arg{8}{h:#1}%
+ \show:Arg{9}{i:#1}}%
+}
+\edef\:temp{\def\noexpand
+ \par:N##1\string :##2->##3////{\noexpand\par:NN?##2//}}
+\:temp
+\def\par:NN#1#2//{\def\:tempb{#2}\ifx\:tempb\empty
+ \def\:tempb{#1}\else \def\:tempb{\par:NN#2//}\expandafter\:tempb\fi}
+\def\show:Arg#1#2{%
+ \ifnum \:tempb=#1 \let\show:Arg=\:gobbleII \fi
+ \expandafter\let\expandafter\:temp \csname #2\endcsname
+ \immediate\write16{ {\ifx \:temp\relax ???\else
+ \expandafter\:gobbleM \meaning \:temp\fi}}}
+\def\:gobbleM#1->{}
+
+\fi
+\ifx \xml:empty\:UnDef
+ \:CheckOption{xhtml}
+ \if:Option \else \:CheckOption{xml}\fi
+ \if:Option
+ \def\xml:empty{ /}
+ \long\def\:xhtml#1{#1}
+ \else
+ \Log:Note{for XML code, use the command line option
+ `xml' or `xhtml'}%
+
+ \let\:xhtml\:gobble
+ \let\xml:empty\empty
+\fi \fi
+\NewConfigure{afterSUB}[2]{\expandafter
+ \def \csname \meaning#1sb\endcsname{#2}}
+\NewConfigure{putSUB}[1]{\def\a:putSUB{#1}}
+\NewConfigure{putSUP}[1]{\def\a:putSUP{#1}}
+\:CheckOption{no^} \if:Option \else
+ \:CheckOption{^13} \if:Option \catcode`\^13
+ \else \catcode`\^12 \fi
+ \Configure{afterSUB}^{\SUB:SUP}
+ \catcode`\^7
+\fi
+\def\PushStack#1#2{%
+ \ifx #1\:UnDef \global\let#1\empty\fi
+ {\let\Picture\relax \xdef#1{{#2}{#1}}}}
+\def\PopStack#1#2{%
+ \ifx #1\empty \:warning{empty \string\PopStack\string#1\string#2?}%
+ \global\let#2\empty
+ \else \def\:temp{\:recall#1#2}\expandafter\:temp#1\fi}
+\def\:recall#1#2#3#4{\gdef#1{#4}\gdef#2{#3}}
+\def\PushMacro#1{%
+ \expandafter\ifx \csname c:\string#1\endcsname\relax
+ \expandafter\gHAssign \csname c:\string#1\endcsname 0
+ \fi
+ \HAssign\:temp \csname c:\string#1\endcsname
+ \let\:tempa#1%
+ \ifx \:tempa\:UnDef \let\:tempa\like:unDef\fi
+ \global\expandafter\let\csname \:temp\string#1\endcsname \:tempa
+ \expandafter\gHAdvance \csname c:\string#1\endcsname 1 }
+\def\PopMacro#1{%
+ \expandafter\gHAdvance \csname c:\string#1\endcsname -1
+ \HAssign\:temp \csname c:\string#1\endcsname\relax
+ \ifnum \:temp < 0
+ \expandafter\gHAssign \csname c:\string#1\endcsname 0
+ \:warning{ignored \string\PopCs\string#1 on empty stack}%
+ \else
+ \expand:after{\let#1}\csname \:temp\string#1\endcsname
+ \ifx #1\like:unDef \let#1\:UnDef\fi
+ \fi
+ }
+\def\like:unDef{\:UnDef\:CS}
+\def\PushConfigure#1{\def\cf:name{#1}\expandafter
+ \expandafter\expandafter\Push:Configure\expandafter
+ \meaning\csname c:#1:\endcsname!*?: }
+\def\PopConfigure#1{\def\cf:name{#1}\expandafter
+ \expandafter\expandafter\Pop:Configure\expandafter
+ \meaning\csname c:#1:\endcsname!*?: }
+\def\do:undef#1->#2!*?: {%
+ \if :#2:\:warning{\string\PushConfigure{\cf:name}?}\fi
+}
+\catcode`\@=6
+\catcode`\#=12
+\def\Push:Configure@1!*?: {%
+ \do:undef@1->!*?: %
+ \do:para@1#1!*?: \push:config
+ \do:parb@1#2!*?: \push:config
+ \do:parc@1#3!*?: \push:config
+ \do:pard@1#4!*?: \push:config
+ \do:pare@1#5!*?: \push:config
+ \do:parf@1#6!*?: \push:config
+ \do:parg@1#7!*?: \push:config
+ \do:parh@1#8!*?: \push:config
+ \do:pari@1#9!*?: \push:config
+}
+\def\Pop:Configure@1!*?: {%
+ \do:pari@1#9!*?: \pop:config
+ \do:parh@1#8!*?: \pop:config
+ \do:parg@1#7!*?: \pop:config
+ \do:parf@1#6!*?: \pop:config
+ \do:pare@1#5!*?: \pop:config
+ \do:pard@1#4!*?: \pop:config
+ \do:parc@1#3!*?: \pop:config
+ \do:parb@1#2!*?: \pop:config
+ \do:para@1#1!*?: \pop:config
+}
+\def\do:para@1#1@2!*?: @3{@3{a}{@2}}
+\def\do:parb@1#2@2!*?: @3{@3{b}{@2}}
+\def\do:parc@1#3@2!*?: @3{@3{c}{@2}}
+\def\do:pard@1#4@2!*?: @3{@3{d}{@2}}
+\def\do:pare@1#5@2!*?: @3{@3{e}{@2}}
+\def\do:parf@1#6@2!*?: @3{@3{f}{@2}}
+\def\do:parg@1#7@2!*?: @3{@3{g}{@2}}
+\def\do:parh@1#8@2!*?: @3{@3{h}{@2}}
+\def\do:pari@1#9@2!*?: @3{@3{i}{@2}}
+\catcode`\@=11
+\catcode`\#=6
+\def\push:config#1#2{%
+ \if :#2:\else
+ \expandafter\expandafter\expandafter\ifx \expandafter
+ \csname \csname#1New:Conf\endcsname\cf:name\endcsname\relax
+ \:warning{\string\PushConfigure{\cf:name} Failed}%
+ \else
+ \expandafter\expandafter\expandafter\PushMacro \expandafter
+ \csname \csname#1New:Conf\endcsname\cf:name\endcsname
+ \fi
+ \fi }
+\def\pop:config#1#2{%
+ \if :#2:\else
+ \expandafter\expandafter\expandafter\ifx \expandafter
+ \csname \csname#1New:Conf\endcsname\cf:name\endcsname\relax \else
+ \expandafter\expandafter\expandafter\PopMacro \expandafter
+ \csname \csname#1New:Conf\endcsname\cf:name\endcsname
+ \fi
+ \fi }
+\long\def\append:defI#1#2{%
+ \def\:temp{\def#1####1}%
+ \expandafter\expandafter\expandafter\:temp\expandafter{#1{##1}#2}}
+\long\def\pend:defI#1#2{%
+ \def\:tempa{\def#1####1}%
+ \ex:pend{#2}{\expandafter\:temp #1{##1}}}
+\long\def\pend:defII#1#2{%
+ \def\:tempa{\def#1####1####2}%
+ \ex:pend{#2}{\expandafter\:temp #1{##1}{##2}}}
+\long\def\append:defII#1#2{%
+ \def\:temp{\def#1####1####2}%
+ \expandafter\expandafter\expandafter\:temp\expandafter{#1{##1}{##2}#2}}
+\long\def\pend:defIII#1#2{%
+ \def\:tempa{\def#1####1####2####3}%
+ \ex:pend{#2}{\expandafter\:temp #1{##1}{##2}{##3}}}
+\long\def\ex:pend#1{\def\:temp{#1}%
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\:tempa
+ \expandafter\expandafter\expandafter}
+\long\def\append:defIII#1#2{%
+ \def\:temp{\def#1####1####2####3}%
+ \expandafter\expandafter\expandafter
+ \:temp\expandafter{#1{##1}{##2}{##3}#2}}
+
+\def\Ref#1{\expandafter\ifx
+ \csname cw:#1\endcsname \relax \:NoTag{#1}%
+ \else \csname cw:#1\endcsname \fi}
+\def\LikeRef#1{\expandafter\ifx
+ \csname cw:#1\endcsname \relax \space%
+ \else \csname cw:#1\endcsname \fi}
+\def\:LikeRef#1{\csname cw:#1\endcsname}
+\let\:SUPOff\empty \let\:SUBOff\empty
+\def\Tag#1#2{\begingroup \:SUPOff \:SUBOff \a:xref \escapechar=`\\%
+ \edef\:head{\string\:CrossWord{#1}{#2}}%
+ \expandafter \expandafter \expandafter
+ \:writeref\expandafter{\:head{\folio}\prcnt:ch}%
+\endgroup}
+\NewConfigure{xref}{1}
+\def\:writeref{\write\:refout}%
+\def\load:ref#1{%
+ \edef\re:call{\catcode`\noexpand\:\the\catcode`\: }%
+\catcode`\:11
+\let\sv:crs\:CrossWord
+\def\:CrossWord{\bgroup \catcode`\:12 \catcode`\@11
+ \catcode`\^^M11 \:CrsWrd}%
+\def\:CrsWrd##1##2##3{\egroup \sv:crs{##1}{##2}{##3}}%
+%
+ \get:input{#1}%
+ \re:call \let\:CrossWord\sv:crs }
+\def\:CrossWord#1#2#3{\Cross:Word{}{#1}{#2}{#3}}
+\def\Cross:Word#1#2#3#4{%
+ \def\:temp{#3}\tmp:toks{#3}%
+ \expandafter\edef\csname cw:\cw:format{#1#2}\endcsname{%
+ \expandafter\ifx\csname cw:\cw:format{#1#2}\endcsname\relax
+ \else \csname cw:\cw:format{#1#2}\endcsname , \fi
+ \ifx \:temp\empty #4\else \the\tmp:toks\fi}}
+\def\cw:format#1{#1}%
+
+\ifx \:refout\:UnDef
+ \openin15=\jobname.xref
+\ifeof15 \def\:NoTag#1{\hbox{$???$}}
+\else \def\:NoTag#1{\hbox{$???$}
+ \:warning{\string\Ref\string{\string#1\string}?}}
+ \ifx \:::HRefTag\:UnDef\else
+ \pend:defII\:::HRefTag{%
+ \if \relax##1\relax\else
+ \expandafter\ifx\csname cw:)Q\aXrefFile ##1\endcsname\relax
+ \:warning{\string\Link{##1}?}\csname a:?Link\endcsname
+ \fi\fi }
+\fi
+
+\fi
+\closein15
+
+ \load:ref{\jobname.xref}
+ \csname newwrite\endcsname\:refout
+ \if:latex \expandafter\immediate\fi
+\openout\:refout=\jobname.xref
+\fi
+\def\LoadRef{\futurelet\:tempa\:LoadRef}
+\def\:LoadRef{{%
+ \if \bgroup\:tempa
+ \aftergroup\loadr:ef
+ \else
+ \aftergroup\Load:Ref \if -\:tempa \else
+ \aftergroup-\fi
+ \fi
+}}
+\def\Load:Ref#1{\futurelet\:tempb\LoadRef:}
+\def\LoadRef:{{%
+ \aftergroup\:loadref \ifx [\:tempb \else
+ \aftergroup[\aftergroup]\fi}}
+\def\:loadref[#1]{%
+ \let\sv:cros\:CrossWord
+ \edef\:tempd{#1}\ifx \:tempd\empty \let\:tempb N\fi
+ \futurelet\:tempc\l:oadref }
+\def\l:oadref{%
+ {\aftergroup\lo:adref \if +\:tempc \else \aftergroup+\fi }}
+\def\lo:adref#1#2#3{%
+ \def\cw:format##1{#3}%
+ \edef\:temp{#2}\expandafter \get:ext\:temp .!*?: %
+ \ifx \:temp\empty
+ \set:CrossWord#2.!*?: {\:tempd}\load:ref{#2.xref}%
+ \else \set:CrossWord#2!*?: {\:tempd}\load:ref{#2}\fi
+ \let\:CrossWord\sv:cros }
+\def\get:ext#1.#2!*?: {\def\:temp{#2}}
+\def\loadr:ef#1{\let\:tempc=x \let\:tempd\empty \lo:adref{}{#1}{##1}}
+\def\set:CrossWord#1!*?: #2{%
+ \edef\:temp{\noexpand\:setCrossWord#1!*?: {#2}}\:temp}
+\def\:setCrossWord#1.#2!*?: #3{%
+ \ifx [\:tempb
+ \def\:CrossWord##1##2##3{%
+ \cond:CrossWord##1#3!*?: {##1}{##2}{##3}}%
+ \def\:tail#3##1#3{##1}%
+ \if +\:tempc \if -\:tempa
+ \def\cond:CrossWord##1#3##2!*?: ##3##4##5{%
+ \def\:temp{##1}\ifx \:temp\empty
+ \Cross:Word{#1::}%
+ {\:tail##3#3}{##4}{##5}\fi }%
+\else
+ \def\cond:CrossWord##1#3##2!*?: ##3##4##5{%
+ \def\:temp{##1}\ifx \:temp\empty
+ \Cross:Word{#1::}{##3}{##4}{##5}\fi }%
+\fi
+%
+ \else \if -\:tempa
+ \def\cond:CrossWord##1#3##2!*?: ##3##4##5{%
+ \def\:temp{##1}\ifx \:temp\empty
+ \Cross:Word{}{\:tail##3#3}{##4}{##5}\fi }%
+\else
+ \def\cond:CrossWord##1#3##2!*?: ##3##4##5{%
+ \def\:temp{##1}\ifx \:temp\empty
+ \Cross:Word{}{##3}{##4}{##5}\fi }%
+\fi
+\fi
+ \else
+ \if +\:tempc \def\:CrossWord{\Cross:Word{#1::}}%
+\fi
+ \fi
+}
+
+\ifHtml \catcode`\:=12
+
+\def\get@hfile#1{\get@hfil@ #1:::://}
+
+\def\get@hfil@#1::#2::#3//{%
+ \expandafter\ifx \csname
+ cw:#1::)Q\aXrefFile #2\endcsname \relax \else
+ \expandafter\expandafter\expandafter\get@@hfile
+ \csname cw:#1::)Q\aXrefFile #2\endcsname,//{#1}%
+ \fi}
+\def\get@@hfile#1,#2//#3{%
+ \expandafter\ifx
+ \csname cw:#3::)F\aXrefFile #1%
+ \empty F-\endcsname \relax
+ \else
+ \csname cw:#3::)F\aXrefFile #1%
+ \empty F-\endcsname
+ \expandafter \expandafter \expandafter \expandafter
+ \expandafter \expandafter \expandafter \remove@fn
+ \fi }
+
+\def\remove@fn#1#2::{#1}
+
+\catcode`\:=11
+
+\fi
+\NewConfigure{?Link}{1}
+
+\ifHtml
+ \def\:temp{\def\ifOption##1}
+\expandafter\expandafter\expandafter\:temp
+ \expandafter{\Preamble,,//\if:Option
+ \def\:temp{\the\tmp:toks
+ \def\:temp{\tmp:toks={}}%
+ \afterassignment\:temp \tmp:toks=}%
+\afterassignment\:temp
+\else \def\:temp{%
+ \def\:temp{\the\tmp:toks}%
+ \afterassignment\:temp \tmp:toks=}%
+\afterassignment\:temp
+\fi \tmp:toks=}
+\pend:defI\ifOption{\def\:temp{##1}\:Optionfalse\:ScanOptions}
+\let\:Hin\empty
+\def\Hinput#1{\PushStack\:Hinputs\:Hin \def\:Hin{#1}%
+ \expandafter\:Hinput\:Hincl{}{}\PopStack\:Hinputs\:Hin}
+\def\:Hinput#1#2{\def\:temp{#2}\ifx \:temp\empty \else
+ \let\:temp\empty \def\:tempa{*}\def\:tempb{#1}%
+ \ifx \:tempa\:tempb \def\:temp{\input #2}%
+ \else \ifx \:Hin\:tempb \def\:temp{\input #2}%
+ \else \def\:tempb{#1.4ht}\ifx \:Hin\:tempb \def\:temp{\input #2}%
+ \fi\fi\fi
+ \expand:after{\:temp
+ \Configure{NewConfigure}{a:}{b:}{c:}{d:}{e:}{f:}{g:}{h:}{i:}%
+\:Hinput}\fi}
+
+ \Hinput{Preamble} \ht:special{t4ht.\:html}
+ \def\ScriptCommand{\begingroup \catcode`\\12
+ \:DefScript}
+\def\:DefScript#1{\endgroup \Def:Script#1!*?: }
+\def\Def:Script#1#2!*?: {%
+ \expandafter\let\csname :#2:\endcsname\empty
+ \edef\:temp{\long\def\expandafter\noexpand\csname a:#2\endcsname
+ ####1\expandafter\noexpand\csname End#2\endcsname
+ {####1\noexpand\:EndVerbatim}}\:temp
+ \long\expandafter\def\csname
+ b:#2\endcsname##1#1End#2{##1\:EndVerbatim}%
+ \edef\:temp{\noexpand\DefScript:
+ \expandafter\noexpand\csname #2\endcsname
+ {\expandafter\noexpand\csname a:#2\endcsname}%
+ {\expandafter\noexpand\csname b:#2\endcsname}}\:temp
+}
+\def\DefScript:#1#2#3#4#5{\def#1{\call:script{#2}{#3}{#4}{#5}}}
+\def\call:script#1#2#3#4{\begingroup \vrb:tt
+ \leftskip\z@ \parindent\z@
+ \Configure{HVerbatim}{\empty}{\empty}{\empty}{\empty}%
+ \Configure{HVerbatim+}{\z@}{\hbox{ }}%
+ #3\ht:special{t4ht@@}%
+ \let\Verb:atim#1\let\Ver:batim#2%
+ \def\:EndVerbatim{\ht:special{t4ht@@}%
+ #4\endgroup\ignorespaces}\Verb:env}
+\def\a:rootfont:{-}
+\:CheckOption{fonts+} \if:Option \def\a:rootfont:{+}
+\else
+ \Log:Note{for marking of the base font,
+ use the command line option `fonts+'}%
+\fi
+
+ \:CheckOption{verify} \if:Option
+ \let\:chk:trc\:gobble
+
+\else \:CheckOption{verify+} \if:Option
+ \def\:chk:trc#1{\immediate
+ \write16{\the\inputlineno\space(\:ChkLevel) #1}}
+
+\fi \fi
+\if:Option
+ \HAssign\:ChkLevel0
+\let\:CurrentChk\empty
+\PushStack\:CHK\empty
+\def\VerifyOpen#1{\Protect\trace:chk#1 !*?: }
+\def\trace:chk#1 #2!*?: {%
+ \gHAdvance\:ChkLevel 1 \:chk:trc{Open......#1}%
+ \expandafter\ifx \csname #1Level:\endcsname\relax
+ \expandafter\gHAssign\csname #1Level:\endcsname0
+ \fi
+ \expandafter\gHAdvance\csname #1Level:\endcsname 1
+ \PushStack\:CHK{#1}%
+ \expandafter\ifx \csname \:CurrentChk +#1\endcsname\relax
+ \expandafter\gdef \csname \:CurrentChk +#1\endcsname{}%
+ \immediate\write16{\the\inputlineno.
+ --- warning --- \:CurrentChk\space --> #1 ?}%
+ \fi
+ \xdef\:CurrentChk{#1}%
+}
+\def\VerifyClose#1{\Protect\trace:endchk#1 !*?: }
+\def\trace:endchk#1 #2!*?: {%
+ \:chk:trc{Close......#1}%
+ \expandafter\ifx \csname #1Level:\endcsname\relax
+ \immediate\write16{\the\inputlineno.
+ --- warning --- </#1> witout <#1>}%
+ \expandafter\gHAssign\csname #1Level:\endcsname0
+ \else
+ \expandafter\gHAdvance\csname #1Level:\endcsname -1
+ \gHAdvance\:ChkLevel -1
+ \PopStack\:CHK\:temp
+ \edef\:tempa{#1}%
+ \ifx \:temp\:tempa
+ \PopStack\:CHK\:CurrentChk
+ \PushStack\:CHK\:CurrentChk
+ \else
+ \immediate\write16{\the\inputlineno.
+ --- warning --- </\:temp> instead of </#1>}%
+ \fi
+ \fi
+}
+\def\VerifyEmpty#1{\Protect\trace:emptychk#1 !*?: }
+\def\trace:emptychk#1 #2!*?: {%
+ \:chk:trc{Empty......#1}%
+ \expandafter \ifx \csname \:CurrentChk +#1\endcsname\relax
+ \expandafter\gdef \csname \:CurrentChk +#1\endcsname{}%
+ \immediate\write16{\the\inputlineno.
+ --- warning --- \:CurrentChk\space --> #1 ?}%
+ \fi
+}
+\begingroup
+ \catcode`\^7
+ \gdef\Verify{\bgroup \catcode`\ 9 \catcode`\^^M9 \:dtd}
+\endgroup
+\def\:dtd#1\EndVerify{\egroup\dtd:rule#1,-->,}
+\def\dtd:rule#1-->#2,{\def\:temp{#1#2}\ifx \:temp\empty\else
+ \expandafter\gdef \csname #1+#2\endcsname{}%
+ \expandafter\dtd:rule
+ \fi}
+
+\else
+ \let\VerifyOpen\:gobble
+ \let\VerifyClose\:gobble
+ \let\VerifyEmpty\:gobble
+ \long\def\Verify#1\EndVerify{}
+ \def\trace:chk#1 #2!*?: {}
+\fi
+\def\Goto:Configure{\long\def
+ \Goto:Configure##1\:Configure{\let\Goto:Configure
+ \:UnDef}\expandafter\Goto:Configure}
+\:CheckOption{hooks++} \if:Option
+ \pend:defI\Configure{\tmp:cnt0
+ \long\def\c:def####1####2{\advance\tmp:cnt 1
+ \edef\:tempb{\expandafter \meaning\csname c:##1:\endcsname}%
+\expandafter\par:N \:tempb////%
+
+ \def####1{####2}%
+ \edef\:temp{\noexpand\pend:def\noexpand####1{\noexpand\ifx
+ \noexpand\EndPicture\noexpand\:UnDef \hbox{\noexpand\a:trc
+ ##1\the\tmp:cnt :\:tempb\noexpand\b:trc}\noexpand\fi}}\:temp
+ \edef\:temp{\noexpand\append:def\noexpand####1{\noexpand\ifx
+ \noexpand\EndPicture\noexpand\:UnDef\hbox{\noexpand\c:trc
+ ##1\the\tmp:cnt :\:tempb\noexpand\d:trc}\noexpand\fi}}\:temp
+ }}
+
+ \def\edit:p#1#2{\let#2\empty \:gobble}%
+\else \:CheckOption{hooks+} \if:Option
+ \def\trc:wrt{\immediate\write16}
+ \else \:CheckOption{hooks} \if:Option
+ \let\trc:wrt\:gobble
+ \fi\fi
+ \if:Option
+ \pend:defI\Configure{\tmp:cnt0
+ \long\def\c:def####1####2{\advance\tmp:cnt 1
+ \edef\:tempb{\expandafter \meaning\csname c:##1:\endcsname}%
+\expandafter\par:N \:tempb////%
+
+ \def####1{####2}%
+ \ifx ####1\empty
+ \edef\:temp{\noexpand\pend:def\noexpand####1{\hbox{\noexpand
+ \a:trc ##1\the\tmp:cnt :\:tempb\noexpand\b:trc}}}\:temp
+ \edef\:temp{\noexpand\append:def\noexpand####1{\hbox{\noexpand
+ \c:trc ##1\the\tmp:cnt :\:tempb\noexpand\d:trc}}}\:temp
+ \else
+ \trc:wrt{...##1\the\tmp:cnt....\meaning####1}%
+ \fi
+}}
+\long\def\ConfigureToc#1#2#3#4#5{%
+ \expandafter\def\csname toc#1\endcsname##1##2##3{#5}%
+ \edit:p\def\:temp{#2#3#4#5}\ifx \:temp\empty
+ \expandafter\pend:defIII\csname toc#1\endcsname{\hbox
+ {\a:trc Toc(#1)1\b:trc}####1\hbox{\a:trc Toc(#1)2\b:trc}####2\hbox
+ {\a:trc Toc(#1)3\b:trc}####3\hbox{\a:trc Toc(#1)4\b:trc}}%
+ \else
+ \def\:temp{#4}\ifx \:temp\empty \else
+ \expandafter\pend:defIII\csname toc#1\endcsname{#4####3}%
+\fi
+\def\:temp{#3}\ifx \:temp\empty \else
+ \expandafter\pend:defIII\csname toc#1\endcsname{#3####2}%
+\fi
+\def\:temp{#2}\ifx \:temp\empty \else
+ \expandafter\pend:defIII\csname toc#1\endcsname{#2####1}%
+\fi
+
+ \fi
+}
+
+ \let\edit:p\empty
+\fi \fi
+\if:Option
+ \edef\:tempb{\def\noexpand
+ \par:N##1\string :##2->##3////{\noexpand\par:NN?##2//}}
+\:tempb
+\def\par:NN#1#2//{\def\:tempb{#2}\ifx\:tempb\empty
+ \def\:tempb{#1}\else \def\:tempb{\par:NN#2//}\expandafter\:tempb\fi}
+
+ \NewConfigure{hooks}[4]{\def\a:trc{#1}\def\b:trc{#2}%
+ \def\c:trc{#3}\def\d:trc{#4}%
+ \ifx \a:trc\empty \def\a:trc##1\b:trc{\b:trc}\fi
+ \ifx \c:trc\empty \def\c:trc##1\d:trc{\d:trc}\fi
+ }
+ \def\d:def{\advance\tmp:cnt 1\def}
+ \Configure{hooks}{}{}{}{}
+\else
+ \let\c:hooks:\:gobbleIV
+
+\fi
+\def\Tg<#1>{%
+ \expandafter\ifx
+ \csname\try:tagend <#1</!*?: \endcsname\is:empty
+ \:tagend#1!*?: \else
+ \expandafter\ifx
+ \csname\try:tagempty #1>/>!*?: \endcsname\is:empty
+ \:tag{#1}\else \:tagempty #1>\fi\fi}
+\def\try:tagend#1</#2!*?: {#1is:empty}
+\def\try:tagempty#1/>#2!*?: {#2is:empty}
+\def\is:empty{\empty\empty}
+\:CheckOption{edit} \if:Option
+ % \def\tg<#1>{\c:edit#1\d:edit}
+\def\TG<#1>{\a:edit#1\b:edit}
+
+ \def\tag:of#1 #2!*?: {#1}
+\def\mn:s{-}
+\def\:tag#1{\VerifyOpen{#1}\expandafter\ifx
+ \csname A:\tag:of#1 !*?: \endcsname\mn:s\else
+ \csname A:\tag:of#1 !*?: \endcsname
+ \hbox{\a:edit\HCode{#1}\b:edit}%
+ \fi \csname B:\tag:of#1 !*?: \endcsname
+ }
+\def\:tagend#1#2!*?: {\VerifyClose{#2}\expandafter\ifx
+ \csname A:/\tag:of#2 !*?: \endcsname\mn:s\else
+ \csname A:/\tag:of#2 !*?: \endcsname
+ \hbox{\a:edit\HCode{/#2}\b:edit}%
+ \fi \csname B:/\tag:of#2 !*?: \endcsname
+ }
+\def\:tagempty#1/>{\VerifyEmpty{#1}\expandafter\ifx
+ \csname A:\tag:of#1 !*?: /\endcsname\mn:s\else
+ \csname A:\tag:of#1 !*?: /\endcsname
+ \hbox{\a:edit\HCode{#1/}\b:edit}%
+ \fi \csname B:\tag:of#1 !*?: /\endcsname
+ }
+\expandafter\def\csname c:<:\endcsname#1>{\edef\:temp{#1}\:gat}
+\long\def\:gat#1#2{\expandafter
+ \def\csname A:\:temp\endcsname{#1}%
+ \expandafter\def\csname B:\:temp\endcsname{#2}}
+\NewConfigure{edit}{4}
+
+\else
+ % \def\tg<#1>{<#1>}
+\def\TG<#1>{\HCode{<#1>}}
+
+ \:CheckOption{verify}\if:Option\else \:CheckOption{verify+}\fi
+ \if:Option
+ \def\:tag#1{\VerifyOpen{#1}\hbox{\HCode{<#1>}}}
+\def\:tagend#1#2!*?: {\VerifyClose{#2}\hbox{\HCode{</#2>}}}
+\def\:tagempty#1/>{\VerifyEmpty{#1}\hbox{\HCode{<#1/>}}}
+\expandafter\def\csname c:<:\endcsname#1>{\:gobbleII}
+
+ \else
+ \def\:tag#1{\hbox{\HCode{<#1>}}}
+\def\:tagend#1#2!*?: {\hbox{\HCode{</#2>}}}
+\def\:tagempty#1/>{\hbox{\HCode{<#1/>}}}
+\expandafter\def\csname c:<:\endcsname#1>{\:gobbleII}
+
+ \fi
+\fi
+
+\NewConfigure{Preamble}{2}
+\NewConfigure{CutAtTITLE+}[1]{\def\a:CutAtTITLE{#1}}
+\NewConfigure{HPageTITLE+}[1]{\def\a:HPageTITLE{#1}}
+\NewConfigure{crosslinks}[8]{%
+ \def\default:bts##1##2{%
+ \let\sv:cond:bt\cond:bt
+%
+ \def\:temp{##1}\ifx \:temp\empty
+ \ifx\a:crsbt\empty\ifx \aa:crsbt\empty \let\cond:bt\:gobbleIII
+\fi\fi
+ \a:crsbt
+ \else
+ \ifx\b:crsbt\empty\ifx \bb:crsbt\empty \let\cond:bt\:gobbleIII
+\fi\fi
+ \b:crsbt
+ \fi
+ \def\CLB:next{\expandafter\cond:bt\next:bt{}{#3}}%
+ \ifx \prevCut\empty
+ \def\:temp{\prevCut}\ifx \:temp\prev:bt
+ \Recall:HPageTag\HP:file \Save:HPageTag\HP:file
+ \def\:temp{#4}\ifx \:temp\empty \else
+ \def\CLB:prevup{%
+ #1\Link[\RefFile{)B\HP:file}]{}{}#4\EndLink #2}%
+ \fi
+ \def\:temp{#5}\ifx \:temp\empty \else
+ \def\CLB:prevtailup{%
+ #1\Link[\RefFile{)B\HP:file}]{tail\Jobname
+ }{}#5\EndLink #2}%
+ \fi
+ \long\def\:tempb####1####2{\gdef\root:next{%
+ \def\:temp{####2}\edef\HP:file{\RefFileNumber\file:id}%
+ \ifx \:temp\HP:file
+ \global\let\root:next\empty
+ \def\:temp{#3}\ifx \:temp\empty
+ \Link{}{tail\Jobname}\EndLink
+ \else
+ \expandafter\ifx \csname a:next\endcsname\relax #1\else
+ \a:next \fi \Link[####1]{}{tail\Jobname}#3\EndLink
+ \expandafter\ifx \csname b:next\endcsname\relax #2\else
+ \b:next \fi
+ \fi \fi}}%
+\edef\:temp{\noexpand\:tempb
+ {\RefFileNumber\file:id}{\RefFile{)B\HP:file}}}%
+\:temp
+%
+\fi \fi
+%
+ \def\CLB:prev{\expandafter\cond:bt\prev:bt{}{#4}}%
+ \def\CLB:prevtail{\expandafter\cond:bt\prev:bt{tail\prev:bt}{#5}}%
+ \def\:temp{##2}%
+\ifx \:temp\empty
+ \def\:temp{#6}%
+ \ifx \:temp\empty \else
+ \def\CLB:tail{#1\Link[\RefFileNumber\file:id]{}{}#6\EndLink #2}\fi
+\else
+ \def\:temp{#7}%
+ \ifx \:temp\empty \else
+ \def\CLB:front{#1\Link{##2\RefFileNumber\file:id}{}#7\EndLink #2}\fi
+\fi
+%
+ \def\:temp{#8}\ifx \:temp\empty \else
+ \ifx \cond:bt\:gobbleIII
+ \else \def\CLB:up{#1\ExitHPage{#8}#2}\fi\fi
+ \CLB:menu
+%
+ \let\cond:bt\sv:cond:bt
+%
+ \def\:temp{##1}\ifx \:temp\empty \aa:crsbt\else \bb:crsbt\fi
+ \def\:temp{##1}\ifx \:temp\empty \else
+ \ifx\yes:tail\def
+ \Link{}{##1\RefFileNumber\file:id}\EndLink
+\fi \fi
+}%
+ \def\cond:bt##1##2##3{%
+ \expandafter\ifx\csname a:cond:bt\endcsname \relax
+ \ifx ##1\empty \else
+ \def\:temp{##3}\ifx \:temp\empty \else
+ #1\Link[##1]{##2}{}##3\EndLink #2%
+ \fi \fi
+ \else
+ \ifx ##1\empty
+ \def\:temp{next}\ifx \:temp\cur:bt \else
+ \ifx \c:next:\:gobbleII \else \let\:temp=\empty \fi
+\fi
+\ifx \:temp\empty \else
+ \ifx \a:cond:bt\empty \ifx \b:cond:bt\empty #1\else
+ \a:cond:bt\fi
+ \else \a:cond:bt\fi
+ ##3%
+ \ifx \a:cond:bt\empty \ifx \b:cond:bt\empty #2\else
+ \b:cond:bt\fi
+ \else \b:cond:bt\fi
+\fi
+%
+ \else
+ \def\:temp{##3}\ifx \:temp\empty \else
+ #1\Link[##1]{##2}{}##3\EndLink #2%
+ \fi \fi
+ \fi
+}%
+%
+}
+\NewConfigure{crosslinks+}[4]{%
+ \def\a:crsbt{#1}\def\aa:crsbt{#2}\def\b:crsbt{#3}\def\bb:crsbt{#4}}
+\NewConfigure{crosslinks-}[2]{%
+ \def\a:cond:bt{#1}\def\b:cond:bt{#2}}
+\expandafter\def\csname c:crosslinks*:\endcsname{%
+ \let\CLB:menu\empty \CLB:menuitem }
+\def\CLB:menuitem#1{%
+ \def\:tempa{#1}\ifx \:tempa\empty \else
+ \append:def\CLB:menu{\csname a:crosslinks:#1\endcsname
+ \def\cur:bt{#1}\csname CLB:#1\endcsname
+ }%
+ \def\:temp{prev}\ifx \:temp\:tempa
+ \append:def\CLB:menu{\csname a:crosslinks:prev\endcsname
+ \csname CLB:prevup\endcsname
+ }%
+ \else
+ \def\:temp{prevtail}\ifx \:temp\:tempa
+ \append:def\CLB:menu{%
+ \csname a:crosslinks:prev\endcsname
+ \ifx\a:crsbt\empty\else \let\yes:tail\def\fi
+\ifx\aa:crsbt\empty\else \let\yes:tail\def\fi
+\ifx\b:crsbt\empty\else \let\yes:tail\def\fi
+\ifx\bb:crsbt\empty\else \let\yes:tail\def\fi
+%
+ \csname CLB:prevtailup\endcsname
+ }%
+ \fi \fi
+ \expandafter\CLB:menuitem
+ \fi
+}
+\Configure{crosslinks*}
+ {next}
+ {prev}
+ {prevtail}
+ {tail} {front}
+ {up}
+ {}
+\NewConfigure{crosslinks:next}{1}
+\NewConfigure{crosslinks:prev}{1}
+\NewConfigure{crosslinks:prevtail}{1}
+\NewConfigure{crosslinks:tail}{1}
+\NewConfigure{crosslinks:front}{1}
+\NewConfigure{crosslinks:up}{1}
+\NewConfigure{next}[2]{\def\a:next{#1}\def\b:next{#2}}
+\NewConfigure{writetoc}[1]{\concat:config\a:writetoc{#1}}
+\let\a:writetoc\empty
+\NewConfigure{TocAt*}[2]{%
+ \c:def\a:dTocAt{#1}\c:def\b:dTocAt{#2}}
+\NewConfigure{TocAt}[2]{%
+ \c:def\a:TocAt{#1}\c:def\b:TocAt{#2}}
+\Configure{TocAt*}{}{}
+\Configure{TocAt}{}{}
+\def\halignTD{\ifx \:mALIGN\empty \hT:D \else \:mALIGN \fi}
+\def\halignTB#1{\global\expandafter\let\expandafter\:MkHalign:
+ \csname :#1:\endcsname \a:halignTB \expandafter\expandafter
+ \expandafter\halign:TB \csname :#1:\endcsname!*?: \b:halignTB}
+\NewConfigure{halignTB}{2}
+\NewConfigure{halignTB<>}[2]{%
+ \expandafter\def\csname :#1:\endcsname{#2}}
+\Configure{halignTB<>}{MkHalign}{<>}%
+
+\NewConfigure{MkHalign}[6]{%
+ \def\T:halign{\PushMacro\:MkHalign:\Configure{halignTB<>}{MkHalign}{<>}%
+#1}%
+ \def\t:halign{#2\PopMacro\:MkHalign:
+ \global\let\:MkHalign:\:MkHalign:}%
+ \def\R:halign{\TT:halign \gHAdvance\HRow 1 \gHAssign\HCol1
+ #3}%
+ \def\r:halign{\end:omit#4}%
+ \def\D:halign{\:nopartrue
+ \gHAdvance\dH:cnt by 1
+\edef\:tempa{\global\let\expandafter\noexpand\csname xc\dH:cnt\endcsname
+ \expandafter\noexpand\csname dH\MkHalign:d\endcsname}%
+\:tempa
+\expandafter\xdef\csname \dH:cnt :tempa\endcsname{%
+ \global\let \expandafter\noexpand\csname dH\MkHalign:d\endcsname
+ \expandafter\noexpand\csname xc\dH:cnt\endcsname}%
+%
+ \gHAdvance\MS:count -1
+\ifnum \MS:count > 0 \else
+ \end:omit \relax:shrp \derive:TD
+ \HAssign\:MULTISPAN1 \let\:mALIGN\empty
+ \expandafter\add:span\old:span \gHAssign\MS:count\:MULTISPAN
+ \relax #5%
+\fi
+\xdef\Step:Col{\ifx \HMultispan\:UnDef 1 \else \HMultispan\fi}%
+%
+ \ifnum\MS:count=\ifx \:MULTISPAN\:UnDef \MS:count
+ \else \:MULTISPAN\fi
+ \expandafter\gdef\csname dH\MkHalign:d\endcsname
+ {\ifnum \MS:count<2 #6\relax
+ \gHAdvance\HCol \Step:Col\relax \fi
+}\fi}%
+ \def\d:halign{\csname dH\ifnum \MkHalign:d<1 1\else \MkHalign:d\fi
+ \endcsname \csname \dH:cnt :tempa\endcsname
+\gHAdvance\dH:cnt by -1
+}}
+\Configure{MkHalign}{}{}{}{}{}{}
+\HAssign\dH:cnt0
+\NewConfigure{halignTD}[2]{\c:def\TD:CLASS{#1}%
+ \c:def\EndTD:CLASS{#2}\scan:halignTD}
+\def\scan:halignTD#1{\def\:temp{#1}\ifx \:temp\empty\else
+ \expandafter \sc:halignTD\fi{#1}}
+\def\sc:halignTD#1#2{\expandafter\def\csname
+ \string#1:T:D\endcsname{#2}\scan:halignTD}
+\NewConfigure{halignTR}[1]{\def\halignTR{#1}}
+\Configure{halignTR}{}
+\def\halignTBL{\expandafter\ifx \csname v:TBL\endcsname\relax
+ \else \expandafter\ifx \csname \v:TBL :T:BL\endcsname\relax\else
+ \csname \v:TBL :T:BL\endcsname
+ \fi\fi}
+\NewConfigure{halignTBL}[1]{\scan:halignTBL{#1}}
+\def\scan:halignTBL#1{\def\:temp{#1}\ifx \:temp\empty\else
+ \expandafter \sc:halignTBL\fi{#1}}
+\def\sc:halignTBL#1#2{\expandafter\def\csname
+ \string#1:T:BL\endcsname{#2}\scan:halignTBL}
+\NewConfigure{halign}[6]{\c:def\hlg:a{#1}%
+ \c:def\hlg:b{#2}\c:def\hlg:c{#3}\c:def\hlg:d{#4}%
+ \c:def\hlg:e{#5}\c:def\hlg:f{#6}}
+\NewConfigure{pic-halign}[1]{\def\pic:hlng{#1}}
+\NewConfigure{tt}[1]{\let\vrb:tt#1}
+\let\vrb:tt\tt
+\NewConfigure{HVerbatim}[4]{\c:def\bef:Verb{#1\Verb:eoln}%
+ \c:def\aft:Verb{\ht:everypar{}#2}%
+ \c:def\Verb:eoln{#3}\c:def\Verb:boln{#4}}
+\NewConfigure{HVerbatim+}[2]{\d:def\Verb:Left{#1}%
+ \def\Verb:sp{#2}}
+\NewConfigure{Picture-alt}{1}
+\Configure{Picture-alt}{}
+\NewConfigure{PictureAlt}{2}
+\NewConfigure{PictureAttr}[1]{\def\a:PictureAttr##1{#1}}
+\Configure{PictureAlt} {\NoFonts} {\EndNoFonts}
+\Configure{PictureAttr} {\HCode{\Hnewline #1}}
+\NewConfigure{IMG}{5}
+\NewConfigure{Picture}[1]{\def\PictExt{#1}}
+\Configure{Picture}{.png}
+\NewConfigure{Picture+}{2}
+\NewConfigure{Picture*}{2}
+\expandafter\def\csname c:string-encoder:\endcsname#1{%
+ \expandafter\def\csname c:#1:\endcsname{%
+ \csname #1:String\endcsname
+ \expandafter\let\csname #1:String\endcsname=\empty
+ \expandafter\let\expandafter\Char:dic
+ \csname #1Char:dic\endcsname
+ \cnf:transString}
+ \expandafter\def\csname #1\endcsname##1##2!*?: {%
+ \if :##1:\expandafter\gob:par
+ \else
+ \expandafter\ifx \csname \string##1:#1EnCoDe\endcsname\relax
+ \string ##1\else
+ \csname \string##1:#1EnCoDe\endcsname
+ \fi
+ \if :##2:\expandafter\expandafter\expandafter\gob:par
+ \else
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \csname #1\endcsname
+ \fi
+ \fi
+ ##2!*?: %
+ }
+ \expandafter\def\csname #1Char:dic\endcsname##1##2{%
+ \def\:temp{##1}\ifx \:temp\empty \egroup
+ \else \egroup
+ \expandafter\append:def\csname #1:String\endcsname
+ {\expandafter\let
+ \csname \string##1:#1EnCoDe\endcsname=\:UnDef}%
+ \expandafter\def\csname \string##1:#1EnCoDe\endcsname{##2}%
+ \expandafter \cnf:transString
+ \fi
+ }
+}
+\def\cnf:transString{\bgroup
+ \catcode`\%=12
+ \catcode`\~=12
+ \catcode`\$=12
+ \catcode`\&=12
+ \catcode`\#=12
+ \catcode`\^=12
+ \catcode`\_=12
+ \catcode`\?=12 \Char:dic }
+\def\gob:par#1!*?: {}
+\def\c:Needs:{\def\:Needs##1}
+\expandafter\def\csname c:Needs-:\endcsname{\def\:Neds##1}
+
+\NewConfigure{HtmlPar*}[2]{%
+ \def\:temp{#2}\ifx \:temp\empty \c:def\skip:Par{#1}\else
+ \c:def\skip:Par{#1\Next:EndP{#2}}\fi}
+\NewConfigure{ExitHPage}{3}
+\NewConfigure{UndefinedSec}[1]{%
+ \ifx \ltx:like\:UnDef \let\ltx:like\empty \let\ltx:nolike\empty \fi
+ \append:def\ltx:like{\expandafter\let\csname #1\endcsname\empty}%
+ \append:def\ltx:nolike{\expandafter\let\csname #1\endcsname\:UnDef}%
+}
+\NewConfigure{+CutAt}[3]{%
+ \expandafter\def\csname Before#1Button\endcsname##1{#2}%
+ \expandafter\def\csname After#1Button\endcsname##1{#3}}
+\NewConfigure{NoSection}{2}
+\NewConfigure{toTocLink}[2]{\def\scp:Link{#1}\def\scp:EndLink{#2}}
+\Configure{toTocLink}{\Title:Link}{\EndLink}
+\NewConfigure{TocLink}[1]{\def\a:TocLink##1##2##3##4{#1}}
+\NewConfigure{PauseMkHalign}{4}
+\NewConfigure{MiniHalign}{6}
+\NewConfigure{noalign-}[2]{\c:def\a:noalign{#1}\c:def\b:noalign{#1}}
+\:CheckOption{no-halign} \if:Option \else
+ \NewConfigure{noalign}{2}
+\fi
+\NewConfigure{Canvas}[3]{}
+\NewConfigure{PictureAlt*+}{2}
+\NewConfigure{PictureAttr*+}[1]{%
+ \expandafter\def\csname a:PictureAttr*+\endcsname##1{#1}%
+}
+\Configure{PictureAttr*+}{\ht:special{t4ht=#1}}
+\NewConfigure{PictureAlt*+[]}{2}
+\NewConfigure{PictureAttr*+[]}[1]{%
+ \expandafter\def\csname a:PictureAttr*+[]\endcsname##1{#1}%
+}
+\Configure{PictureAlt*+[]} {\NoFonts} {\EndNoFonts}
+\Configure{PictureAttr*+[]} {\ht:special{t4ht=#1}}
+\def\HChar#1{{\leavevmode\ht:special{t4ht@#1}\ifnum #1>-1 \a:HChar\fi}}
+\NewConfigure{HChar}{1}
+\Configure{HChar}{x}
+\NewConfigure{@Picture}[1]{\def\a:@Picture{#1}}
+\let\a:@Picture\:gobble
+\NewConfigure{RULE}[5]{\ht:special{t4ht@\%\%R#1#2#1#3}
+ \ht:special{t4ht@\%\%r#1#4#1#5}}
+\NewConfigure{GROUP}[5]{\ht:special{t4ht@\%\%P#1#2#1#3}
+ \ht:special{t4ht@\%\%p#1#4#1#5}}
+\NewConfigure{CHAR}[5]{\ht:special{t4ht@\%\%C#1#2#1#3}
+ \ht:special{t4ht@\%\%c#1#4#1#5}}
+\NewConfigure{HSPACE}[3]{\ht:special{t4ht@\%\%H#1#2#1#3}}
+\NewConfigure{VSPACE}[3]{\ht:special{t4ht@\%\%V#1#2#1#3}}
+\let\send:special=\:gobble
+\NewConfigure{Send:GROUP}[2]{\send:special{t4ht\string~<#1#2}}
+\NewConfigure{Send:EndGROUP}[2]{\send:special{t4ht\string~>#1#2}}
+\NewConfigure{Send:BACK}[1]{\send:special{t4ht\string~<*#1}}
+\def\:temp{\a:moveright \o:moveright:}
+\HLet\moveright\:temp
+\NewConfigure{moveright}{1}
+
+\NewConfigure{htf}[9]{{%
+ \tmp:cnt#1 \ifnum \tmp:cnt>255 \:warning{Code larger than
+ 255 in \string\Configure{htf}}\else
+ \ht:special{t4ht;|\ifnum \tmp:cnt<10 00\else
+ \ifnum \tmp:cnt<100 0\fi\fi
+ \the\tmp:cnt#2#3#2#4#2#5#2#6#2#7#2#8#2#9#2\the\tmp:cnt}%
+ \fi}}
+\def\NoFonts{\ht:special{t4ht;8}}
+\def\EndNoFonts{\ht:special{t4ht;9}}
+\NewConfigure{FontCss}[2]{\def\a:FontCss:{#1}\def\a:FontCssPlus:{#2}}
+\NewConfigure{htf-css}[2]{{%
+ \def\:temp##1!*?: {\def\:tempa{##1}}%
+ \afterassignment\:temp\tmp:cnt0#1!*?: %
+ \def\:temp{\Configure{Needs}}%
+ \ifx \:tempa\empty
+ \expandafter\:temp\expandafter{\a:FontCss:}\Needs{("#1"): #2}%
+ \else
+ \expandafter\:temp\expandafter{\a:FontCssPlus:}\Needs{#1 #2}%
+ \fi}}
+\NewConfigure{htf-attr}[2]{{%
+ \Configure{Needs}{##1}%
+ \Needs{Font\string_css\string_base: #1Font\string_css\string_mag: #2}}}
+
+\:CheckOption{new-accents} \if:Option
+ \def\:temp{\leavevmode\ifx \d:mathaccent\empty
+ \else \ht:special{t4ht\string~>1\d:mathaccent}\fi
+ \ht:special{t4ht*\string^m}\o:mathaccent:}
+\HLet\mathaccent\:temp
+\def\:temp{\leavevmode\ht:special{t4ht*\string^t}\o:accent:}
+\HLet\accent\:temp
+\NewConfigure{accent}[6]{\ht:special{t4ht*\string^t#1#2#1#3#1#4#1#5#1#6}}
+\NewConfigure{mathaccent}[6]{\ht:special{t4ht#1\string
+ ^m#1#2#1#3#1#4#1#5#1}\edef\d:mathaccent{#6}}
+\let\d:mathaccent\empty
+\NewConfigure{accented}[6]{\ht:special
+ {t4ht*\string^a#1#2#1#3#1#4#1#5#1#6}}
+\NewConfigure{accenting}[3]{\ht:special{t4ht*\string^i#1#2#1#3#1#1}}
+\NewConfigure{HAccent}[1]{\pic:Accent#1}
+\def\pic:Accent#1#2#3#4{\edef\:tempb##1{{\expandafter\:gobble\string#1}}%
+ \pend:defI\:tempb{\choose:accent{####1}#2\relax!*?: }%
+ \append:defI\:tempb{{#3}{#4}}%
+ \expandafter\let\csname \string#1:\endcsname\:tempb
+ \edef\:tempb{\noexpand\Protect\noexpand\acc:nm{\string#1}}%
+ \HLet#1\:tempb}
+\def\acc:nm#1{\csname \string#1:\endcsname}
+\def\choose:accent#1{\def\:accented{#1}\cs:accent}
+\def\realx:par{\relax}
+\def\cs:accent#1{\def\:tempa{#1}%
+ \ifx \:tempa\realx:par \expandafter\pic:accent
+ \else
+ \ifx \:tempa\:accented
+ \expandafter\expandafter\expandafter\nopic:accent
+ \else \expandafter\expandafter\expandafter\cs:accent\fi
+ \fi}
+\def\pic:accent#1!*?: #2#3#4{%
+ #3\nopic:accent!*?: {#2}{}{}#4}
+\def\nopic:accent#1!*?: #2#3#4{\expandafter\expandafter
+ \csname o:#2:\endcsname\expandafter{\:accented}}
+
+\else
+ \NewConfigure{accent}[5]{%
+ \expandafter\ifx \csname x:\string#2\endcsname\relax
+ \expandafter\edef
+ \csname x:\string#2\endcsname{\accent:cnt}%
+ \expandafter\let\csname t:\accent:cnt\endcsname#1%
+\expandafter\let\csname m:\accent:cnt\endcsname#2%
+%
+ \edef\:temp{\ifx \accent:def\:UnDef \noexpand\def \else
+ \noexpand\accent:def \fi
+ \noexpand\:temp{\noexpand\ac:pc{\accent:cnt}}%
+ \noexpand\HLet\noexpand#1\noexpand\:temp
+ \noexpand\pend:defI
+ \noexpand\:accnts{\noexpand\ifnum ########1=\accent:cnt
+ \noexpand\expandafter \noexpand\acpc:
+ \expandafter\noexpand\csname\accent:cnt :ac\endcsname
+ \noexpand\expandafter \noexpand\end:accent \noexpand\fi}%
+}%
+\:temp
+\def\:temp{#1}\def\:tempa{#2}\ifx \:temp\:tempa \else \HLet#2#1\fi
+%
+ \Advance:\accent:cnt by 1
+ \fi
+ \edef\:tempa{\csname x:\string#2\endcsname}%
+ \def\:temp{#3}\ifx \:temp\empty \else
+ \expandafter\def\csname \:tempa :ac\endcsname{#3}
+\fi
+\long\def\:temp##1##2{#4#5}\ifx \:temp\:gobbleII \else
+ \expandafter\def\csname C:\:tempa\endcsname##1{#4}%
+ \expandafter\def\csname MT:\:tempa\endcsname##1##2{#5}%
+\fi
+%
+ }
+\def\accent:cnt{0}
+\def\end:accent#1\empty{}
+\def\:accnts#1{}
+
+ \def\ac:pc{\Protect\csname acp:c\endcsname}
+\def\acp:c#1#2{{\def\acn:no{#1}\def\:temp{#2}\ifx \:temp\empty
+ \ac:nt{}%
+%
+ \else \let\@tabacckludge\:tabacckludge
+%
+ \def\ac:pc{\ac:nt{#2}}\a:cpc{#1}\fi }}
+\def\ac:nt{\csname \ifmmode m\else t\fi :\acn:no\endcsname}
+\def\Ac:nt{\edef\:temp{\ifx \EndPicture\:UnDef
+ \def\noexpand\ac:pc{\noexpand\Protect \noexpand\acp:c}%
+ \expandafter\noexpand \csname MT:\acn:no\endcsname
+ \fi
+ \expandafter\noexpand
+ \csname\ifmmode m\else t\fi :\acn:no\endcsname}\:temp
+}
+\def\a:cpc#1{%
+ \ifx \EndPicture\:UnDef
+ \def\AC:PC{{\let\AC:PC\ACP:C \let\ac:nt\Ac:nt \ac:pc}%
+%
+ }%
+ \:accnts{#1}\empty
+ \else \ac:pc \fi }
+\def\acpc:#1#2{%
+ \def\:tempa{#1}\ifx \:tempa\empty
+ \ifx \:temp\empty
+ \def\:tempa{#2}\ifx \:tempa\empty \AC:PC
+ \else \csname \ifmmode m\else t\fi :\acn:no\endcsname{#2}%
+\fi
+\else \AC:PC \fi
+%
+ \else \ifx \:tempa\:temp \let\AC:PC\empty
+ \csname C:\acn:no\endcsname{#2}%
+\fi
+ \expandafter\acpc:
+ \fi}
+
+\fi
+
+
+\def\:halign:{<>}
+\:CheckOption{base}
+\if:Option \else
+ \NewConfigure{$}[3]{%
+ \def\a:mth{\bgroup#1}\def\b:mth{#2\egroup}%
+ \def\c:mth{{\csname HCode\endcsname{}}%
+#3}%
+ \everymath{\ifx \EndPicture\:UnDef
+ $\a:mth\everymath{}\everydisplay{}$
+ \aftergroup\b:mth \c:mth \fi}}
+ \NewConfigure{$$}[3]{%
+ \def\a:display{\bgroup#1}%
+ \def\b:display{#2\egroup}%
+ \def\c:display{#3}%
+ \everydisplay{\ifx \EndPicture\:UnDef
+ $$\a:display\everymath{}\everydisplay{}$$
+ \aftergroup\b:display \c:display\fi}}
+
+\def\PicDisplay{\pic:gobble\env:PD
+ \def\:temp{$$}\pic:cond\Pic:math\:temp}
+\def\EndPicDisplay{\end:condpic\pic:gobble\endenv:PD}
+\def\Pic:math{\hfil\break
+ \expand:after{\Picture*}\alt:Mth{ \c:Math}}
+\def\PicMath{\leavevmode\pic:gobble\env:PM\hbox\bgroup
+ \everymath{}\everydisplay{}\pic:cond\pic:math$}
+\def\EndPicMath{\end:condpic\egroup\pic:gobble\endenv:PM}
+\def\pic:math{\expand:after{\Picture+}\alt:mth{ \c:math}}
+\NewConfigure{PicDisplay}[4]{\def\alt:Mth{#3}%
+ \ifx \alt:Mth\empty\else \def\alt:Mth{[#3]}\fi\def\c:Math{#4}%
+ \c:def\env:PD{#1}\c:def\endenv:PD{#2}}
+\NewConfigure{PicMath}[4]{\def\alt:mth{#3}%
+ \ifx \alt:mth\empty\else \def\alt:mth{[#3]}\fi\def\c:math{#4}%
+ \c:def\env:PM{#1}\c:def\endenv:PM{#2}}
+\def\DviMath{\a:DviMath\leavevmode \MathClass \ht:special{t4ht@(}\vbox
+ \bgroup{\ht:everypar{}\leavevmode\ht:special{t4ht@)}}%
+ \DviSend}
+\def\EndDviMath{\EndDviSend \ht:special{t4ht@(}\egroup\ht:special{t4ht@)}%
+\EndMathClass \b:DviMath}
+\NewConfigure{DviMath}{2}
+\def\PMath{\bgroup\Canvas \x:SUBOff \x:SUPOff
+ \let\Picture\empty \everymath{}\everydisplay{}}
+\def\EndPMath{\EndCanvas\egroup}
+\:CheckOption{PMath} \if:Option
+ \def\:Pmath{$\PMath$\aftergroup\EndPMath}
+ \def\:Pdisp{$$\PMath$$\aftergroup\EndPMath}
+ \everymath{\:Pmath}
+ \everydisplay{\:Pdisp}
+\fi
+
+ \let\s:b\sb
+\let\:sbb\sb
+\def\sb{\m:op\:sbb{SUB}}
+\catcode`\_8
+\:CheckOption{no_} \if:Option
+ \let\s:b\:UndFi
+ \let\x:SUBOff\empty \let\x:SUBOn\empty
+
+ \let\SUBOff\empty \let\SUBOn\empty
+
+ \def\no:restore{\let\no:restore\:UnDef}
+\else
+ \Log:Note{for non active \string_,
+ use the command line option `no\string_'}%
+ \ifx \sys:sb\:UnDef \def\:tempaa{_}
+\else \def\:tempaa{\noexpand\sys:sb}\fi
+
+ \ifx \sys:sb\:UnDef \def\:tempa#1{\append:def\SUBOff{\let#1_}}
+\else \def\:tempa#1{\append:def\SUBOff{\def#1{%
+ \ifmmode \expandafter\s:b \else \expandafter\sys:sb \fi
+}%
+}}\fi
+
+ \catcode`\_13
+ \if:Option
+ \def\S:b{\m:op\s:b{SUB}}
+\else
+ \def\S:b#1{\def\SuB:{#1}\futurelet\:temp\sub:sup}
+ \def\blank:space{
+ }
+ \def\sub:sup{\expandafter
+ \ifx \blank:space\:temp \expandafter\sub:supA
+ \else \expandafter\after:sub\fi}
+ \expandafter\def
+ \expandafter\sub:supA\blank:space{\futurelet\:temp\sub:sup}
+ \def\after:sub{\futurelet\:temp\choose:sub}
+\def\choose:sub{\expandafter
+ \ifx \csname \meaning\:temp sb\endcsname\relax
+ \expandafter \a:putSUB
+ \else
+ \expandafter\expandafter\csname \meaning\:temp sb\endcsname
+ \fi
+}
+
+ \def\a:putSUB{\sub:I \SuB:}
+ \def\sub:I{\m:op\s:b{SUB}}
+\fi
+
+ \def\x:SUBOff{\let_\s:b}
+ \def\pr:sb{\ifx \EndPicture\:UnDef
+ \expandafter\Protect\expandafter\S:b
+ \else \expandafter\s:b \fi}
+ \edef\:SUBOff{\def\noexpand_{\:tempaa}}
+
+ \:tempa_
+
+ \def\x:SUBOn{\def_{\ifmmode \expandafter\pr:sb
+ \else \expandafter\sys:sb\fi}\let\sb=_
+}
+\x:SUBOn
+
+ \def\SUBOn{\catcode`\_8
+ \def_{\ifmmode \expandafter\pr:sb
+ \else \expandafter\sys:sb\fi}}
+\SUBOn
+
+ \catcode`\_8
+ \:CheckOption{_13} \if:Option
+ \def\no:restore{\let\no:restore\:UnDef
+ \mathcode`\_"8000 \catcode`\_13 }
+ \append:def\SUBOn{\mathcode`\_"8000 \catcode`\_13 \let\sb=_
+}
+ \else
+ \Log:Note{for \string_ of catcode 13,
+ use the command line option `\string_13'}
+ \def\no:restore{\let\no:restore\:UnDef
+ \mathcode`\_"8000 \catcode`\_12 }
+ \append:def\SUBOn{\mathcode`\_"8000 \catcode`\_12 \let\sb=_
+}
+ \fi
+ \bgroup
+ \SUBOn \def\:temp{\let\sb=_
+}
+ \expandafter \egroup \:temp
+\fi
+\let\s:p\sp
+\let\:spp\sp
+\def\sp{\m:op\:spp{SUP}}
+\catcode`\^7
+\NewConfigure{\string^\string^}[2]{%
+ \def\:tempa##1>{}\def\:temp{#1}\:warning{\string
+ \Configure{\string\string\string ^\string\string
+ \string^}{\expandafter\:tempa\meaning \:temp}{...}
+ ignored; option \string^13 is not on}}
+
+\:CheckOption{no^} \if:Option
+ \let\s:p\:UndFi
+ \let\x:SUPOff\empty \let\x:SUPOn\empty
+
+ \let\SUPOff\empty \let\SUPOn\empty
+
+\else
+ \Log:Note{for non active \string^,
+ use the command line option `no\string^'}%
+ \ifx \sys:sp\:UnDef \def\:tempbb{^}
+\else \def\:tempbb{\noexpand\sys:sp}\fi
+%
+ \ifx \sys:sp\:UnDef \def\:tempb#1{\append:def\SUPOff{\let#1^}}
+\else \def\:tempb#1{\append:def\SUPOff{\def#1{%
+ \ifmmode \expandafter\s:p \else \expandafter\sys:sp \fi
+}%
+}}\fi
+%
+ \catcode`\^13
+ \if:Option
+ \def\S:p{\m:op\s:p{SUP}}
+\else
+ \def\S:p#1{\def\SuP:{#1}\futurelet\:temp\sup:sub}
+ \:CheckOption{^13} \if:Option \catcode`\_13
+ \else \catcode`\_12\fi
+ \def\blank:space{
+ }
+ \def\sup:sub{\expandafter
+ \ifx \blank:space\:temp \expandafter\sup:subA
+ \else \expandafter\sup:subB\fi}
+ \expandafter\def
+ \expandafter\sup:subA\blank:space{\futurelet\:temp\sup:sub}
+ \def\sup:subB{\ifx _\:temp \expandafter\SUP:SUB
+ \else \expandafter\a:putSUP \fi }
+ \catcode`\_8
+ \def\a:putSUP{\sup:I \SuP:}
+ \def\sup:I{\m:op\s:p{SUP}}
+\fi
+
+ \def\x:SUPOff{\let^\s:p }
+ \def\pr:sp{\ifx \EndPicture\:UnDef
+ \expandafter\Protect\expandafter\S:p
+ \else \expandafter\s:p \fi}
+ \edef\:SUPOff{\def\noexpand^{\:tempbb}}
+
+ \:tempb^
+
+ \def\x:SUPOn{\def^{\ifmmode \expandafter\pr:sp
+ \else \expandafter\sys:sp\fi}\let\sp=^
+}
+\x:SUPOn
+
+ \def\SUPOn{%
+ \def^{\ifmmode \expandafter\pr:sp
+ \else \expandafter\sys:sp\fi}}
+\SUPOn
+
+ \def\:sUp{%
+ \let\:sUp^%
+ \def^{\futurelet\:temp\next:hat}
+ \def\next:hat{\ifx ^\:temp \expandafter\:dblhat\else
+ \expandafter\:sUp\fi}%
+}
+
+ \catcode`\^7
+ \:CheckOption{^13} \if:Option
+ \:sUp
+\def\:dblhat#1#2{\def\:temp{#2}%
+ \def\:tempc{\def\:tempa####1>{}\:warning{\string^\string
+ ^\expandafter\:tempa\meaning\:temp? \string\Configure{\string
+ \string\string ^\string\string\string^}{\expandafter\:tempa
+ \meaning \:temp}{...} or use option no\string^}}%
+ \ext:chr \:tempc}
+\let\ext:chr\empty
+\NewConfigure{\string^\string^}[2]{%
+ \NewConfigure{\string^\string^}{2}%
+ \append:def\ext:chr{\def\:tempa{#1}\ifx \:temp\:tempa
+ \def\:tempc{#2}\fi}}
+
+ \append:def\no:restore{\mathcode`\^"8000 \catcode`\^13 }
+ \append:def\SUPOn{\mathcode`\^"8000 \catcode`\^13 \let\sp=^
+}
+ \else
+ \Log:Note{for \string^ of catcode 13,
+ use the command line option `\string^13'}%
+ \append:def\no:restore{\mathcode`\^"8000 \catcode`\^12 }
+ \append:def\SUPOn{\mathcode`\^"8000 \catcode`\^12 \let\sp=^
+}
+ \fi
+ \bgroup
+ \SUPOn \def\:temp{\let\sp=^
+}
+ \expandafter \egroup \:temp
+\fi
+\def\m:op{\ifx \EndPicture\:UnDef \expandafter\:mop
+ \else \expandafter\:m:p\fi}
+\def\:mop{\relax\ifmmode \expandafter \mo:p \else \expandafter\mop:\fi}
+\def\mo:p#1#2#3{{\csname a:#2\endcsname
+ #1{#3}\csname b:#2\endcsname}}
+\def\mop:#1#2#3{#1}
+\def\:m:p#1#2{#1}
+\NewConfigure{SUB}{2}
+\NewConfigure{SUP}{2}
+\:CheckOption{no^} \if:Option \else \:CheckOption{no_}\fi
+\if:Option
+ \NewConfigure{SUBSUP}[3]{}
+ \NewConfigure{SUPSUB}[3]{}
+ \NewConfigure{SUB/SUP}[6]{}
+\else
+ \def\SUP:SUB#1#2{\let\chs:sbsp\:gobble\def\SuB:{#2}\SUBSUP:}
+ \def\SUB:SUP#1#2{\def\chs:sbsp##1##2{##1}\def\SuP:{#2}\SUBSUP:}
+ \let\SUBSUP:\empty
+ \NewConfigure{SUBSUP}[3]{%
+ \def\:temp{#1#2#3}\ifx \:temp\empty
+ \def\SUBSUP:{\sub:I\SuB:\sup:I\SuP:}%
+ \else \def\SUBSUP:{#1\s:b{\SuB:}#2\s:p{\SuP:}#3}\fi}
+ \NewConfigure{SUPSUB}[3]{%
+ \def\:temp{#1#2#3}\ifx \:temp\empty
+ \def\SUBSUP:{\sup:I\SuP:\sub:I\SuB:}%
+ \else \def\SUBSUP:{#1\s:p{\SuP:}#2\s:b{\SuB:}#3}\fi}
+ \NewConfigure{SUB/SUP}[6]{%
+ \def\:temp{#1#2#3#4#5#6}\ifx \:temp\empty
+ \def\SUBSUP:{\sub:I\SuB:\sup:I\SuP:}%
+ \else \def\SUBSUP:{\chs:sbsp
+ {#1\s:b{\SuB:}#2\s:p{\SuP:}#3}%
+ {#4\s:p{\SuP:}#5\s:b{\SuB:}#6}}\fi}
+\fi
+
+ \def\MathClass{\ht:special{t4ht\string^}}
+\let\EndMathClass\MathClass
+\def\PauseMathClass{\ht:special{t4ht\string^-}}
+\def\EndPauseMathClass{\ht:special{t4ht\string^+}}
+\catcode`\^=7
+\NewConfigure{MathClass}[5]{\NoFonts \ht:special{t4ht@[}%
+ \def\:temp{#2}\ifx \:temp\empty \else
+ \ht:special{t4ht\string^#1#2#3#2#4}\fi
+ \def\:temp{#5}\ifx \:temp\empty \else
+ \bgroup \everypar{}\everymath{}\everydisplay{}%
+ \hbox{${\ht:special{t4ht\string^#1}%
+ {#5}^{{#5}^{#5}}\ht:special{t4ht\string^}}$}%
+ \vbox{$${\ht:special
+ {t4ht\string^#1}{#5}^{{#5}^{#5}}\ht:special{t4ht\string^}}$$}\egroup
+ \fi
+ {\everypar{}\noindent\vfill\break}%
+ \ht:special{t4ht@]}\EndNoFonts
+}
+\NewConfigure{MathDelimiters}[2]{\NoFonts \ht:special{t4ht@[}%
+ \bgroup \everypar{}\everymath{}\everydisplay{}%
+ \hbox{${\ht:special
+ {t4ht\string^4}#1\ht:special{t4ht\string^5}#2%
+ \ht:special{t4ht\string^4}{}^{#1}\ht:special{t4ht\string^5}{}^{#2}%
+ \ht:special{t4ht\string^4}{}^{{}^{#1}}\ht:special
+ {t4ht\string^5}{}^{{}^{#2}}%
+ \ht:special{t4ht\string^}}$}%
+ \vbox{$${\ht:special
+ {t4ht\string^4}#1\ht:special{t4ht\string^5}#2%
+ \ht:special{t4ht\string^4}{}^{#1}\ht:special{t4ht\string^5}{}^{#2}%
+ \ht:special{t4ht\string^4}{}^{{}^{#1}}\ht:special
+ {t4ht\string^5}{}^{{}^{#2}}%
+ \ht:special{t4ht\string^}}$$}%
+ {\everypar{}\noindent\vfill\break}%
+ \ht:special{t4ht@]}\egroup
+ \EndNoFonts}
+\catcode`\^=12
+\HAssign\New:MathClass7
+\catcode`\/=0
+\catcode`\\=12
+/def/NewMathClass#1{/relax
+ /expandafter/ifx /csname /expandafter/:gobble/string#1/endcsname/relax
+ /gHAdvance/New:MathClass by 1/relax
+ /ifnum /New:MathClass>78
+ /:warning{Too many math classes}
+ /else
+ /HAssign#1/New:MathClass /def/:tempc{#1}/:NewMC
+ 0123456789:;<=>?%
+ @ABCDEFGHIJKLMNO%
+ PQRSTUVWXYZ[\]{/string^}{/string_}%
+ `abcdefghijklmno%
+ pqrstuvwxyz{/string{}|{/string}}{/string~}!*?: %
+ /fi
+ /else
+ /:warning{/string#1 is already defined}
+ /fi}
+/catcode`/\=0
+\catcode`\/=12
+\def\:NewMC#1{%
+ \ifnum \:tempc=0 \expandafter\xdef\:tempc{#1}\expandafter\stop:do
+ \else
+ \expandafter\HAdvance\:tempc -1\relax
+ \expandafter\:NewMC
+ \fi
+}
+\NewConfigure{nolimits}[1]{\def\:temp{#1}\ifx \:temp\empty
+ \let\nolimits\o:nolimits: \else
+ \def\:temp{\o:nolimits:\futurelet\:temp\:nolimits}%
+ \def\:nolimits{\ifx \:temp\limits \else
+ \ifx \:temp\nolimits \else #1\fi\fi}%
+ \HLet\nolimits\:temp \fi}
+\let\o:nolimits:\nolimits
+\NewConfigure{limits}[1]{\def\:temp{#1}\ifx \:temp\empty
+ \let\limits\o:limits: \else
+ \def\:limits{\ifx \:temp\nolimits \else#1\fi}%
+ \def\:temp{\o:limits:\:l:mits}%
+ \HLet\limits\:temp \fi}
+\let\o:limits:\limits
+
+\def\::limits{\expandafter\ifx \blank:spc\:temp
+ \afterassignment\:l:mits \tmp:cnt0%
+ \else\expandafter\:limits \fi}
+\def\:l:mits{\futurelet\:temp\::limits}
+\catcode`\ =13\relax\def\blank:spc{\let\blank:spc= }\blank:spc%
+\catcode`\ =10\relax
+
+ \def\:temp{\a:mathord \o:mathord:} \HLet\mathord\:temp
+\let\a:mathord\empty
+\def\:temp{\a:mathop \o:mathop:} \HLet\mathop\:temp
+\let\a:mathop\empty
+\def\:temp{\a:mathbin \o:mathbin:} \HLet\mathbin\:temp
+\let\a:mathbin\empty
+\def\:temp{\a:mathrel \o:mathrel:} \HLet\mathrel\:temp
+\let\a:mathrel\empty
+\def\:temp{\a:mathopen \o:mathopen:} \HLet\mathopen\:temp
+\let\a:mathopen\empty
+\def\:temp{\a:mathclose \o:mathclose:} \HLet\mathclose\:temp
+\let\a:mathclose\empty
+\def\:temp{\a:mathpunct \o:mathpunct:} \HLet\mathpunct\:temp
+\let\a:mathpunct\empty
+\NewConfigure{FormulaClass}[4]{%
+ \def\:temp{#2}%
+ \expandafter\edef\csname a:\ifcase #1 mathord\or mathop\or
+ mathbin\or mathrel\or mathopen\or mathclose\else
+ mathpunc\fi\endcsname{\noexpand\ht:special
+ {t4ht\string^\ifx\:temp\empty#1)\else )#2#3#2#4\fi}}}
+\NewConfigure{FormulaClass*}[4]{%
+ \def\:temp{#2}%
+ \expandafter\edef\csname a:\ifcase #1 mathord\or mathop\or
+ mathbin\or mathrel\or mathopen\or mathclose\else
+ mathpunc\fi\endcsname{\ht:special
+ {t4ht\string^\ifx\:temp\empty#1(\else (#2#3#2#4\fi}}}
+\NewConfigure{mathord}[4]{\Configure{FormulaClass}{0}{#1}{#2}{#3}%
+ \pend:def\a:mathord{#4}}
+\NewConfigure{mathop}[4]{\Configure{FormulaClass}{1}{#1}{#2}{#3}%
+ \pend:def\a:mathop{#4}}
+\NewConfigure{mathbin}[4]{\Configure{FormulaClass}{2}{#1}{#2}{#3}%
+ \pend:def\a:mathbin{#4}}
+\NewConfigure{mathrel}[4]{\Configure{FormulaClass}{3}{#1}{#2}{#3}%
+ \pend:def\a:mathrel{#4}}
+\NewConfigure{mathopen}[4]{\Configure{FormulaClass}{4}{#1}{#2}{#3}%
+ \pend:def\a:mathopen{#4}}
+\NewConfigure{mathclose}[4]{\Configure{FormulaClass}{5}{#1}{#2}{#3}%
+ \pend:def\a:mathclose{#4}}
+\NewConfigure{mathpunct}[4]{\Configure{FormulaClass}{6}{#1}{#2}{#3}%
+ \pend:def\a:mathpunct{#4}}
+\NewConfigure{mathord*}[4]{\Configure{FormulaClass*}{0}{#1}{#2}{#3}%
+ \pend:def\a:mathord{#4}}
+\NewConfigure{mathop*}[4]{\Configure{FormulaClass*}{1}{#1}{#2}{#3}%
+ \pend:def\a:mathop{#4}}
+\NewConfigure{mathbin*}[4]{\Configure{FormulaClass*}{2}{#1}{#2}{#3}%
+ \pend:def\a:mathbin{#4}}
+\NewConfigure{mathrel*}[4]{\Configure{FormulaClass*}{3}{#1}{#2}{#3}%
+ \pend:def\a:mathrel{#4}}
+\NewConfigure{mathopen*}[4]{\Configure{FormulaClass*}{4}{#1}{#2}{#3}%
+ \pend:def\a:mathopen{#4}}
+\NewConfigure{mathclose*}[4]{\Configure{FormulaClass*}{5}{#1}{#2}{#3}%
+ \pend:def\a:mathclose{#4}}
+\NewConfigure{mathpunct*}[4]{\Configure{FormulaClass*}{6}{#1}{#2}{#3}%
+ \pend:def\a:mathpunct{#4}}
+
+ \def\MathSymbol#1#2{%
+ \def\:tempb##1"##2///{##1}%
+ \edef\:tempa{\expandafter\expandafter\expandafter\:tempb
+ \expandafter\meaning\csname#2\endcsname"///}%
+ \edef\:tempc{\string\mathchar}%
+ \ifx \:tempa\:tempc \else
+ \def\:temp{{\math:sym#1{#2}}}%
+ \expandafter\HLet\csname #2\endcsname\:temp
+ \fi
+ \NewConfigure{#2}{1}\Configure{#2}{\csname o:#2:\endcsname}}
+\def\math:sym#1#2{{\relax\ifmmode \expandafter#1\fi
+ {\csname a:#2\endcsname}}}
+\def\:temp#1{\a:left{#1}\o:left:#1\b:left{#1}}
+\HLet\left\:temp
+\def\:temp#1{\a:right{#1}\o:right:#1\b:right{#1}}
+\HLet\right\:temp
+\NewConfigure{left}[2]{\def\a:left##1{#1}\def\b:left##1{#2}}
+\NewConfigure{right}[2]{\def\a:right##1{#1}\def\b:right##1{#2}}
+\Configure{left}{}{}
+\Configure{right}{}{}
+\def\:tempc{\pic:gobble\a:over \o:over: \pic:gobble\b:over}
+\HLet\over\:tempc
+\NewConfigure{over}{2}
+\def\:tempc{\pic:gobble\a:atop \o:atop: \pic:gobble\b:atop}
+\HLet\atop\:tempc
+\NewConfigure{atop}{2}
+\def\::above{\pic:gobble\a:above \o:above:\tmp:dim
+ \pic:gobble\b:above }
+\def\:above{\afterassignment\::above}
+\def\:tempc{\Protect\:above \tmp:dim}
+\HLet\above\:tempc
+\NewConfigure{above}{2}
+\def\::abovewithdelims#1#2{\pic:gobble\a:abovewithdelims
+ \o:abovewithdelims:#1#2\tmp:dim\pic:gobble\b:abovewithdelims}
+\def\:abovewithdelims#1#2{\def\:temp{\::abovewithdelims#1#2}%
+ \afterassignment\:temp\tmp:dim=}
+\def\:tempc{\Protect\:abovewithdelims }
+\HLet\abovewithdelims\:tempc
+ \NewConfigure{abovewithdelims}{2}
+\def\:overwithdelims#1#2{\pic:gobble\a:overwithdelims
+ \o:overwithdelims:#1#2\pic:gobble\b:overwithdelims}
+\def\:tempc{\Protect\:overwithdelims}
+\HLet\overwithdelims\:tempc
+ \NewConfigure{overwithdelims}{2}
+\def\:atopwithdelims#1#2{\pic:gobble\a:atopwithdelims
+ \o:atopwithdelims:#1#2\pic:gobble\b:atopwithdelims}
+\def\:tempc{\Protect\:atopwithdelims}
+\HLet\atopwithdelims\:tempc
+ \NewConfigure{atopwithdelims}{2}
+\def\:temp{\pic:gobble\a:radical\o:radical:}
+\HLet\radical\:temp
+\NewConfigure{radical}{1}
+\def\:temp#1#2#3#4{\a:mathchoice
+ \o:mathchoice:{#1}{#2}{#3}{#4}\b:mathchoice }
+\HLet\mathchoice\:temp
+\NewConfigure{mathchoice}{2}
+\def\:temp{\o:eqno:\a:eqno}
+\HLet\eqno\:temp
+\def\:temp{\o:leqno:\a:leqno}
+\HLet\leqno\:temp
+\NewConfigure{eqno}{1}
+\NewConfigure{leqno}{1}
+
+\fi
+
+\edef\:temp{\string\special}
+\edef\:tempa{\meaning\special}
+\ifx \:temp\:tempa \else
+ \def\:temp{\special
+}
+ \ifx \:temp\ht:special
+ \:warning{Redefined \string\special. Might
+ need \string\Configure{special}{<system-special>}}
+\fi\fi
+\NewConfigure{Link}[4]{%
+ \def\empty:lnk{#4}\ifx\empty:lnk\empty\else \def\:sharp{#4}\fi
+ \let\empty:lnk\empty \def\tag:A{#1}%
+ \def\HREF:{#2}\def\NAME:{#3}}
+\Configure{Link}{}{}{}{}
+\let\NOHREF:\:gobble
+
+ \Hinput{tex4ht}
+ \def\at:docend{\missing:endpream
+\ifnum \HPageDepth> 0 \EndHPage[1]{}\fi
+\Close:UntilEnd
+%
+%
+\HAssign\op:fl\maxfile:id\space \close:files
+\root:next
+\ifx \nsrt:chlnks\:UnDef
+\else \nsrt:chlnks{tail}{}{BackChild}\fi
+%
+{\b:BODY \b:HTML}%
+%
+\global\let\at:docend=\empty}
+\expand:after{\let\o:end}\csname end\endcsname
+\expandafter\def\csname end\endcsname{\HtmlEnv
+ \at:docend
+ \csname export:hook\endcsname \csname o:end\endcsname}
+
+\fi
+\long\def\NewSection#1#2{%
+ \Def:Section#1{#2}{##1}%
+ \edef\:temp{\expandafter\:gobble\string#1}%
+ \Configure:Sec\:temp{}{}{}{}%
+ \ConfigureToc{\expandafter\:gobble\string#1}{\empty}{\empty}{}{}}
+\def\Def:Section#1{%
+ \edef\:tempc{{\expandafter\:gobble \string#1}}%
+ \edef\:temp{\long\def\expandafter\noexpand \csname
+ c:\expandafter\:gobble \string#1:\endcsname
+ ####1####2####3####4{\noexpand
+ \Configure:Sec\:tempc{####3}{####4}{####1}{####2}}%
+ \noexpand\NewConfigure{CutAt\expandafter\:gobble \string#1}2%
+ \noexpand\NewConfigure{+CutAt\expandafter\:gobble \string#1}2%
+ }\:temp \expandafter\Configure\:tempc{\empty}{}{\empty}{}%
+%
+ \futurelet\:temp\ch:NewSec}
+\def\ch:NewSec{\if *\:temp\let\if:toc\:gobble\expandafter\op:NewSec
+ \else \let\if:toc\empty \expand:after{\op:NewSec+}\fi}
+\def\op:NewSec#1{\expandafter\:NewSec\:tempc}
+\def\:Every#1{%
+ \expandafter\edef\csname Every#1\endcsname{%
+ \def\expandafter\noexpand \csname :Every#1\endcsname####1}%
+ \expandafter\edef\csname BeforeEvery#1\endcsname{%
+ \def\expandafter\noexpand\csname :BeforeEvery#1\endcsname####1}%
+}
+%
+\def\:NewSec#1#2{%
+ \NewConfigure{end#1}[1]{\expandafter
+ \def\csname a:end#1\endcsname{##1}}%
+\Configure{end#1}{}
+%
+ \expandafter\def\csname #1\endcsname{%
+ \expand:after{\let\if:toc}\csname if:#1toc\endcsname
+ \:StartSec{#1}{#2}}%
+ \expandafter\def\csname c:#1TITLE+:\endcsname{%
+ \expandafter\def\csname a:#1TITLE\endcsname####1}%
+%
+ \expandafter\let\csname if:#1toc\endcsname\if:toc
+ \:Every{#1}%
+\csname Every#1\endcsname{%
+ \expandafter\ifx\csname Toc:#1\endcsname \relax\else
+ \a:TocAt \csname Toc:#1\endcsname \b:TocAt
+ \fi
+ \ignorespaces}%
+%
+ \expandafter\def\csname #1:ttl\endcsname##1}
+\def\:Ttle#1#2#3{%
+ \html:addr
+ \Get:SecAnchor{#1}{#2}{#3}%
+%
+ {\escapechar=`\\%
+\protect:wrtoc
+\csname Modify#1ToToc\endcsname
+\edef\:writetoc{\csname if:toc\endcsname{\the\:tokwrite
+ {\string\doTocEntry
+ \string\toc \expandafter\ifx\csname toToc:#1\endcsname\relax #1\else
+ \csname toToc:#1\endcsname\fi
+ {#2}{\html:tocsec{\ifx \TocTitle\:UnDef #3\else
+ \TocTitle\fi}}{\the\:tokpage}\relax}}}%
+\:writetoc \global\let\TocTitle\:UnDef
+}%
+ {\csname #1:Href-\endcsname
+%
+\no:lbl:idx \csname Modify#1Title\endcsname
+\html:sectoc{#3}%
+}%
+}
+\gHAssign\TitleCount0 \global\let\mu:span\TitleCount
+\NewConfigure{toToc}[2]{%
+ \if !#2!\expandafter\let\csname toToc:#1\endcsname\:UnDef
+ \else \if !#1!%
+ \expandafter\let\csname IF:#2toc\expandafter\endcsname
+ \csname if:#2toc\endcsname
+ \expandafter\let\csname if:#2toc\endcsname\:gobble
+ \else \edef\:temp{@}\edef\:tempa{#1}%
+ \ifx \:temp\:tempa
+ \expandafter\let\csname if:#2toc\endcsname\empty
+ \else \edef\:temp{?}%
+ \ifx \:temp\:tempa
+ \expandafter\let\csname if:#2toc\expandafter\endcsname
+ \csname IF:#2toc\endcsname
+ \else
+ \expandafter\def\csname toToc:#1\endcsname{#2}%
+ \fi\fi\fi\fi}
+\ifx \:tokwrite\:UnDef
+ \csname newtoks\endcsname\:tokwrite
+\fi
+\ifx \:tokpage\:UnDef
+ \csname newtoks\endcsname\:tokpage
+\fi
+\:tokpage={\folio}
+\:tokwrite{\write\:tocout}
+\def\Get:SecAnchor#1#2#3{}
+
+\long\def\Configure:Sec#1#2#3#4#5{%
+ \expandafter\ifx\csname c:#1\endcsname\relax \let\:tempa\relax \else
+ \def\:tempa{#4#5}\fi \ifx\:tempa\empty \else
+ \expandafter\c:def\csname c:#1\endcsname{#4}%
+\expandafter\c:def\csname d:#1\endcsname{#5}%
+\fi
+ \expandafter\ifx\csname a:#1\endcsname\relax \let\:tempa\relax \else
+ \def\:tempa{#2#3}\fi \ifx\:tempa\empty \else
+ \expandafter\def\csname a:#1\endcsname##1{#2}%
+ \expandafter\def\csname b:#1\endcsname##1{#3}%
+ \fi
+}
+
+\ifHtml \def\noct:Close:Until{%
+ \let\:tempA\sec:typ \let\found:\empty
+ \let\:tempd\:Sections \noct:Check:Until
+ \ifx \:tempb\sec:typ \expandafter\Do:Close \fi
+ \let\sec:typ\:tempA
+}
+\def\noct:Check:Until{%
+ \ifx \:tempd\empty \ifx \found:\empty \let\:tempb\empty
+\else \let\:tempb\found: \let\sec:typ\found:\fi
+\else
+ \PopStack\:tempd\:tempb
+ \edef\:tempe{\:tempb,%
+ \expandafter\ifx \csname a:end\:tempb\endcsname\relax \else
+ \csname a:end\:tempb\endcsname \fi,,}%
+\expandafter\mod:typ\:tempe!*?: %
+%
+ \ifx \:tempb\sec:typ \else
+ \expandafter\expandafter\expandafter\noct:Check:Until
+ \fi\fi }
+\def\mod:typ#1,#2!*?: {%
+ \def\:temp{#1}\ifx \:temp\empty\else
+ \edef\:temp{\expandafter\expandafter\expandafter
+ \:gobble\expandafter\string \csname #1\endcsname}%
+ \ifx \sec:typ\:temp
+ \let\found:\:tempb \let\:temp\empty
+ \else \def\:temp{\mod:typ#2!*?: }\fi
+ \fi \:temp
+}
+\def\Close:Until{%
+ \let\:tempd\:Sections \Check:Until
+ \ifx \:tempb\sec:typ \expandafter\Do:Close \fi
+}
+\def\Check:Until{
+ \ifx \:tempd\empty \let\:tempb\empty \else
+ \PopStack\:tempd\:tempb
+ \ifx \:tempb\sec:typ \else
+ \expandafter\expandafter\expandafter\Check:Until
+ \fi\fi }
+\PushStack\:Sections{}%
+\PopStack\:Sections\:temp
+\def\Do:Close{%
+ \PopStack\:Sections\:tempb
+ \ifx \sec:typ\:tempb \else
+ \csname d:\:tempb\endcsname
+ \expandafter\Do:Close
+ \fi
+}
+\def\Close:UntilEnd{%
+ \ifx \:Sections\empty \let\:tempb\empty
+ \else \PopStack\:Sections\:tempb \fi
+ \ifx \:tempb\empty \else
+ \csname d:\:tempb\endcsname
+ \expandafter\Close:UntilEnd
+ \fi
+}
+\def\:StartSec#1#2#3{%
+ \def\title:chs##1##2{##2}%
+ \def\sec:typ{#1}%
+ \a:dTocAt \csname TocAt*\endcsname \b:dTocAt
+\expand:after{\global\let}\csname TocAt*\endcsname\empty
+%
+ \a:NoSection
+ \ro:nd\html:lbl{1000}%
+%
+ \expandafter
+ \let\expandafter\TitleMark\csname #1HMark\endcsname
+%
+\expandafter\ifx \csname Cut:#1\endcsname\relax
+ \def\:tempa{#1}\noct:Close:Until
+\ifx \:tempb \empty \else
+ \csname d:\ifx \found:\empty #1\else \found:\fi\endcsname \fi
+\gHAdvance
+ \TitleCount 1 \global\let\mu:span\TitleCount
+\expandafter\expandafter\expandafter\global \expandafter
+ \let\csname #1:Count\endcsname\TitleCount
+\csname c:#1\endcsname
+%
+\else
+ \Configure{CutAt#1}{\gHAdvance
+ \TitleCount 1 \global\let\mu:span\TitleCount
+\expandafter\expandafter\expandafter\global \expandafter
+ \let\csname #1:Count\endcsname\TitleCount
+\csname c:#1\endcsname
+ }{\def\sec:typ{#1}\Close:Until \csname d:#1\endcsname}%
+%
+ \expandafter\ifx \csname a:\sec:typ TITLE\endcsname\relax\else
+ \expandafter\let\expandafter\a:CutAtTITLE
+ \csname a:\sec:typ TITLE\endcsname\fi
+%
+ \csname Cut:#1\endcsname{#3}%
+\fi
+\global\let\sec:lvl\HPageDepth
+\PushStack\:Sections{#1}%
+%
+%
+ \expandafter\ifx \csname :BeforeEvery#1\endcsname\relax \else
+ \csname :BeforeEvery#1\endcsname{#3}%
+\fi
+%
+ \expandafter\ifx \csname a:#1\endcsname\relax \else
+ \csname a:#1\endcsname{#3}%
+ \fi
+ \b:NoSection \:Ttle{#1}{#2}{\csname #1:ttl\endcsname{#3}}%
+ \a:NoSection
+ \expandafter\ifx \csname b:#1\endcsname\relax \else
+ \csname b:#1\endcsname{#3}%
+ \fi
+ \expandafter\ifx \csname :Every#1\endcsname\relax \else
+ \csname :Every#1\endcsname{#3}%
+\fi
+%
+ \csname a:AfterTitle\endcsname \b:NoSection
+ \def\title:chs##1##2{##1}%
+}
+\def\title:chs#1#2{#1}
+\def\protect:wrtoc{%
+ \let\:newlnch\space
+\PictureOff
+ \def\%{\string\%}\a:writetoc}
+\def\html:sectoc#1{\csname if:toc\endcsname{%
+ \xdef\CurSecHaddr{\ifx \:SecAnchor\:UnDef
+ QQ1-\file:id-\TitleCount
+\else \:SecAnchor \fi }%
+ \edef\:attr{\noexpand\scp:Link{%
+ \ifTag{)Q\aXrefFile QQ2-\file:id-\TitleCount }%
+ {QQ2-\file:id-\TitleCount }%
+ {\ifx \:SecAnchor\:UnDef
+ QQ1-\file:id-\TitleCount
+\else \:SecAnchor \fi }%
+ }}%
+ \:attr{\ifx \:SecAnchor\:UnDef
+ QQ1-\file:id-\TitleCount
+\else \:SecAnchor \fi }}%
+ \ifx \EndTitle:Link\:gobble \if:toc{\scp:EndLink}\fi
+ \csname a:InsertTitle\endcsname
+\csname InsertTitle\endcsname{#1}%
+\EndTitle:Link{\if:toc{\scp:EndLink}}}
+\def\html:tocsec#1{\string\csname\space a:TocLink\string\endcsname
+ {\FileNumber
+ }{\ifx \:SecAnchor\:UnDef
+ QQ1-\file:id-\TitleCount
+\else \:SecAnchor \fi }{QQ2-\file:id-\TitleCount }{#1}}
+\let\CurSecHaddr\empty
+\:CheckOption{sections+}\if:Option
+ \def\Title:Link{\Link}
+ \def\EndTitle:Link#1{#1}
+\else
+ \def\Title:Link#1{\Link{}}
+ \let\EndTitle:Link\:gobble
+ \Log:Note{for back links to toc,
+ use the command line option `sections+'}%
+\fi
+\def\NoLink#1{\expandafter
+ \gdef\csname #1:Href-\endcsname{\let\EndTitle:Link\:gobble}}%
+\HAssign\sec:lvl0
+
+ \:CheckOption{hooks+} \if:Option
+ \else \:CheckOption{hooks} \fi
+ \if:Option \long\def\Configure:Sec#1#2#3#4#5{%
+ \expandafter\ifx\csname c:#1\endcsname\relax \let\:tempa\relax \else
+ \def\:tempa{#4#5}\fi \ifx\:tempa\empty \else
+ \expandafter\c:def\csname c:#1\endcsname{#4}%
+\expandafter\c:def\csname d:#1\endcsname{#5}%
+\fi
+ \expandafter\ifx\csname a:#1\endcsname\relax \let\:tempa\relax \else
+ \def\:tempa{#2#3}\fi \ifx\:tempa\empty \else
+ \def\:tempa{#2}\ifx \:tempa\empty
+ \expandafter\def\csname a:#1\endcsname
+ ##1{\hbox{\a:trc #13:4\b:trc}#2\hbox{\c:trc #14:4\d:trc}}%
+ \else
+ \expandafter\def\csname a:#1\endcsname##1{#2}%
+ \fi
+ \def\:tempa{#3}\ifx \:tempa\empty
+ \expandafter\def\csname b:#1\endcsname
+ ##1{\hbox{\a:trc #13:4\b:trc}#3\hbox{\c:trc #14:4\d:trc}}%
+ \else
+ \expandafter\def\csname b:#1\endcsname##1{#3}%
+\fi
+\fi
+}
+\fi
+\fi
+\def\ConfigureMark#1#2{\long\expandafter
+ \def\csname #1HMark\endcsname{#2}}
+\let\no:lbl:idx\empty
+\let\toc:lbl:idx\empty
+
+
+\ifx \FileStream\:UnDef \else
+ \errmessage{--- TeX4ht error ---
+ \noexpand\FileStream is defined outside of TeX4ht}\endinput
+\fi
+\def\FileStream{\IgnorePar
+ \let\:tempb
+-\futurelet\:temp\F:le}
+\def\F:le{\if +\:temp \let\:tempb
++\expandafter\Fl:e
+ \else \expand:after{\Fl:e-}\fi}
+\def\Fl:e#1{\futurelet\:temp\::File}
+\def\::File{\ifx [\:temp \expandafter\:File
+ \else \expand:after{\:File[]}\fi }
+\def\:File[#1]#2{}
+
+\ifHtml \def\:File[#1]#2{%
+ \no:pic\edef\file:name{#2}\yes:pic
+ \expandafter\ifx\csname
+ FN \file:name\endcsname\relax
+ \ht:special{t4ht>\file:name}%
+\immediate\write-1{--- file \file:name\space ---}%
+%
+\gHAdvance\maxfile:id 1
+\global\let\file:id\maxfile:id
+\Tag{)F\aXrefFile \file:id
+ \empty F-}{\file:name}%
+\expandafter\xdef\csname
+ FN \file:name\endcsname{\file:id}%
+\no:pic
+\edef\:temp{\noexpand\yes:pic \def\noexpand\:temp{#1}}\:temp
+\begingroup
+ \def\gobble:font##1##2{##2}%
+\:TITLE:
+\:HPageTITLE:
+ \no:pic
+ \edef\:tempa{\noexpand\yes:pic \def\noexpand\:tempa{#1}}\:tempa
+ \xdef\:temp{\cut:TTL{\noexpand\Configure{TITLE+}{\a:HPageTITLE{\ifx
+ \:temp\empty \file:name\else \:tempa\fi}}}}%
+\endgroup \:temp
+%
+\ht:special{t4ht@[}{\ht:everypar{}\leavevmode}\ht:special{t4ht@]}%
+%
+\a:PROLOG \a:HTML \a:HEAD
+\ifx +\:tempb
+%
+ %
+ \xdef:cs{Lv \file:id}{\noexpand\a:TITLE
+ \bgroup \noexpand\:TITLE: \noexpand\c:TITLE \egroup
+%
+ \noexpand\b:TITLE\noexpand\a:@HEAD\noexpand\b:HEAD}%
+\else
+ \xdef:cs{Lv \file:id}{}%
+ \a:TITLE\bgroup \:TITLE: \c:TITLE \egroup
+\b:TITLE \a:@HEAD\b:HEAD\B:DY
+\fi
+%
+ \else \xdef\file:id{\csname
+ FN \file:name\endcsname}%
+\ht:special{t4ht>\ifnum \file:id>\bs:fileid\space \file:name\fi }%
+%
+ \fi}
+\HAssign\bs:fileid 1
+\def\EndFileStream#1{%
+ \expandafter\ifx
+ \csname FN #1\endcsname\relax
+ \:warning{\string\EndFileStream{#1}?}%
+ \else
+ \ifnum\csname FN #1\endcsname=\bs:fileid
+ \:warning{\string\EndFileStream{\jobname .\:html}?}%
+ \else \expandafter\ifnum \csname FN #1\endcsname > \bs:fileid
+%
+ {\let\inputlineno\tmp:cnt \tmp:cnt1 \root:next }%
+{\b:BODY \b:HTML}%
+%
+\ht:special{t4ht<#1}%
+\g:delete{\empty FN #1}%
+%
+\expandafter\expandafter\expandafter\global \expandafter
+ \let\csname Lv \file:id\endcsname\:UnDef
+\global\let\file:id\maxfile:id
+\find:fileid
+%
+ \fi\fi\fi }
+\def\find:fileid{%
+ \expandafter\ifx \csname Lv \file:id\endcsname \relax
+ \gHAdvance\file:id -1 \expandafter\find:fileid
+ \fi
+}
+\def\TagFile#1{%
+ \expandafter\ifx \csname
+ cw:)F\aXrefFile \file:id \empty F-%
+\endcsname \relax \else
+ \Tag{#1(L }{\LikeRef{)F\aXrefFile \file:id \empty F-%
+}}%
+ \fi
+}
+\def\RefFile#1{\LikeRef{#1(L }}
+\def\FileName{\LikeRef
+ {)F\aXrefFile \file:id \empty F-}}
+\def\RefFileNumber#1{%
+ \expandafter\ifx \csname
+ cw:)F\aXrefFile #1%
+ \empty F-\endcsname\relax
+ \else
+ \:LikeRef{)F\aXrefFile #1\empty F-}%
+ \fi }
+\xdef:cs{\empty FN \jobname .\:html}{\file:id}
+\xdef:cs{\empty FN }{\file:id}
+\Tag{)F\aXrefFile \file:id
+ \empty F-}{\jobname .\:html}
+\bgroup
+ \let\special\relax
+%
+ \xdef:cs{Lv \file:id}{\noexpand\a:TITLE
+ \bgroup \noexpand\:TITLE: \noexpand\c:TITLE \egroup
+%
+ \noexpand\b:TITLE \noexpand\a:@HEAD\noexpand\b:HEAD}%
+\egroup
+\def\close:files{%
+ \ifnum \op:fl<\bs:fileid \else
+ \def\:warning##1{}%
+ \EndFileStream{\RefFileNumber\op:fl}%
+ \Advance:\op:fl -1
+ \expandafter\close:files
+ \fi}
+ \fi
+
+\:CheckOption{next} \if:Option \else
+ \let\c:next:\:gobbleII
+\fi
+
+\ifHtml \def\HPage{\strt:bt\ch:HPage}
+\def\ch:HPage{%
+ \ifx -\:temp \expandafter\m:HPage
+ \else \expand:after{\ifx [\:temp \expandafter\op:HPage
+ \else \expandafter\:HPage \fi}%
+ \fi}
+\def\strt:bt#1{%
+ \def\:bgtr<##1>{\expand:after{\bt:fn##1.}\:html!*?: %
+%
+ \ifx #1\ch:bbtf \else \PushStack\:btid{##1}\fi
+%
+ \futurelet\:temp#1}%
+ \futurelet\:temp\ch:btgr}
+\def\ch:btgr{\ifx <\:temp \expandafter\:bgtr
+ \else \expand:after{\:bgtr<>}\fi}%
+\def\HP:Link{\Link[\HP:file
+ \a:LinkHPage]{}{\HP:file}\global\let\a:LinkHPage\empty}
+\NewConfigure{LinkHPage}[1]{\def\a:LinkHPage{ #1}}
+\let\a:LinkHPage=\empty
+\def\op:HPage[#1]#2{%
+ %\chk:hpfl
+%
+ \:hookI{BeforeHPageButton}{}{#2}%
+ \hpg:wrn{#1}{#2}\HPage \TagFile{)B\:temp}%
+ \Save:HPageTag\:temp
+ \Save:HPage{#2}%
+ \NewFileName\HP:file \Save:Link\HP:file
+ \if:notempty{#2}{\HP:Link#2\EndLink}%
+ \:hookI{AfterHPageButton}{}{#2}%
+ \:btfile{#2}%
+ \:buttrc\HPage{[#1]{#2}}%
+ \PushStack\:afterbt{x}%
+ \edef\:temp{#1}\ifx \:temp\empty \no:pic
+ \edef\:temp{\noexpand\yes:pic
+ \def\noexpand\:temp{#2}}\:temp \fi
+%
+ \TagFile{\:temp}}
+\def\:HPage#1{%
+ %\chk:hpfl
+%
+ \:hookI{BeforeHPageButton}{}{#1}%
+ \NewFileName\HP:file \Save:Link\HP:file \Save:Temp\HP:file
+ \TagFile{)B\HP:file}%
+ \Save:HPageTag\HP:file
+ \Save:HPage{#1}%
+ \def\:temp{#1}\ifx \:temp\empty
+ \else \HP:Link#1\EndLink
+ \fi
+ \:hookI{AfterHPageButton}{}{#1}%
+ \:btfile{#1}%
+ \:buttrc\HPage{{#1}}%
+ \PushStack\:afterbt{x}%
+ \Recall:Temp\:tempa \TagFile{\:tempa}}
+\def\hpg:wrn#1#2#3{%
+ \edef\:temp{#1}\ifx \:temp\empty \no:pic
+ \edef\:temp{\noexpand\yes:pic
+ \def\noexpand\:temp{#2}}\:temp \fi
+%
+ \ifx \:temp\empty \:warning{\string#3[]{}?}\fi}
+\def\Save:Temp{\PushStack\sv:Temp}
+\def\Recall:Temp{\PopStack\sv:Temp}
+\def\m:HPage#1{\futurelet\:temp\ch:mbut}
+\def\ch:mbut{\ifx [\:temp \expandafter\op:mbut
+ \else \expandafter\:mbut \fi}
+\def\op:mbut[#1]{%
+ %\chk:hpfl
+%
+ \:hookI{BeforeHPageButton}{}{}%
+ \edef\:temp{#1}%
+ \ifx \:temp\empty \:warning{\string\HPage-[]?}\fi
+ \TagFile{)B\:temp}%
+ \Save:HPageTag\:temp
+ \Save:HPage{}%
+ \NewFileName\HP:file \Save:Link\HP:file
+ \HP:Link%
+ \def\ContHPage{\:ContHPage{x}{#1}}}
+\def\:mbut{%
+ %\chk:hpfl
+%
+ \:hookI{BeforeHPageButton}{}{}%
+ \NewFileName\HP:file \Save:Link\HP:file
+ \TagFile{)B\HP:file}%
+ \Save:HPageTag\HP:file
+ \Save:HPage{}%
+ \HP:Link%
+ \def\ContHPage{\:ContHPage{x}{\HP:file}}}
+\def\:ContHPage#1#2{\EndLink
+ \Recall:Link\HP:file \Save:Link\HP:file
+ \:hookI{AfterHPageButton}{}{}%
+ \:btfile{}%
+ \:buttrc\HPage{...\string\ContHPage}%
+ \PushStack\:afterbt{#1}%
+ \TagFile{#2}}
+\def\:hookI#1#2#3{%
+ \expandafter\ifx \csname #1\endcsname\relax #2\else
+ \csname #1\endcsname{#3}\fi
+}
+\def\NewFileName#1{%
+ \HAssign#1\maxfile:id
+ \Advance:#1 1
+ \ifx \:NxtNwFN\:Undef
+ \edef#1{\j:bname \ifx \big:fn\:UnDef#1%
+ \else \big:fn\fi .\:html}%
+ \else \let#1\:NxtNwFN \global\let\:NxtNwFN\:UnDef \fi
+ \global\let\big:fn\:UnDef
+}
+\def\NextFile#1{\xdef\:NxtNwFN{#1}}
+\def\:btfile#1{%
+ \SaveEverypar \FileStream[#1]{\HP:file} \IgnorePar
+ \gHAdvance\HPageDepth 1
+ \AtEndHPage{\csname HPageFooter\endcsname}%
+ \:hookI{HPageHeader}{}{#1}%
+}
+\def\HPageButton{\strt:bt\ch:bbtf}
+\def\ch:bbtf{\ifx -\:temp \expandafter\op:bbft
+ \else \expandafter\:bbtf \fi}
+\def\:bbtf[#1]#2{%
+ \:hookI{BeforeHPageButton}{}{#2}%
+ \hpg:wrn{#1}{#2}\HPageButton
+ \TagFile{)B\:temp}%
+ \edef\HP:file{\RefFile\:temp}%
+ \def\:temp{#2}\ifx \:temp\empty
+ \else \HP:Link#2\EndLink \fi
+ \:hookI{AfterHPageButton}{}{#2}%
+ \csname AfterHPage\endcsname }
+
+\def\op:bbft#1[#2]{%
+ \:hookI{BeforeHPageButton}{}{}%
+ \edef\:temp{#2}%
+ \ifx \:temp\empty \:warning{\string\HPageButton-[]?}\fi
+ \TagFile{)B\:temp}%
+ \edef\HP:file{\RefFile\:temp}%
+ \HP:Link%
+ \def\ContHPage{\EndLink
+ \:hookI{AfterHPageButton}{}{}%
+ \csname AfterHPage\endcsname }}
+\def\BeginHPage{\futurelet\:temp\ch:bbbt}
+\def\ch:bbbt{%
+ %\chk:hpfl
+%
+ \NewFileName\HP:file \Save:Link\HP:file
+ \ifx -\:temp \expandafter\op:bbbt
+ \else \expandafter\:bbbt \fi}
+\def\:bbbt[#1]#2{%
+ \PushStack\:btid{#1}%
+ \:btfile{#2}%
+ \:buttrc\BeginHPage{[#1]{#2}}%
+ \PushStack\:afterbt\empty
+ \hpg:wrn{#1}{#2}\BeginHPage \Save:HPageTag\:temp
+ \Save:HPage{#2}%
+ \TagFile{\:temp}}
+\def\op:bbbt#1[#2]{%
+ \PushStack\:btid{#2}%
+ \:hookI{AfterHPageButton}{}{}%
+ \:btfile{}%
+ \:buttrc\BeginHPage{[#2]}%
+ \PushStack\:afterbt\empty \edef\:temp{#2}%
+ \ifx \:temp\empty \:warning{\string\BeginHPage-[]?}\fi
+ \Save:HPageTag\:temp \Save:HPage{}%
+ \TagFile{\:temp}}
+\def\EndHPage{\futurelet\:temp\chEnd:HPage}
+\def\chEnd:HPage{\ifx [\:temp \expandafter\opEnd:HPage
+ \else \expandafter\End:HPage \fi}
+\def\opEnd:HPage[#1]{%
+ \ifnum #1>\HPageDepth\space
+ \:warning{\string\EndHPage[#1]?}%
+ \let\:temp\:gobble
+ \else \ifnum #1<\HPageDepth\space
+ \def\:temp{\:EndHPage\EndHPage[#1]{}}%
+ \else \let\:temp\End:HPage \fi \fi
+ \:temp }
+
+\def\End:HPage#1{%
+ \ifnum \HPageDepth<1 \:warning{\string\EndHPage{#1}?}\let\:temp\:gobble
+ \else \ifinner\else\:clearpage\fi \PopStack\:btid\:tempa
+ \def\:tempb{#1}\ifx \:tempb\empty\let\:temp\:EndHPage
+ \else \ifx \:tempb\:tempa \let\:temp\:EndHPage
+ \else \Recall:HPageTag\:tempa
+ \Save:HPageTag\:tempa
+ \ifx \:tempb\:tempa \let\:temp\:EndHPage
+ \else \def\:temp{\:EndHPage\End:HPage{#1}}%
+ \fi\fi\fi\fi
+ \:temp }
+
+\def\:EndHPage{%
+ \csname EndHPage\HPageDepth \endcsname
+ \global\expandafter\let\csname EndHPage\HPageDepth\endcsname\:UnDef
+ \Recall:Link\HP:file \Recall:Link\:tempd \Save:Link\:tempd
+ \Recall:HPage\:tempb
+ \Recall:HPageTag\:tempc
+ \:buttrc\EndHPage{{\:tempb}}%
+ \EndFileStream{\HP:file}%
+ %\Recall:FileHPg\:tempd
+%
+ \FileStream{\:tempd}%
+ \RecallEverypar \gHAdvance\HPageDepth -1
+ \PopStack\:afterbt\:temp
+ \ifx \:temp\empty \else \csname AfterHPage\endcsname \fi }
+\def\AtEndHPage{%
+ \expandafter\gdef\csname EndHPage\HPageDepth\endcsname}
+\HAssign\HPageDepth0
+\PushStack\:btid{}
+\def\Save:FileHPg{\PushStack\HPage:FlHg}
+\def\Recall:FileHPg{\PopStack\HPage:FlHg}
+\def\chk:hpfl{\Save:FileHPg\FileName \:FlHpg}
+\def\No:FlHpg{{\Recall:Link\HP:file \Save:Link\HP:file
+ \edef\HP:file{\HP:file}\edef\FileName{\FileName}%
+ \edef\HP:file{\expandafter\string\csname \HP:file\endcsname}%
+ \edef\FileName{\expandafter\string\csname \FileName\endcsname}%
+ \ifx \HP:file\FileName \else
+ \:warning{HPage in a non-HPage file
+ `\expandafter\:gobble\FileName'}%
+ \fi}}
+\def\HPageInFile{\global\let\:FlHpg\empty}
+\def\NoHPageInFile{\global\let\:FlHpg\No:FlHpg}
+\NoHPageInFile
+\expand:after{\def\bt:fn##1.}\:html#2!*?: {%
+ \def\:temp{#2}\ifx \:temp\empty
+ \else \NextFile{#1.\:html}\fi }
+\Odef\ExitHPage[#1]#2{%
+ \Recall:HPageTag\HP:file \Save:HPageTag\HP:file
+ \Link[\RefFile{)B\HP:file}]{\RefFile{\HP:file}}{#1}%
+ \def\:temp{#2}\ifx \:temp\empty
+ \Recall:HPage\:temp \Save:HPage\:temp
+ \ifx \:temp\empty \a:ExitHPage
+ \else \b:ExitHPage \:temp \c:ExitHPage \fi
+ \else #2\fi
+ \EndLink
+}
+\def\RefHPage{\RefFile}
+\def\Save:Link{\PushStack\HPageFiles}
+\def\Recall:Link{\PopStack\HPageFiles}
+\Save:Link{\jobname.\:html}
+\def\Save:HPage{\PushStack\HPageAnchors}
+\def\Recall:HPage{\PopStack\HPageAnchors}
+\def\Save:HPageTag{\PushStack\HPage:Tags}
+\def\Recall:HPageTag{\PopStack\HPage:Tags}
+\def\CutAt#1{%
+ \if +\:firstch#1 //\:CutAt#1,//\else
+ \if -\:firstch#1 //\:CutAt#1,//\else
+ \:CutAt=#1,//\fi\fi
+}
+\def\PauseCutAt#1{%
+ \expandafter\ifx\csname Cut:#1\endcsname\relax\else
+ \expandafter\ifx \csname NoCut:#1\endcsname\relax
+ \expand:after{\expandafter\let\csname NoCut:#1\endcsname=}%
+ \csname Cut:#1\endcsname
+ \fi
+ \expandafter\let\csname Cut:#1\endcsname=\null
+\expandafter\def\csname Cut:#1\endcsname{%
+ \gHAdvance \TitleCount 1
+ \null \:gobble
+}%
+%
+ \fi }
+\def\ContCutAt#1{%
+ \expandafter\ifx \csname NoCut:#1\endcsname\relax\else
+ \expand:after{\expandafter\let\csname Cut:#1\endcsname=}%
+ \csname NoCut:#1\endcsname
+ \fi}
+\def\:CutAt#1#2,#3//{%
+ \csname ltx:like\endcsname
+ \expandafter\ifx \csname #2\endcsname \relax
+ \:warning{\string\CutAt\space at undefined
+ `\expandafter\string\csname#2\endcsname'}%
+ \fi
+ \csname ltx:nolike\endcsname
+ \expandafter\ifx \csname #2:\endcsname\relax
+ \expand:after{\expandafter\let \csname #2:\endcsname }%
+ \csname #2\endcsname
+\else \:warning{Again \string\CutAt{#2}?}%
+\fi
+\expandafter\def \csname #2\endcsname{%
+ \csname UnCut:#2\endcsname
+ \csname #2:\endcsname}%
+%
+ \:UnCutAt#2,#3,//%
+%
+ \expandafter\edef \csname Cut:#2\endcsname##1{%
+ \noexpand\cut:at{#2}{##1}#1}%
+%
+}
+\def\:UnCutAt#1,#2,#3//{%
+ \def\:temp{#2}\ifx \:temp\empty \else
+ \def\:tempa{#1}\ifx \:tempa\:temp \else
+ \expandafter\ifx \csname#2:#1\endcsname\relax
+ \expand:after{\expandafter\let \csname #2:#1\endcsname }%
+ \csname #2\endcsname
+\expandafter\def \csname #2\endcsname{%
+ \csname UnCut:#1\endcsname
+ \csname #2:#1\endcsname}%
+%
+ \else \:warning{#2 already assumed in \string\CutAt{#1,...}}\fi
+ \fi
+ \def\:temp{\:UnCutAt#1,#3//}%
+ \expandafter\:temp
+ \fi
+}
+\def\cut:at#1#2#3{{%
+ \def\BeforeHPageButton{\if #3+%
+ \def\:temp{\:hookI{Before#1Button}{\csname a:+CutAt#1\endcsname}}%
+ \expandafter\:temp\fi}%
+\edef\prev:File{\ifnum \sec:lvl>\HPageDepth\space
+ \RefFileNumber\lastsec:id \fi}%
+\def\AfterHPageButton{\if #3+%
+ \def\:temp{\:hookI{After#1Button}{\csname b:+CutAt#1\endcsname}}%
+ \expandafter\:temp\fi}%
+\def\HPageHeader##1{%
+ \ct:btn
+\gHAdvance\C:tAtN 1
+\Tag{fileidcut \file:id}{\C:tAtN}%
+\TagFile{cutfile \C:tAtN}%
+%
+ \xdef\nextCutAt{\RefFile{)N \file:id}}%
+ \global\let\prevCutAt\prev:File
+ \sv:btns\nextCutAt
+\sv:btns\prevCutAt
+%
+ \PushStack\prv:fl{#3}\csname a:CutAt#1\endcsname
+ \ifx\a:crsbt\empty
+ \ifx\aa:crsbt\empty\else
+ \:hookI{Front#1}{\default:bts{}{tail}}{##1}%
+ \fi
+ \else
+ \:hookI{Front#1}{\default:bts{}{tail}}{##1}%
+ \fi
+}%
+\csname a:CutAt-filename\endcsname{#1}{#2}%
+%
+ \fx:pt #1xxx!*?: %
+%
+ \if #3+\HPage<#1>{#2}%
+ \else
+ \if #3-\else
+ \let\cut:TTL\:gobble
+ \begingroup
+ \csname no:fonts\endcsname\def\gobble:font##1##2{##2}%
+\:TITLE:
+\:CutAtTITLE:
+ \xdef\:temp{\noexpand\Configure{TITLE+}{\a:CutAtTITLE{#2}}}%
+ \endgroup \:temp
+\fi
+%
+ \HPage<#1>{}\fi
+ \ifx \prevCutAt\empty \else \TagFile{)N \lastsec:id}\fi
+ \AtEndHPage{\ct:btn
+\UnCut:{#1}}%
+ \expandafter\xdef\csname UnCut:#1\endcsname{%
+ \noexpand\EndHPage[\HPageDepth]{}}%
+}}
+\HAssign\lastsec:id0
+\def\cut:TTL#1{#1}
+\let\:TITLE:\empty
+\let\:CutAtTITLE:\empty
+\let\:HPageTITLE:\empty
+\def\UnCut:#1{%
+ \global\expandafter\let\csname TocAt*\endcsname\empty
+%
+ \global\expandafter\let\csname UnCut:#1\endcsname\:UnDef
+ \xdef\lastsec:id{\file:id}%
+ \PopStack\prv:fl\:temp
+ \bgroup
+ \ifx\a:crsbt\empty
+ \ifx\aa:crsbt\empty\else
+ \:hookI{Back#1}{\default:bts{tail}{}}{}%
+ \fi
+ \else
+ \:hookI{Back#1}{\default:bts{tail}{}}{}%
+ \fi
+ \csname b:CutAt#1\endcsname \let\after:endfl\EndFileStream
+ \def\EndFileStream##1{\after:endfl{##1}\egroup
+ \PopStack\:afterbt\:temp
+\ifx\:temp\empty\else\:hookI{After#1}{}{}\fi
+\PushStack\:afterbt{}%
+%
+ \PopStack\prv:fl\prevCutAt
+\PopStack\prv:fl\nextCutAt
+\ifx \prv:fl\empty
+ \let\prevCutAt\:UndDef
+ \let\nextCutAt\:UndDef
+\else
+ \PopStack\prv:fl\:tempb
+ \PopStack\prv:fl\prevCutAt
+ \PopStack\prv:fl\nextCutAt
+ \PushStack\prv:fl\nextCutAt
+ \PushStack\prv:fl\prevCutAt
+ \PushStack\prv:fl\:tempb
+\fi
+%
+ }}
+\let\prevCutAt\empty
+\:CheckOption{next} \if:Option
+ \def\next:bt{\nextCut}
+ \def\prev:bt{\prevCut}
+\else
+ \Log:Note{for linear crosslinks of pages,
+ use the command line option `next'}%
+ \def\next:bt{\nextCutAt}
+ \def\prev:bt{\prevCutAt}
+\fi
+\HAssign\C:tAtN 0
+\def\ct:btn{{%
+ \HAssign\C:tAtN 0\LikeRef{fileidcut \file:id}%
+ \Advance:\C:tAtN -1
+ \xdef\prevCut{\RefFile{cutfile \C:tAtN}}%
+ \ifx \prevCut\space \global\let\prevCut\empty \fi
+ \Advance:\C:tAtN 2
+ \xdef\nextCut{\RefFile{cutfile \C:tAtN}}%
+ \ifx \nextCut\space \global\let\nextCut\empty \fi
+}}
+\let\root:next\empty
+\def\CutGroup#1{\Cut:Group#1,,!*?: }
+\def\Cut:Group#1,{%
+ \expandafter\ifx \csname #1\endcsname\relax
+ \expandafter\let\csname #1\endcsname\:gobble\fi
+ \def\HP:file{#1}%
+ \do:list \cut:gr,}
+
+ \def\cut:gr#1{%
+ \edef\:temp{%
+ \let\:csname \HP:file :#1\endcsname \:csname #1\endcsname
+ \let\:csname \HP:file :Cut:#1\endcsname \:csname Cut:#1\endcsname
+ \def\:csname #1\endcsname####1{%
+ \noexpand\cond:cs{\HP:file}{####1}%
+ \:csname \HP:file :#1\endcsname{####1}}%
+ \def\:csname Cut:#1\endcsname####1{%
+ \noexpand\cond:cs{Cut:\HP:file}{####1}%
+ \noexpand\cond:cs{\HP:file :Cut:#1}{####1}}%
+ }\:temp }
+
+\fi
+
+\def\ParentOf{\gHAdvance\TitleCount 1
+ \global\let\mu:span\TitleCount \futurelet\:temp\:mprt}
+\def\ChildOf{\futurelet\:temp\:xprt}
+
+\:CheckOption{family} \if:Option
+ \def\:mprt{\fm:call\:Imprt}
+
+\def\:Imprt[#1]#2#3{%
+ \def\:temp{#2}\ifx \:temp\Jobname
+ \:warning{#2 \string\ParentOf\space#2?}\fi
+ \Needs-{child `#2'}%
+ \LoadRef[#2-\Jobname]{#3}{##1}%
+ \imp:var{#2}fstf:id,#1!*?: %
+ \Tag{\Jobname-#2-up}{\RefFileNumber\FileNumber}%
+\Tag{\Jobname-#2-prev}{\childFile}%
+\xdef\childFile{\LikeRef{#2-\Jobname-down}}%
+\ifx \cld:n\:UnDef \else \Tag{\cld:n}{\childFile}\fi
+\xdef\cld:n{\Jobname-#2-next}%
+%
+ \the\:tokwrite{\string\doTocEntry
+ \string\tocParentOf{#2}{}{}\relax}}
+
+\HAssign\fstf:id0
+\def\:xprt{\fm:call\:Exprt}
+
+\def\:Exprt[#1]#2#3{%
+ \ifnum \maxfile:id>1
+ \:warning{\string\ChildOf{#2} not at root file}\fi
+ \Needs-{parent `#2'}%
+ \ld:flxrf{#3}{QQ}%
+ \LoadRef[#2-\Jobname]{#3}{##1}%
+ \xp:var{#2}fstf:id,#1!*?: %
+ \closeout\:refout
+\openout\:refout\jobname.xref \:clearpage
+\gHAdvance\fstf:id 10000
+%
+\gHAssign\maxfile:id \fstf:id
+\gHAssign\bs:fileid \maxfile:id
+\global\let\file:id\maxfile:id
+\Tag{)F\aXrefFile \file:id \empty F-}%
+ {\jobname.\:html}%
+\expandafter\xdef\csname
+ FN \jobname.\:html\endcsname{\file:id}%
+\xdef:cs{Lv \file:id}{}%
+%
+ \def\export:hook{\exprt:tag{#2}fstf:id,#1!*?: }%
+ \Tag{\Jobname-#2-down}{\RefFileNumber\FileNumber}%
+\ch:lnk\parentFile{#2}{up}%
+\ch:lnk\prevChildFile{#2}{prev}%
+\ch:lnk\nextChildFile{#2}{next}%
+\global\let\nsrt:chlnks\nsrt:cldnks
+\nsrt:chlnks{}{tail}{FrontChild}%
+%
+ \gdef\:Export[##1]##2{\:warning{\string\ChildOf
+ \string{##2\string}\space ignored (not 1st)}}%
+}
+\def\rmv:ext#1.#2!*?: {#1}
+
+\def\fm:call#1{\ifx [\:temp \expand:after{\fm:cll#1}\else
+ \expand:after{\fm:cll#1[]}\fi}
+\def\fm:cll#1[#2]#3{\edef\:temp{\noexpand\noexpand\noexpand
+ #1[#2]{\noexpand\rmv:ext#3.!*?: }{#3}}%
+ \edef\:temp{\:temp}\:temp}
+\let\childFile\space
+\def\ch:lnk#1#2#3{%
+ \xdef#1{\LikeRef{#2-\Jobname-#3}}%
+ \ifx #1\space \let#1\empty\fi}
+\def\nsrt:cldnks#1#2#3{{%
+ \let\prevCutAt\prevChildFile
+ \let\nextCutAt\nextChildFile
+ \def\ExitHPage##1{\Link[\parentFile]{}{}##1\EndLink}
+ \:hookI{#3}{\default:bts{#1}{#2}}{}}}
+\def\imp:var#1#2,#3!*?: {%
+ \gt:ops{#2}%
+ \Tag{\Jobname-#1-#2}{\:tempd\csname #2\endcsname}%
+ \edef\:tempc{0\LikeRef{#1-\Jobname-#2}}%
+ \expand:after{\expandafter\:tempb\csname
+ #2\endcsname }\:tempc%
+ \if:notempty{#3}{\imp:var{#1}#3,!*?: }}
+\def\xp:var#1#2,#3!*?: {%
+ \gt:ops{#2}%
+ \edef\:tempc{0\LikeRef{#1-\Jobname-#2}}%
+ \expandafter\:tempa\csname #2\endcsname\:tempc
+ \expandafter\HAssign\csname :#2:\endcsname\:tempc
+ \if:notempty{#3}{\xp:var{#1}#3,!*?: }}
+\def\exprt:tag#1#2,#3!*?: {%
+ \tmp:cnt \csname #2\endcsname
+ \advance\tmp:cnt -\csname :#2:\endcsname
+ \Tag{\Jobname-#1-#2}{\the\tmp:cnt}%
+ \if:notempty{#3}{\exprt:tag{#1}#3,!*?: }}
+
+ \def\gt:vi#1#2#3#4#5#6#7!*?: {#1#2#3#4#5#6}
+\def\gt:vr#1#2{\edef#1{\expandafter
+ \gt:vi\meaning#2 .......!*?: }}
+\gt:vr\c:unt\tmp:cnt
+\def\chk:vr#1#2{\expand:after{\gt:vr\:temp#2 #1\:temp\c:unt}}
+
+\def\gt:ops#1{%
+ \expand:after{\chk:vr\ifx}\csname#1\endcsname \let\:tempd\the
+ \let\:tempa\empty \let\:tempb\advance
+ \else \let\:tempd\empty
+ \let\:tempa\HAssign \let\:tempb\Advance:
+ \fi }
+
+\else
+ \let\:mprt\BI:gbl
+\Odef\ChildOf[#1]#2{\:warning{\string\ChildOf{#2}
+ without \string\Preamble{...,family,...}}}
+\let\:xprt\BI:gbl
+
+\fi
+\def\tocParentOf#1{{%
+ \def\:temp{#1}\ifx \:temp\Jobname
+ \:warning{#1 \string\ParentOf\space#1?}
+ \else \expand:after{\ld:flxrf{#1}{QQ}\get:input{#1.4tc}}\fi}}
+\def\ld:flxrf#1#2{%
+ \let\:CrsWd\Cross:Word
+ \def\Cross:Word##1##2{%
+ \expandafter\let\csname cw:##2\endcsname\:UnDef
+ \:CrsWd{##1}{##2}}%
+ \LoadRef[)F\aXrefFile ]{#1}{##1}%
+ \LoadRef[)Q\aXrefFile #2]{#1}{##1}%
+ \let\Cross:Word\:CrsWd
+}
+
+
+\openin15=\jobname.4tc
+\ifeof15 \closein15
+ \def\:TableOfContents[#1]{\immediate\write16{No file \jobname.4tc}}
+ \ifx \TableOfContents\:UnDef
+ \def\TableOfContents{\futurelet\:temp\:TOC}
+ \def\:TOC{\ifx [\:temp \expandafter\:TableOfContents\fi}
+\fi
+
+\else
+ \ifHtml \ifx \TableOfContents\:UnDef
+ \def\TableOfContents{\futurelet\:temp\:TOC}
+ \def\:TOC{\ifx [\:temp \expandafter\:TableOfContents\fi}
+\fi
+
+\def\:TableOfContents[#1]{\SaveEverypar{%
+ \def\TocCount{0}%
+ \:tocPreamble#1,,%
+\let\doTocEntry\:doTocEntry
+\def\contentsline##1##2##3{##2}%
+\no:lbl:idx
+%
+ \def\InsertTitle##1##2##3{}%
+ \hsize4.5in \rightskip \z@ minus 1in \linepenalty1000
+ \catcode`\#12 \catcode`\@11 \catcode`\:11
+ \Configure{HtmlPar}{\ifx \e:tableofcontents\:UnDef
+ \csname e:TableOfContents\endcsname
+\else \e:tableofcontents \fi
+}{\ifx \d:tableofcontents\:UnDef \csname d:TableOfContents\endcsname
+\else \d:tableofcontents \fi
+}{}{}%
+\everypar{\HtmlPar}%
+ \ifx \a:tableofcontents\:UnDef \csname a:TableOfContents\endcsname
+\else \a:tableofcontents \fi
+\input \jobname.4ct
+ {\ht:everypar{}\leavevmode}\ifx \b:tableofcontents\:UnDef
+ \csname b:TableOfContents\endcsname
+\else \b:tableofcontents \fi
+%
+ \par }\RecallEverypar \ifx \c:tableofcontents\:UnDef
+ \csname c:TableOfContents\endcsname
+\else \c:tableofcontents \fi
+}
+
+ \fi
+ \begingroup
+ \catcode`^7
+ \def\:copytoc{%
+ \ifeof15 \else
+ \read15 to \:temp
+ {\escapechar=`\\\immediate\write15{\:temp}}%
+ \expandafter\:copytoc
+ \fi}
+ \ifHtml \catcode`\#12\relax \fi
+ \def\:next{\catcode\tmp:cnt12
+ \ifnum \tmp:cnt=0
+ \def\:next{%
+ \catcode`\^^M5
+ \immediate\openout15=\jobname.4ct \:copytoc
+ \immediate\closeout15
+ \endgroup \closein15
+ }%
+ \fi
+ \advance\tmp:cnt -1 \:next
+ }
+ \tmp:cnt255 \:next
+
+\fi
+\def\:doTocEntry#1#2#3#4{%
+ \Advance:\TocCount 1
+ \expandafter\ifx \csname \string#1 \endcsname \relax \else
+ #1{#2}{#3}{#4}\fi
+}
+\def\:tocPreamble#1,{%
+ \def\:temp{#1}\ifx \:temp\empty \else
+ \edef\:temp{\expandafter\string\csname toc#1 \endcsname}%
+ \expandafter\expandafter\expandafter\let
+ \expandafter\csname\:temp\endcsname\empty
+ \expandafter\:tocPreamble\fi}
+\ifx \:tocout\:UnDef
+ \csname newwrite\endcsname\:tocout
+\fi
+\def\:temp{%
+\if:latex \expandafter\immediate\fi
+\openout\:tocout\jobname.4tc
+ {\escapechar=`\\\if:latex \expandafter\immediate\fi
+\write
+ \:tocout{\string\expandafter\string\ifx
+ \noexpand\csname doTocEntry\string\endcsname\relax
+ \string\expandafter\string\endinput
+ \string\fi}%
+}%
+}
+\:temp
+\def\TocAt#1{%
+ \def\:next##1{\:TocAt##1,//}%
+ \def\:tempa{#1}\def\:temp{-}\ifx \:tempa\:temp \let\:temp-%
+ \else \def\:temp{*}\ifx \:tempa\:temp \let\:temp*%
+ \else \def\:next{\:TocAt#1,//}%
+ \fi \fi \:next }
+\def\:TocAt#1,#2//{%
+ \ifx -\:temp \else \ifx *\:temp
+ \expandafter\edef\csname Toc:#1\endcsname{%
+ \gdef\expandafter\noexpand\csname TocAt*\endcsname{%
+ \noexpand \csname Toc#1\noexpand\endcsname }}%
+%
+ \else \expandafter\edef\csname Toc:#1\endcsname{%
+ \noexpand\csname Toc#1\noexpand\endcsname }%
+\fi \fi
+ \def\:temp{#2}\ifx \:temp\empty
+ \expandafter\let\csname Toc#1\endcsname\:UnDef
+ \else \let\:include\empty
+\::TocAt#1,/#1,#2,,//%
+\edef\:include{\expandafter\:removecomma\:include}%
+\expandafter\edef\csname Toc#1\endcsname{{%
+ \let\noexpand\TitleCount\expandafter\noexpand
+ \csname #1:Count\endcsname
+ \noexpand\:assgtoc\:include,//{#1}%
+ \:tocs[\:include]}}%
+\fi }
+\def\:tocs{\noexpand\TableOfContents}
+\def\:removecomma#1{}
+\def\:assgtoc#1,#2//#3{%
+ \expand:after{\expandafter\let\csname toc#1\endcsname }%
+ \csname #3::toc#1\endcsname
+ \if:notempty{#2}{\:assgtoc#2//{#3}}}
+\def\::TocAt#1,#2,#3//{\def\:temp{#2}%
+ \ifx \:temp\empty \else
+ \if /\:firstch#2 //%
+ \edef\:include{\:include,\:temp}%
+\expandafter\def\csname #1::toc\:temp\endcsname##1##2##3{%
+ \ifnum \TitleCount<\TocCount
+ \Advance:\TocCount -100000 \endinput
+ \fi}%
+%
+ \else \edef\:include{\:include,#2}%
+\expand:after{\expandafter\let\csname svtoc::#2\endcsname}%
+ \csname toc#2\endcsname
+\expandafter\edef\csname #1::toc#2\endcsname##1##2##3{%
+ \noexpand\ifnum \noexpand\TitleCount<\noexpand\TocCount
+ \noexpand\space
+ \expandafter\noexpand \csname svtoc::#2\endcsname{##1}{##2}{##3}%
+ \noexpand\fi}%
+\fi
+ \expand:after{\::TocAt#1,#3//}%
+ \fi
+}
+\def\:firstch#1#2 //{#1\def\:temp{#2}}
+
+\ifHtml
+ \let\TeXhalign\halign
+\def\RecallTeXcr{\iffalse{\fi
+ \expand:after{\let\cr}\csname 0cr\endcsname
+ \expand:after{\let\crcr}\csname 0crcr\endcsname
+ \iffalse}\fi}
+\expandafter\let\csname 0cr\endcsname\cr
+\expandafter\let\csname 0crcr\endcsname\crcr
+\def\TeXhalign:cr{%
+ \ifx \EndPicture\:UnDef \else \iffalse{\fi
+ \expandafter\let\expandafter\cr\csname \MkHalign:d cr\endcsname
+ \expandafter\let\expandafter\crcr\csname \MkHalign:d crcr\endcsname
+ \iffalse}\fi \fi \TeXhalign}
+
+\def\MkHalign#1#2{%
+ \iffalse{\fi \let\sv:new:row\new:row
+ \def\relax:shrp{\let#1\relax}%
+ \def\new:halign{\TeXhalign \bgroup}%
+ \add:halign#2&!*?: \cr
+ \let#1\:shrp \global\let\new:row\R:halign
+\Advance:\MkHalign:d 1
+\expandafter\let\csname \MkHalign:d cr\endcsname\cr
+\expandafter\let\csname \MkHalign:d crcr\endcsname\crcr
+\edef\cr{\noexpand\rR:halign
+ \expandafter\noexpand \csname \MkHalign:d cr\endcsname}%
+\edef\crcr{\noexpand\rR:halign
+ \expandafter\noexpand \csname \MkHalign:d crcr\endcsname}%
+\let\omit\om:t \def\TT:halign{\T:halign \global\let\TT:halign\empty}%
+\let\sv:end:omit\end:omit \let\end:omit\empty
+\let\ms:count\MS:count \HAssign\MS:count0
+\let\lgn:r\HRow \let\lgn:c\HCol \HAssign\HRow0
+\def\span{\xdef\new:span{\new:span\HRow.\HCol;}\:span}%
+\let\sv:new:span\new:span \let\new:span\empty
+\gHAdvance\Halgn:cnt 1 \edef\halign:id{\Halgn:cnt}%
+\edef\old:span{\LikeRef{)M\halign:id x\mu:span}}%
+\ifx \old:span\space \def\old:span{;}\fi
+%
+ \iffalse}\fi \begingroup
+\ifmmode \def\end:m{$$\egroup}\vtop\bgroup$$\else
+\let \end:m\empty\fi
+%
+ \a:PauseMkHalign \new:halign\ext:cr}
+\def\EndMkHalign{\egroup
+ \d:PauseMkHalign \end:m\endgroup
+%
+ \iffalse{\fi \expand:after{\let\cr}\csname \MkHalign:d cr\endcsname
+\expand:after{\let\crcr}\csname \MkHalign:d crcr\endcsname
+\let\omit\:omit
+{\ht:everypar{}\r:halign}\t:halign
+\Advance:\MkHalign:d -1
+\Tag{)M\halign:id x\mu:span}{\new:span;}%
+\global\let\new:span\sv:new:span
+\iffalse{\fi \let\span\:span \iffalse}\fi
+\global\let\HRow\lgn:r \global\let\HCol\lgn:c
+\global\let\MS:count\ms:count
+\global\let\new:row\sv:new:row
+\global\let\end:omit\sv:end:omit
+\relax:shrp \iffalse}\fi }
+\def\PauseMkHalign#1{\cr\egroup
+ \hbox{\r:halign \global\let\new:row\R:halign}\b:PauseMkHalign
+ #1\c:PauseMkHalign\new:halign\ext:cr}
+ \catcode`\#13 \catcode`\@6
+\def\MiniHalign{\begingroup \catcode`\#13 \let#\relax
+ \:MHalign}
+\def\:MHalign@1\cr{\endgroup \SaveMkHalignConfig
+ \Configure{MkHalign}{\a:MiniHalign}{\b:MiniHalign}\c:MiniHalign
+ \d:MiniHalign{\e:MiniHalign\RecallMkHalignConfig}\f:MiniHalign
+ \MkHalign#{@1}}
+ \catcode`\#6 \catcode`\@11
+\def\EndMiniHalign{\EndMkHalign \RecallMkHalignConfig }
+\def\add:halign#1&#2\cr{%
+ \def\:temp{#2}\def\:tempb{!*?: }%
+ \ifx \:temp\:tempb
+ \append:def\new:halign{\b:halign#1\c:halign}%
+ \else
+ \def\:temp{#1}\ifx\:temp\empty \append:def\new:halign{&}%
+ \else \append:def\new:halign{\b:halign#1\c:halign&}\fi
+ \add:halign#2\cr
+ \fi}
+\def\rR:halign{\gdef\new:row{\r:halign \R:halign}}
+\HAssign\MkHalign:d 0
+\def\b:halign{\BB:halign \bgroup}
+\def\c:halign{\egroup\d:halign}
+\def\BB:halign{\expand:after{\global\let\new:row\empty }\new:row
+ \D:halign}
+\def\SaveMkHalignConfig{\let\sT:halign\T:halign
+ \let\st:halign\t:halign
+ \let\sR:halign\R:halign
+ \let\sr:halign\r:halign
+ \let\sD:halign\D:halign
+ \let\sd:halign\d:halign}
+\def\RecallMkHalignConfig{\let\T:halign\sT:halign
+ \let\t:halign\st:halign
+ \let\R:halign\sR:halign
+ \let\r:halign\sr:halign
+ \let\D:halign\sD:halign
+ \let\d:halign\sd:halign}
+\let\:omit\omit
+\def\om:t{\:omit \BB:halign
+ \gdef\end:omit{\gdef\end:omit{}\d:halign}}
+\let\end:omit\empty
+\let\ext:cr\cr \let\ext:crcr\crcr
+\let\:span\span
+\def\add:span#1;{\def\:tempa{#1}\edef\:temp{\HRow .\HCol}%
+ \ifx \:temp\:tempa \Advance:\:MULTISPAN 1 \fi
+ \ifx \:tempa\empty \let\HMultispan\:MULTISPAN
+ \else
+ \let\:temp\relax
+\def\:temp##1.{\def\:temp####1!*?: {\def\:temp{####1}}%
+ \afterassignment\:temp\tmp:cnt}%
+\expandafter\expandafter\expandafter\:temp\expandafter\:tempa!*?: %
+\edef\:tempb{\HRow.\HCol\:temp}\ifx\:tempa\:tempb
+ \expandafter\ifx \csname \expandafter\string\:temp :T:D\endcsname\relax
+ \else \edef\:mALIGN{\expandafter\noexpand
+ \csname \expandafter\string\:temp :T:D\endcsname}%
+\fi\fi
+%
+ \expandafter\add:span
+ \fi }
+\HAssign\Halgn:cnt0
+\def\derive:TD{%
+ \bgroup \no:actv
+ \xdef\:temp{\noexpand\expandafter\noexpand\:temp
+ \noexpand\halign:TD\:MkHalign: -0 0 1 !*?: }%
+ \egroup
+ \let\hT:D\:temp
+ \def\:temp##1 ##2 ##3 {\ifnum -1=##1##2##3 \else
+ \ifnum \HRow=##1 \ifnum \HCol=##2 \:TDcode ##3\fi\fi
+\ifnum \HRow=##1 \ifnum 0=##2 \:TDcode ##3\fi\fi
+\ifnum 0=##1 \ifnum \HCol=##2 \:TDcode ##3\fi\fi
+\ifnum 0=##1 \ifnum 0=##2 \:TDcode ##3\fi\fi
+ \expandafter\:temp \fi}%
+ \def\:tempa##1\empty{}%
+ \edef\hT:D{\hT:D}}
+\def\:TDcode#1{\expandafter
+ \ifx \csname \string#1:T:D\endcsname\relax \else
+ \csname \string#1:T:D\endcsname \expandafter\:tempa \fi
+\expandafter#1\empty
+\EndTD:CLASS}
+ \catcode`\_=13 \catcode`\^=13
+\pend:defI\:TDcode{\TD:CLASS}%
+\let\:temp\relax \let\:tempa\relax
+\edef\no:actv{\let\noexpand\noexpand\noexpand^\:temp
+ \let\noexpand\noexpand\noexpand_\:tempa}
+ \catcode`\_=8 \catcode`\^=7
+\def\:temp{^} \def\:tempa{_}
+\edef\no:actv{\no:actv}
+\def\halign:TB#1<>#2!*?: {#1}
+\def\halign:TD#1<>#2!*?: {#2}
+
+\:CheckOption{no-halign} \if:Option \else
+ \def\h:halign{\ifx \EndPicture\:Undef
+ \let\to:dim\empty \expandafter\:halign
+ \else \expandafter\TeXhalign:cr\fi}
+\:CheckOption{base} \if:Option \else
+ \def\:temp{\Protect\h:halign}
+ \HLet\halign\:temp
+\fi
+\let\r:lax\relax
+\def\r:relax{\r:lax}
+\let\rl:x\relax
+\def\:halign{%
+ \let\rl:x\r:relax
+ \ifx \rl:x\r:relax \expandafter\nodim:hlgn:
+ \else \expandafter\TeXhalign:cr
+ \fi
+}
+\def\nodim:hlgn:{\futurelet\:temp\hl:gn}
+\def\hl:gn{\ifx \:temp\bgroup \let\:tempa\hlg:n
+ \else \def\:tempa##1{\append:def\to:dim{##1}\nodim:hlgn:}\fi
+ \:tempa}
+ \catcode`\#13 \catcode`\~6
+\def\hlg:n{\begingroup \catcode`\#13 \let#\relax \hal:gn}%
+
+\long\def\hal:gn~1{\p:lgn~1#!*?: %
+ \ifx \:temp\empty
+ \expandafter\chs:halgn\string ~1!*?: %
+\:tempb{%
+ \expand:after{\Picture+}\pic:hlng{ \a:@Picture{pic-halign}}\ifmmode
+ \vbox{\Rc:sharp
+$$\TeXhalign:cr \to:dim{~1}$$}%
+ \else \vbox{\Rc:sharp
+\TeXhalign:cr \to:dim{~1}}\fi
+ \:nopartrue
+ \EndPicture
+ }%
+\let\:temp\endgroup
+\:tempb!*?: %
+\:tempb\:temp{\endgroup
+ \:warning{\noexpand\halign translated into linear text}%
+%
+ \HRestore\noalign \TeXhalign:cr~1}\:tempa!*?: %
+%
+ \else \def\:temp{\endgroup\:hlign{~1}}\fi \:temp}
+\long\def\p:lgn~1#~2!*?: {\def\:temp{~2}}
+
+ \catcode`\#6 \catcode`\~13
+\long\def\:hlign#1{%
+ \def\:temp{#1}\def\:tempa{\bgroup}\ifx \:temp\:tempa
+ \endgroup \:warning{\noexpand\halign translated into linear text}%
+%
+ \expand:after{\HRestore\noalign \TeXhalign:cr\bgroup}%
+ \else \let\tabskip\tmp:dim \let\hrulefill\empty
+\let\hidewidth\empty
+\expand:after{\h:align#1\cr!*?: #1!*?: }%
+%
+ \fi}
+\catcode`\#=13
+\def\Rc:sharp{\let#=\sv:sharp}
+\catcode`\#=6
+\def\:temp{\let\sv:sharp=##}\:temp
+\def\chs:halgn#1{\def\:temp{#1}%
+ \def\:tempa##1##2##3##4##5{\def\:tempa{##1}\def\:tempb{##2}%
+ \def\:tempc{##3}\def\:tempd{##4}\def\:tempe{##5}}%
+ \expandafter\:tempa\string\bgro
+ \ifx \:temp\:tempa \expand:after{\expandafter\try:b\string}%
+ \else \expandafter\brc:halign \fi}
+\def\try:b{\try:ch\:tempb\try:g}
+\def\try:g{\try:ch\:tempc\try:r}
+\def\try:r{\try:ch\:tempd\try:o}
+\def\try:o#1{\def\:temp{#1}%
+ \ifx \:temp\:tempe \def\:tempb{\let\:tempb\def\:tempa
+}%
+ \else \let\:temp\empty
+ \def\:tempb{\let\:tempb\:tempa
+}\fi
+ \long\def\:tempa##1!*?: {}%
+\:tempa}
+\def\try:ch#1#2#3{\def\:temp{#3}%
+ \ifx \:temp#1 \expand:after{\expandafter#2\string}%
+ \else \expandafter\brc:halign \fi}
+\def\brc:halign{%
+ \let\:temp\empty \def\:tempb{\let\:tempb\:tempa
+}%
+ \long\def\:tempa##1!*?: {}%
+\:tempa}
+\catcode`\#13 \catcode`\@6
+\long\def\h:align@1\cr@2!*?: {\def\:temp{@2}\ifx \:temp\empty
+ \expandafter\h:alignII \else \crcr:align@1\crcr!*?: \fi}
+\def\crcr:align@1\crcr@2!*?: {\def\:temp{@2}\ifx \:temp\empty
+ \expandafter\expandafter\expandafter\h:alignI \else
+ \expandafter\expandafter\expandafter\h:alignII \fi}
+\long\def\h:alignI@1\cr@2!*?: {%
+ \SaveMkHalignConfig \Configure{MkHalign}{\hlg:a}{\hlg:b}
+ \hlg:c\hlg:d{\hlg:e\RecallMkHalignConfig}\hlg:f
+%
+ \MkHalign#{@1}@2\EndMkHalign \RecallMkHalignConfig}
+\def\h:alignII@1\crcr{\h:alignI@1\cr}
+\catcode`\#6 \catcode`\@11
+\HAssign\noalign:N0
+\def\:tempc#1{\gHAdvance\noalign:N by 1
+ \ifnum \noalign:N>100
+ \global\let\noalign\o:noalign:
+ \:warning{TeX4ht can't handle
+ \string\everycr{...\string\noalign...}}%
+ \fi
+%
+ \vtop{\IgnorePar\a:noalign\vtop{\IgnorePar#1}\b:noalign}\cr
+ \global\tmp:toks\everycr \global\everycr{}\cr
+ \o:noalign:{\global\everycr\tmp:toks \gHAssign\noalign:N0 }%
+ }
+\HLet\noalign\:tempc
+
+
+
+\fi
+
+\def\:temp{\let\:shrp##} \:temp
+
+\fi
+
+\ifHtml \def\Canvas{\ht:special{t4ht"}}
+\let\EndCanvas\Canvas
+\def\:img{%
+ \ifx *\:temp \let\:temp\i:mgif \let\:next\:GIf
+ \else \ifx +\:temp \let\:temp\i:mgif \let\:next\:Gif
+ \else \ifx [\:temp \let\:temp\im:g
+ \else \def\:temp{\im:g[{\csname
+ a:Picture-alt\endcsname}]}%
+ \fi \fi \fi \:temp}
+\def\xim:g[#1]#2{{\cond:pic{%
+ \def\gif:nm{\edef\gif:nm}\gif:name{#2}%
+ \expandafter\get:ext\gif:nm.!*?: %
+ \edef\PictureFile{\gif:nm\ifx\:temp\empty \PictExt\fi}%
+ \Needs-\PictureFile \ht:special{t4ht@-}%
+ \a:IMG\ht:special{t4ht=\PictureFile}\b:IMG
+ \a:PictureAlt{#1}\b:PictureAlt \d:IMG
+ \a:PictureAttr{\at:IMG}\e:IMG}}\After:Picture}
+\def\noim:g[#1]#2{}
+\let\im:g\xim:g
+\def\strt:gf#1#2{#2%
+ \csname a:PictureAlt*+\endcsname
+ \if #1!\ht:special{t4ht!\:AltPicture:}%
+ \global\let\:AltPicture:\empty \fi
+ \ht:special{t4ht|}%
+ \ht:special{t4ht++\PictureFile}%
+ \iprt:special
+}
+\def\nd:gf#1#2{%
+ \let\ht:special\tex:special
+ \ht:special{t4ht+}%
+ \if #1!\ht:special{t4ht!}\fi
+ \ht:special{t4ht|}%
+ \csname b:PictureAlt*+\endcsname
+ \ifx #2\relax \else \csname a:PictureAttr*+\endcsname{#2}\e:IMG\fi
+}
+\def\img:alt{\ht:special{t4ht@-}%
+ \a:IMG\ht:special{t4ht=\PictureFile}\b:IMG}
+\def\:Gif#1{\cond:pic{%
+ \gif:name{#1}\csname a:Picture+\endcsname
+ \strt:gf!\img:alt
+ \def\EndPicture{\nd:gf!{\c:IMG\Pic:Img}%
+ \let\EndPicture\:UnDef \csname b:Picture+\endcsname
+ \After:Picture}}}
+\def\:GIf#1{\cond:pic{\ifvmode\vfill\break\else
+ \ht:special{t4ht@[}\hfill\break.\ht:special{t4ht@]}\fi
+ \gif:name{#1}\csname a:Picture*\endcsname
+ \strt:gf!\img:alt
+ \ifmmode \expandafter\vcenter\else \expandafter\vtop\fi
+ \bgroup \let\EndPicture\:EndGIf \NoHtmlEnv }}
+\def\:EndGIf{%
+ \egroup \nd:gf!{\c:IMG \Pic:Img}\csname b:Picture*\endcsname
+ \After:Picture}
+\def\After:Picture{\After:EndPicture
+ \global\let\After:EndPicture\empty}
+\let\After:EndPicture\empty
+\def\AfterPicture#1{\append:def\After:EndPicture{#1}%
+ \global\let\After:EndPicture\After:EndPicture}
+\def\iprt:special{%
+ \def\ht:special##1{\tex:special{t4ht+##1}}}
+\let\tex:special\ht:special
+\def\x:GifText[#1]#2{\cond:pic{%
+ \ifx \:next\:GIf
+ \def\gif:box{\vtop\bgroup \NoHtmlEnv \let\gif:box\egroup}%
+ \else \let\gif:box\empty \fi
+ \gif:name{#2}%
+ \img:alt \def\:temp{#1}%
+ \ifx \:temp\empty \else
+ \csname a:PictureAlt*+[]\endcsname
+ {#1}\csname b:PictureAlt*+[]\endcsname\fi
+ \ht:special{t4ht>\jobname.tmp}%
+ \strt:gf-\empty \gif:box
+ \def\EndPicture{%
+ \gif:box \nd:gf-\relax \ht:special{t4ht<\jobname.tmp}%
+ \csname a:PictureAttr*+[]\endcsname{\c:IMG\Pic:Img}\e:IMG
+ \After:Picture}%
+}}
+\let\:GifText\x:GifText
+\def\no:GifText[#1]{\:gobble}
+\ifx \:DraCatCodes\:UnDef
+ \def\Pic:Img{\at:IMG}
+
+\fi
+\def\gif:name#1{\edef\at:IMG{\noexpand\get:gfnm#1 !*?: }\at:IMG}
+\def\get:gfnm#1 #2!*?: {\def\at:IMG{#2}%
+ \ifx \at:IMG\empty\else
+ \expandafter\aT:IMG\at:IMG!*?: %
+ \fi
+ \gif:nm{#1}}
+\def\aT:IMG#1 !*?: {\def\at:IMG{#1}}
+\def\NextPictureFile{\def\Next:PictureFile}
+\NextPictureFile{}
+\def\gif:nm#1{%
+ \gHAdvance\P:ctureCount 1
+ \xdef\PictureFile{#1}\ifx \PictureFile\empty
+ \xdef\PictureFile{\Next:PictureFile}\fi
+ \global\let\Next:PictureFile\empty
+ \ifx \PictureFile\empty
+ \bgroup \Advance:\P:ctureCount -\Pic:Cnt
+ \xdef\PictureFile{\j:bname\P:ctureCount
+ x\Pic:Dm\PictExt}%
+ \egroup
+ \else
+ \expandafter\get:ext\PictureFile.!*?: %
+ \ifx\:temp\empty \xdef\PictureFile{\PictureFile\PictExt}\fi
+ \fi
+ \immediate\write-1{l. \the\inputlineno\space Writing
+ \jobname.idv[\P:ctureCount] (\PictureFile)}%
+ }%
+\def\SavePicture#1{\def\:tempa{#1}\SaveP:cture}
+\Odef\SaveP:cture[#1]{%
+ \edef\:tempb{\noexpand\Odef\expandafter\noexpand\:tempa[####1]{{%
+ \let\noexpand\Log:Needs\noexpand\:gobble
+ \noexpand\Picture[\HCode{#1}]{\PictureFile\space####1}}}}%
+ \:tempb \expand:after{\global\expandafter\let\:tempa}\:tempa }
+\def\NewPictureDomain#1{%
+ \global\let\Pic:Cnt\P:ctureCount
+ \def\Pic:Dm{#1} \ifx \Pic:Dm\empty
+ \xdef\Pic:Dm{\P:c:Dm}%
+ \gHAdvance\P:c:Dm 1
+ \fi }
+\HAssign\P:c:Dm 0
+\let\Pic:Dm\empty
+\HAssign\Pic:Cnt1
+\HAssign\P:ctureCount0
+\let\:AltPicture:\empty
+\def\pic:gobble{\ifx \EndPicture\:UnDef \else \expandafter\:gobble\fi}
+\def\pic:gobbleII{\ifx \EndPicture\:UnDef \else \expandafter\:gobbleII\fi}
+\def\nopic:gobble#1{\ifx \EndPicture\:UnDef \else #1\fi}
+\def\pic:cond#1#2{%
+ \ifx\EndPicture\:UnDef \def\end:condpic{\EndPicture}\expandafter#1%
+ \else \let\end:condpic\empty \expandafter#2%
+ \fi }
+\def\cond:pic#1{%
+ \ifx \EndPicture\:UnDef #1\else
+ \let\E:pic\EndPicture \PushMacro\E:pic
+ \def\EndPicture{\PopMacro\E:pic \let\EndPicture\E:pic}\fi}
+\def\PictureOff{%
+ \expandafter\let\csname Pic:\Pic:On\endcsname\EndPicture
+ \ifx \EndPicture\:UnDef \let\EndPicture\empty \fi
+ \let\im:g\noim:g
+\let\:GifText\no:GifText
+%
+ \Advance:\Pic:On 1 }
+\def\PictureOn{%
+ \ifnum \Pic:On>0
+ \Advance:\Pic:On -1
+ \ifnum \Pic:On=0 \let\im:g\xim:g
+\let\:GifText\x:GifText
+%
+ \fi
+ \expand:after{\let\EndPicture}\csname Pic:\Pic:On\endcsname
+ \ifx \EndPicture\relax \let\EndPicture\:UnDef\fi
+ \else
+ \:warning{\string\PictureOn\space without \string\PictureOff}%
+ \fi }
+\HAssign\Pic:On 0
+\def\:temp#1{\ifx \EndPicture\:Undef
+ \relax\ifmmode\hbox{$#1$}\else \hbox{#1}\fi
+ \else \o:smash:{#1}\fi}
+\HLet\smash\:temp
+
+\fi
+\def\P:ct{\leavevmode \futurelet\:temp\:img}
+\let\Picture\P:ct
+\def\yes:pic{\PictureOn}
+\def\no:pic{\PictureOff}
+\def\i:mgif#1{\futurelet\:temp\:gif}
+
+\def\:gif{%
+ \ifx \:temp[\expandafter\:GifText
+ \else \expandafter\:next \fi }
+
+
+
+\def\at:startdoc{%
+ \let\:startdoc\:UnDef \let\at:startdoc\:UnDef
+ \edef\NoHtmlEnv{\NoHtmlEnv}%
+\append:def\NoHtmlEnv{\SUBOff \SUPOff}\HtmlEnv
+%
+ \a:Preamble
+ \a:PROLOG \a:HTML \a:HEAD
+%
+\ht:special{t4ht>\jobname.tmp}{\everyhbox{}\hbox
+ {x\ht:special{t4ht;\a:rootfont:}x}}%
+\ht:special{t4ht<\jobname.tmp}%
+}
+\def\:startdoc{%
+ \at:startdoc
+ \edef\:temp{\pageno\the\pageno}%
+ {\let\HCode\:gobble \par\newpage}\:temp}
+
+\ifHtml
+ \def\HTrace#1{\csname #1:T\endcsname}
+\def\EndHTrace#1{\csname #1:t\endcsname}
+\def\RULE:T{\ht:special{t4ht@\%R}} \def\RULE:t{\ht:special{t4ht@\%r}}
+\def\GROUP:T{\ht:special{t4ht@\%P}} \def\GROUP:t{\ht:special{t4ht@\%p}}
+\def\CHAR:T{\ht:special{t4ht@\%C}} \def\CHAR:t{\ht:special{t4ht@\%c}}
+\def\HSPACE:T{\ht:special{t4ht@\%H}} \def\HSPACE:t{\ht:special{t4ht@\%h}}
+\def\VSPACE:T{\ht:special{t4ht@\%V}} \def\VSPACE:t{\ht:special{t4ht@\%v}}
+
+\def\Send#1{\Configure{Send:#1}}
+\def\DviSend{\let\send:special\ht:special
+ \ht:special{t4ht\string~}\EndPauseBACK\ht:special{t4ht\string~}%
+ \ht:special{t4ht\string~}}
+\def\EndDviSend{\send:special{t4ht\string~}%
+ \send:special{t4ht\string~}\PauseBACK\send:special{t4ht\string~}%
+ \let\send:special\:gobble}
+\def\PauseBACK{\send:special{t4ht\string~<(}}
+\def\EndPauseBACK{\send:special{t4ht\string~<)}}
+\def\HideBACK{\send:special{t4ht\string~<[}}
+\def\EndHideBACK{\send:special{t4ht\string~<]}}
+\def\MiniBACK{\send:special{t4ht\string~<-}}
+\def\EndMiniBACK{\send:special{t4ht\string~<+}}
+
+
+
+\fi
+
+\ifHtml
+\fi
+\def\V:rbatim{\begingroup \begin:Verb \Verb:env }
+\def\:EndVerbatim{\end:Verb \endgroup }
+\def\Verb:env{\no:catcodes0{64}{12}\no:catcodes{65}{90}{11}%
+ \no:catcodes{91}{96}{12}\no:catcodes{97}{122}{11}%
+ \no:catcodes{123}{255}{12}%
+ \catcode`\^^M13 \catcode`\ 13 \catcode`\^^I13
+ \:Verbatim \::Verbatim }%
+\def\::Verbatim{\futurelet\:temp\V:erbatim}
+\def\V:erbatim{%
+ \ifx -\:temp \expandafter\Ve:rbatim
+ \else \let\start:verb\Ver:batim \expandafter\Ver:sp \fi }
+\def\Ver:sp{%
+ \ifx \ver:sp\:temp \expandafter\Ver:assg
+ \else \expandafter\Ver:ln \fi }
+\def\Ver:ln{%
+ \ifx \ver:ln\:temp \expandafter\Ver:assg
+ \else \expandafter\start:verb \fi }
+\def\Ver:assg{\afterassignment\start:verb\let\:temp}
+{
+\catcode`\/0
+/catcode`/\12
+/gdef/Ve:rbatim#1#2{/catcode`#20
+ /ifx #2\/let/start:verb/Verb:atim
+ /else /let/start:verb/Ver:batim /fi
+ /futurelet/:temp/Ver:sp}
+}
+
+{
+\catcode`\^^I13 \catcode`\/0 \catcode`\\12
+/catcode`/.10 /catcode`/^^M13 /catcode`/ 13%
+/gdef/:Verbatim{%
+.../def^^M{/ht:everypar{/Verb:eoln}/Verb:boln/par/leavevmode}%
+.../def {/Verb:sp}%
+.../let/ver:sp %
+.../let/ver:ln^^M%
+.../def^^I{/leavevmode }}}
+
+{
+\xdef\Verb:atim#1\EndVerbatim{\noexpand\vrb:tt
+ \leavevmode#1\noexpand\:EndVerbatim}
+\catcode`\/0 /catcode`/\12
+/xdef/Ver:batim#1\EndVerbatim{/noexpand/vrb:tt
+ /leavevmode#1/noexpand/:EndVerbatim}
+}
+
+\NewConfigure{VerbatimEnv}[2]{\def\begin:Verb{#1}\def\end:Verb{#2}}
+\Configure{VerbatimEnv}
+ {\par \edef\leftsk:p{\hskip\Verb:Left}%
+ \leftskip\z@ \parindent\z@ \ht:everypar{\verb:config}}
+ {\aft:Verb\par}
+\def\verb:config{\bef:Verb\csname leftsk:p\endcsname
+ \def\verb:config{\Verb:boln \def\Verb:eoln{\leavevmode\par}\leftsk:p}}
+
+
+\ifx\beginL\@undefined \else
+ \def\:temp{\o:beginL:\a:Lregion}
+\HLet\beginL=\:temp
+\def\:temp{\b:Lregion\o:endL:}
+\HLet\endL=\:temp
+\NewConfigure{Lregion}{2}
+\def\:temp{\o:beginR:\a:Rregion}
+\HLet\beginR=\:temp
+\def\:temp{\b:Rregion\o:endR:}
+\HLet\endR=\:temp
+\NewConfigure{Rregion}{2}
+
+ \Hinput{etex4ht}
+\fi
+\ifHtml \def\:tempa{\:Hinclude}
+\else
+ \:CheckOption{th4}\if:Option \def\:tempa{\input th4.4ht}
+ \else \let\:tempa\empty \fi
+\fi
+\:CheckOption{core} \if:Option \let\:tempa\empty \fi
+\:CheckOption{base} \if:Option \let\:tempa\empty \fi
+\:tempa
+
+\:CheckOption{debug}
+\if:Option \def\HTraceHPageOn{%
+ \def\:buttrc##1##2{\no:pic \immediate\write16{%
+ l.\the\inputlineno -[\HPageDepth]- \string##1##2}\yes:pic
+ }}
+\def\HTraceHPageOff{\def\:buttrc##1##2{}}
+\HTraceHPageOn
+
+\else \def\:buttrc#1#2{}
+\let\HTraceHPageOn\empty
+\let\HTraceHPageOff\empty
+ \fi
+
+\ifHtml \else \let\EndPreamble\empty \fi
+
+\ifHtml \:startdoc
+\let\:shipout\shipout
+\def\shipout{\vfil\break\let\shipout\:shipout \shipout}
+ \fi
+
+\ifx \Hinput\:UnDef \else
+ \Hinput{tex4ht2}
+ \ifx \a:ProTex\:UnDef
+\else \input ProTex.4ht \fi
+
+\fi
+\def\:usersty#1,#2!*?: {\def\:temp{#1}%
+ \ifx \:temp\empty \else
+ \expandafter\ifx \csname #1\endcsname\relax
+ \expandafter\let \csname #1\endcsname=\empty
+ \input #1
+ \fi
+ \def\:temp{#2}\expandafter\:temp
+ \fi}
+\edef\TeXivht{\expandafter\ifx \csname TeXivht\endcsname\relax
+ \else \noexpand\:usersty\TeXivht,!*?: \fi
+ \let\noexpand\TeXivht\noexpand\:UnDef
+ \let\noexpand\:usersty\noexpand\:UnDef }
+
+
+\rmv:ifs \let\rmv:ifs\:UnDef
+\:RestoreCatcodes \TeXivht
+\endinput
+