%%
%% This is file `hyper.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% hyper.dtx  (with options: `hyper')
%% 
%% File: hyper.dtx Copyright (C) 1995--1999 Michael Mehlich
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt; either
%% version 1 of the License, or any later version.
\def\fileversion{V4.2d}
\def\filedate{1999/03/09}
\def\docdate{1999/03/09}
%%
%% \CharacterTable
%% {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%  Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%  Digits        \0\1\2\3\4\5\6\7\8\9
%%  Exclamation   \!     Double quote  \"     Hash (number) \#
%%  Dollar        \$     Percent       \%     Ampersand     \&
%%  Acute accent  \'     Left paren    \(     Right paren   \)
%%  Asterisk      \*     Plus          \+     Comma         \,
%%  Minus         \-     Point         \.     Solidus       \/
%%  Colon         \:     Semicolon     \;     Less than     \<
%%  Equals        \=     Greater than  \>     Question mark \?
%%  Commercial at \@     Left bracket  \[     Backslash     \\
%%  Right bracket \]     Circumflex    \^     Underscore    \_
%%  Grave accent  \`     Left brace    \{     Vertical bar  \|
%%  Right brace   \}     Tilde         \~}
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{hyper}[\filedate\space HyperLaTeX2e extension]
\bgroup
  \catcode`\!00\relax
  \catcode`\"12\relax
  !catcode`!\12!relax
  !gdef!hyper@quote{"}
  !gdef!hyper@backslash{\}
  !global!edef!hyper@hash{!string#}
  !global!edef!hyper@tilde{!string~}
!egroup
\AtBeginDocument{\let\hyper@auxout\@auxout}
\newcount\hyper@changed
\global\hyper@changed=0
\newcount\hyper@cnt%careful, this is used as a temporary counter in various places
\def\hyper@change#1{%set change value (powers of 2 only), in use: 1,2,4,8
  \hyper@cnt\hyper@changed\relax%
  \divide\hyper@cnt#1\relax%
  \ifodd\hyper@cnt\else%
     \global\advance\hyper@changed#1\relax%
  \fi%
}
\def\newhyper#1#2{%
  \bgroup%
     \def\uppercase{<UPPERCASE>}%
     \def\lowercase{<LOWERCASE>}%
     \expandafter\ifx\csname hyper@#1\endcsname\relax\else%
        \hyper@change2\relax%
        \PackageWarningNoLine{hyper}%
                     {Hyper anchor #1 multiply defined}%
     \fi%
     \expandafter\global\expandafter\def\csname hyper@#1\endcsname{#2}%
  \egroup%
}
\def\newhyper@check#1#2{%
   \def\reserved@a{#2}%
  \bgroup%
     \def\uppercase{<UPPERCASE>}%
     \def\lowercase{<LOWERCASE>}%
     \expandafter\ifx\csname hyper@#1\endcsname\reserved@a\else%
       \expandafter\ifx\csname hyper@new@#1\endcsname\reserved@a\else%
          \global\hyper@change4\relax%
        \fi%
     \fi%
  \egroup%
}
\let\hyper@enddocument\enddocument
\def\hyper@check@end{%
  \ifodd\hyper@changed%1
     \PackageWarningNoLine{hyper}{There were undefined hyper references}%
  \fi%
  \divide\hyper@changed2\relax%
  \ifodd\hyper@changed%2
     \PackageWarningNoLine{hyper}%
          {There were multiply defined hyper anchors}%
  \fi%
  \divide\hyper@changed2\relax%
  \ifodd\hyper@changed%4
     \PackageWarningNoLine{hyper}%
          {Hyper anchor(s) may have changed.\MessageBreak
           Rerun to get hyper references right}%
  \fi%
  \divide\hyper@changed2\relax%
  \ifodd\hyper@changed%8
     \PackageWarningNoLine{hyper}%
          {Footnote hyper reference(s) may have been forwarded\MessageBreak
             to next page.\MessageBreak
           Check result to ensure this being correct.\MessageBreak
           If not rerun to get footnote hyper references right}%
  \fi%
}
\def\enddocument{%
  \let\hyper@@end\@@end%
  \def\@@end{\hyper@check@end\hyper@@end}%
  \let\newhyper\newhyper@check%
  \hyper@enddocument%
}
\def\hyper@to@aux#1{%
  \bgroup%
     \def\uppercase{<UPPERCASE>}%
     \def\lowercase{<LOWERCASE>}%
     \expandafter\ifx\csname hyper@#1\endcsname\relax%
        \expandafter\ifx\csname hyper@new@#1\endcsname\relax%
           \expandafter\global%
             \expandafter\expandafter\expandafter\def\csname hyper@new@#1\endcsname%
                 {{\@currentlabel}{\thepage}}%
        \fi%
     \fi%
     \@bsphack%
        \protected@write%
           \hyper@auxout%
             {}%
             {\string\newhyper%
               {#1}%
               {{\@currentlabel}{\thepage}}%
             }%
     \@esphack%
   \egroup%
}
\newbox\hyper@box@text
\newbox\hyper@box@ref
\newdimen\hyper@fixdim
\newif\if@hyper@is@active
\@hyper@is@activefalse
\def\hyper@html{html:}
\bgroup
  \catcode`\<12\catcode`\>12\relax%
  \catcode`\:12\catcode`\=12\catcode`\/12\relax%
  \gdef\hyper{%
    \def\hyper@unnested@special##1##2##3{%
       \special{\hyper@html##1}##3\special{\hyper@html##2}%
    }%
    \def\hyper@unnested@special@anchor@nofix##1##2##3{%
       \special{\hyper@html##1}\hyper@anchor@color{##3}\special{\hyper@html##2}%
    }%
    \def\hyper@unnested@special@reference@nofix##1##2##3{%
       \special{\hyper@html##1}\hyper@ref@color{##3}\special{\hyper@html##2}%
    }%
    \def\hyper@unnested@special##1##2{%
       \hyper@fixdim\ht\hyper@box@text%
       \advance\hyper@fixdim\dp\hyper@box@text%
       \advance\hyper@fixdim-8pt%
       \setbox\hyper@box@ref=\hbox{%
          \parindent0pt\leftskip0pt\rightskip0pt%
          \leftmargin0pt\rightmargin\wd\hyper@box@text\advance\rightmargin0.5pt%
          \linewidth\rightmargin\textwidth\rightmargin%
          \noindent\vbox{%
             \hrule height \hyper@fixdim width 0pt%
             \special{\hyper@html##1}\hbox to\linewidth{\hfill}%
             \hrule height -\hyper@fixdim width 0pt%
             \hbox to\linewidth{\hfill\special{\hyper@html##2}}%
             \hrule height 0pt width 0pt%
          }%
       }%
       \ht\hyper@box@ref0pt%
       \dp\hyper@box@ref0pt%
       \wd\hyper@box@ref0pt%
       \hyper@fixdim\ht\hyper@box@text%
       \advance\hyper@fixdim-8pt%
       \hbox{\raise\hyper@fixdim\copy\hyper@box@ref\copy\hyper@box@text}%
       \setbox\hyper@box@ref=\hbox{}%
    }%
    \def\hyper@unnested@special@anchor@fix##1##2##3{%
       \setbox\hyper@box@text=\hbox{\hyper@anchor@color{##3}}%
       \hyper@unnested@special{##1}{##2}%
       \setbox\hyper@box@text=\hbox{}%
    }%
    \def\hyper@unnested@special@reference@fix##1##2##3{%
       \setbox\hyper@box@text=\hbox{\hyper@ref@color{##3}}%
       \hyper@unnested@special{##1}{##2}%
       \setbox\hyper@box@text=\hbox{}%
    }
    \let\hyper@unnested@special@reference\hyper@unnested@special@reference@nofix%
    \let\hyper@unnested@special@anchor\hyper@unnested@special@anchor@nofix%
    \def\hyper@nested@special##1##2##3##4{%
       \ifx\hyper@unnested@special@reference\hyper@unnested@special@reference@nofix%
          \if@hyper@is@active%
             \expandafter\expandafter\expandafter%
                  \special\expandafter\@firstoftwo\hyper@special@last%
               {\def\hyper@special@last{{{\hyper@html##4}}{{\hyper@html##2}}}%
                ##1{##2}{##4}{##3}%
               }%
             \expandafter\expandafter\expandafter%
                 \special\expandafter\@secondoftwo\hyper@special@last%
          \else%
            \def\hyper@special@last{{{\hyper@html##4}}{{\hyper@html##2}}}%
            \@hyper@is@activetrue\relax%
            ##1{##2}{##4}{##3}%
            \@hyper@is@activefalse\relax%
          \fi%
       \else%
          \if@hyper@is@active%
             ##1{##2}{##4}{##3}%
          \else%
            \@hyper@is@activetrue\relax%
            ##1{##2}{##4}{##3}%
            \@hyper@is@activefalse\relax%
          \fi%
       \fi%
    }%
    \def\hyper@special@anchor{\hyper@nested@special\hyper@unnested@special@anchor}
    \def\hyper@special@reference{\hyper@nested@special\hyper@unnested@special@reference}
    \def\f@hyper@ref@ext[##1][##2][##3]\end@hyper@ref##4{%
      \ifvmode\leavevmode\fi%
      \hyper@special@reference%
         {<a href=\hyper@quote##1##2\hyper@hash##3\hyper@quote>}%
            {##4}%
         {</a>}%
    }%
    \def\hyper@check@fn##1.##2.##3.##4\hyper@check@fn{%
       \def\hyper@tmpa{fn}%mark for link to footnote
       \def\hyper@tmpb{##1}%
       \ifx\hyper@tmpa\hyper@tmpb{%
           \ifx?##3\relax%
              \global\let\hyper@forwarded@fn\@empty%
           \else%
              \hyper@cnt##3\relax%                                   fetch page
              \advance\hyper@cnt1\relax%                             advance page by one
              \global\edef\hyper@forwarded@fn{fn.##2.\the\hyper@cnt}%create new link
           \fi%
         }%
       \else%
         \global\let\hyper@forwarded@fn\@empty%
       \fi%
    }%
    \let\hyper@thepage\thepage%
    \def\f@hyper@ref@int##1\end@hyper@ref##2{%
      \ifvmode\leavevmode\fi%
      \expandafter\ifx\csname hyper@##1\endcsname\relax%
         \expandafter\ifx\csname hyper@new@##1\endcsname\relax%
            \hyper@check@fn##1...\hyper@check@fn%
            \ifx\hyper@forwarded@fn\@empty%
               \PackageWarning{hyper}%
                  {Hyper reference `##1' for `##2' on page \hyper@thepage\space undefined}%
               \hyper@change1\relax%
               \hyper@undef@color{##2}%
            \else%
               \expandafter\ifx\csname hyper@\hyper@forwarded@fn\endcsname\relax%
                  \expandafter\ifx\csname hyper@new@\hyper@forwarded@fn\endcsname\relax%
                     \PackageWarning{hyper}%
                        {Hyper reference `##1' for `##2'  %
                         on page \hyper@thepage\space undefined}%
                     \hyper@change1\relax%
                     \hyper@undef@color{##2}%
                  \else%
                     \hyper@change8\relax%
                     \PackageWarning{hyper}%
                        {Hyper reference `##1' for `##2' on page \hyper@thepage\space%
                         forwarded to `\hyper@forwarded@fn'}%
                     \hyper@special@reference%
                        {<a href=\hyper@quote\hyper@hash\hyper@forwarded@fn\hyper@quote>}%
                           {##2}%
                        {</a>}%
                  \fi%
               \else%
                  \hyper@change8\relax%
                  \PackageWarning{hyper}%
                     {Hyper reference `##1' for `##2' on page \hyper@thepage\space%
                      forwarded to `\hyper@forwarded@fn'}%
                  \hyper@special@reference%
                     {<a href=\hyper@quote\hyper@hash\hyper@forwarded@fn\hyper@quote>}%
                        {##2}%
                     {</a>}%
               \fi%
            \fi%
         \else%
            \hyper@special@reference%
               {<a href=\hyper@quote\hyper@hash##1\hyper@quote>}%
                  {##2}%
               {</a>}%
         \fi%
      \else%
        \hyper@special@reference%
           {<a href=\hyper@quote\hyper@hash##1\hyper@quote>}%
              {##2}%
           {</a>}%
      \fi%
    }%
    \def\f@hyper@ref{%
      \@ifnextchar[{\f@hyper@ref@ext[]}{\f@hyper@ref@int}%
    }%
    \def\fragilehyperreference##1{%
      \expandafter\expandafter\expandafter\f@hyper@ref##1\end@hyper@ref%
    }%
    \def\f@hyper@page@ref{%
      \@ifnextchar[{\f@hyper@ref@page@ext[page.]}{\f@hyper@ref@int page.}%
    }%
    \def\fragilehyperpagereference##1{%
      \expandafter\expandafter\expandafter%
      \f@hyper@page@ref##1\end@hyper@ref%
    }%
    \def\fragilehyperanchor##1##2{%
      \ifvmode\leavevmode\fi%
      \hyper@special@anchor%
         {<a name=\hyper@quote##1\hyper@quote>}%
            {\hyper@to@aux{##1}%
             ##2%
            }%
         {</a>}%
    }%
    \def\fragileblindhyperanchor##1{%
      \hyper@special@anchor%
         {<a name=\hyper@quote##1\hyper@quote>}%
            {\hyper@to@aux{##1}}%
         {</a>}%
    }%
    \def\fragilehyperURL##1##2##3##4{%
      \ifvmode\leavevmode\fi%
      \def\hyper@tmp{##4}%
      \def\hyper@tmpa{##1}%
      \def\hyper@tmpb{##2}%
      \def\hyper@tmpc{##3}%
      \ifx\hyper@tmp\@empty%
         %
      \else\ifx\hyper@tmpa\@empty%
         \ifx\hyper@tmpb\@empty%
            \ifx\hyper@tmpc\@empty%
               {##4}%
            \else%
               \hyper@special@reference%
                  {<a href=\hyper@quote##3\hyper@quote>}%
                     {##4}%
                  {</a>}%
            \fi%
         \else\ifx\hyper@tmpc\@empty%
            \hyper@special@reference%
               {<a href=\hyper@quote//##2/\hyper@quote>}%
                  {##4}%
               {</a>}%
         \else%
            \hyper@special@reference%
               {<a href=\hyper@quote//##2/##3\hyper@quote>}%
                  {##4}%
               {</a>}%
         \fi\fi%
      \else\ifx\hyper@tmpb\@empty%
         \ifx\hyper@tmpc\@empty%
            {##4}%
         \else%
            \hyper@special@reference%
               {<a href=\hyper@quote##1:##3\hyper@quote>}%
                  {##4}%
               {</a>}%
         \fi%
      \else\ifx\hyper@tmpc\@empty%
        \hyper@special@reference%
           {<a href=\hyper@quote##1://##2/\hyper@quote>}%
              {##4}%
           {</a>}%
      \else%
        \hyper@special@reference%
           {<a href=\hyper@quote##1://##2/##3\hyper@quote>}%
              {##4}%
           {</a>}%
       \fi\fi\fi\fi%
    }%
  }
\egroup
\hyper
\def\nohyper{%
  \def\hyper@fix##1{%
     \ifx\hyper@unnested@special@reference\hyper@unnested@special@reference@nofix%
        ##1%
     \else%
        \hbox{##1}%
     \fi%
  }
  \def\fragilehyperreference##1##2{%
     \ifvmode\leavevmode\fi\hyper@fix{\hyper@ref@color{##2}}%
  }%
  \def\fragilehyperpagereference##1##2{%
     \ifvmode\leavevmode\fi\hyper@fix{\hyper@ref@color{##2}}%
  }%
  \def\fragilehyperanchor##1##2{%
     \ifvmode\leavevmode\fi\hyper@anchor@color{##2}%
  }%
  \def\fragileblindhyperanchor##1{}%
  \def\fragilehyperURL##1##2##3##4{%
     \ifvmode\leavevmode\fi\hyper@fix{\hyper@ref@color{##4}}%
  }%
}
\def\hyperreference{\protect\fragilehyperreference}
\def\hyperpagereference{\protect\fragilehyperpagereference}
\def\hyperanchor{\protect\fragilehyperanchor}
\def\blindhyperanchor{\protect\fragileblindhyperanchor}
\def\fragileChyperURL{%
  \bgroup%
     \catcode`\<12\catcode`\>12\catcode`\"12\relax%
     \catcode`\:12\catcode`\=12\catcode`\/12\relax%
     \catcode`\#12\catcode`\~12\relax%\catcode`\%12\relax%
     \finish@hyperURL%
}
\def\finish@hyperURL#1#2#3#4{%
    \fragilehyperURL{#1}{#2}{#3}{#4}%
  \egroup%
}
\def\hyperURL{\protect\fragileChyperURL}
\def\hyper@color{%
  \definecolor{refcolor}{rgb}{0,0,1}%
  \definecolor{undefrefcolor}{rgb}{1,0,0}%
  \definecolor{anchorcolor}{rgb}{0,0.75,0.75}%
  \def\hyper@ref@color##1{\textcolor{refcolor}{##1}}%
  \def\hyper@undef@color##1{\textcolor{undefrefcolor}{##1}}%
  \def\hyper@anchor@color##1{\textcolor{anchorcolor}{##1}}%
}
\def\hyper@gray{%
  \definecolor{refcolor}{gray}{0.75}%
  \definecolor{undefrefcolor}{gray}{0.25}%
  \definecolor{anchorcolor}{gray}{0.5}%
  \def\hyper@ref@color##1{\textcolor{refcolor}{##1}}%
  \def\hyper@undef@color##1{\textcolor{undefrefcolor}{##1}}%
  \def\hyper@anchor@color##1{\textcolor{anchorcolor}{##1}}%
}
\def\hyper@black{%
  \def\hyper@ref@color##1{##1}%
  \def\hyper@undef@color##1{##1}%
  \def\hyper@anchor@color##1{##1}%
}
\hyper@black
\newcount\hypercount
\hypercount=0\relax
\def\@currenthyper{}
\def\hyper@setcurrent{%
  \global\advance\hypercount1\relax%
  \edef\@currenthyper{\the\hypercount}%
}%
\def\hyper@settype#1{%
\edef\@currenthypertype{#1}%
}%
\def\hyper@ref@toggle#1#2#3{#3[\hyperreference{#1}{#2}]}
\def\ref@by@expanded@hyper#1\end@hyper{{#1}}
\def\callwithexpandedhyperref#1#2{%
  \expandafter\expandafter\expandafter\hyper@ref@toggle%
    \expandafter\ref@by@expanded@hyper\@currenthyper\end@hyper%
  {#2}{#1}%
}
\def\hyperlabel#1{\@bsphack
  \protected@write\hyper@auxout{}%
         {\string\newlabel{#1}%
           {{\@currenthypertype}{\@currenthyper}{\@currentlabel}{\thepage}}}%
  \@esphack}
\def\hyper@secondoffour#1#2#3#4{#2}
\def\hyper@thirdoffour#1#2#3#4{#3}
\def\hyper@forthoffour#1#2#3#4{#4}
\def\hyper@snd@forthoffour[#1][#2]\end@hyper{#2}
\def\hyper@this@forthoffour#1\end@hyper{#1}
\def\hyper@test@forthoffour{%
  \@ifnextchar[{\hyper@snd@forthoffour}{\hyper@this@forthoffour}%
}
\def\hyper@page@forthoffour#1#2#3#4{%
  \expandafter\hyper@test@forthoffour#4\end@hyper%
}
\let\hyper@thepage\thepage
\def\hyper@setref#1#2#3#4{%
  \ifx#1\relax%
     \protect\G@refundefinedtrue%
     #4\nfss@text{\reset@font\bfseries ??}%
     \@latex@warning{Reference `#3' on page \hyper@thepage \space undefined}%
  \else%
    \edef\hyper@tmp{\expandafter\hyper@secondoffour#1}%
    \ifx\hyper@tmp\@empty%
       \ifx#2\hyper@secondoffour%
          #4\null%
       \else\ifx#2\hyper@thirdoffour%
         #4\expandafter#2#1\null%
       \else%
         #4\expandafter#2#1\null%
       \fi\fi%
    \else%
       \ifx#2\hyper@secondoffour%
          \hyperreference{\expandafter\hyper@secondoffour#1}{#4}\null%
       \else\ifx#2\hyper@thirdoffour%
         \hyperreference%
           {\expandafter\hyper@secondoffour#1}%
           {#4\expandafter#2#1\null}\null%
       \else%
         \hyperpagereference%
           {\expandafter\hyper@forthoffour#1}%
           {#4\expandafter#2#1\null}\null%
       \fi\fi%
    \fi%
  \fi%
}
\def\@@hypernoref[#1]#2{%
  \expandafter\hyper@setref\csname r@#2\endcsname%
    \hyper@secondoffour{#2}{#1}%
}
\def\@hypernoref[#1]{\@@hypernoref[#1]}
\def\hypernoref{\@ifnextchar[{\@hypernoref}{\@@hypernoref[]}}
\def\@@hyperref[#1]#2{%
  \expandafter\hyper@setref\csname r@#2\endcsname%
    \hyper@thirdoffour{#2}{#1}%
}
\def\@hyperref[#1]{\@@hyperref[#1~]}
\def\hyperref{\@ifnextchar[{\@hyperref}{\@@hyperref[]}}
\def\@@hyperpageref[#1]#2{%
   \expandafter\hyper@setref\csname r@#2\endcsname%
     \hyper@page@forthoffour{#2}{#1}%
}
\def\@hyperpageref[#1]{\@@hyperpageref[#1~]}
\def\hyperpageref{\@ifnextchar[{\@hyperpageref}{\@@hyperpageref[]}}
\let\label\hyperlabel
\def\noref{\protect\hypernoref}
\def\ref{\protect\hyperref}
\def\pageref{\protect\hyperpageref}
\def\labeltext#1#2{%
  \bgroup%
    \hyper@setcurrent%
    \hyper@settype{text}%
    \def\@currentlabel{#2}%
    \label{#1}%
    \hyperanchor{\@currenthyper}{#2}%
  \egroup%
}
\def\refcurrent#1{\hyperreference{\@currenthyper}{#1}}
\def\fragilerefnext#1#2{\bgroup%
  \hypercount=#1\relax\advance\hypercount1\relax%
  \hyperreference{\the\hypercount}{#2}%
\egroup}
\def\refnext#1{\protect\fragilerefnext{\the\hypercount}{#1}}
\let\hyper@refstepcounter\refstepcounter
\def\refstepcounter{\hyper@setcurrent\hyper@settype{counter}\hyper@refstepcounter}
\def\ignore@next@refstepcounter{%
  \def\refstepcounter##1{%
    \def\refstepcounter{\hyper@setcurrent\hyper@settype{counter}\hyper@refstepcounter}%
  }%
}
\let\hyper@contentsline\contentsline
\def\contentsline#1#2#3{%
  \hyper@contentsline{#1}{#2}{\hyperpagereference{#3}{#3}}%
}
\let\hyper@thepage\thepage
\def\hyper@anchorpage{%
  \fragilehyperanchor{page.\hyper@thepage}{\hyper@thepage}%
}
\def\hyper@referencepage{%
  \fragilehyperreference{page.\hyper@thepage}{\hyper@thepage}%
}
\def\hyper@empty{\@empty}
\def\hyper@evenhead{\@evenhead}
\def\hyper@oddhead{\@oddhead}
\def\hyper@evenfoot{\@evenfoot}
\def\hyper@oddfoot{\@oddfoot}
\def\hyper@modifyheadfoot@pagenumber{%
  \let\hyper@thehead\@thehead%
  \ifx\hyper@thehead\hyper@oddhead\let\hyper@thehead\@oddhead\fi%
  \ifx\hyper@thehead\hyper@evenhead\let\hyper@thehead\@evenhead\fi%
  \let\hyper@thefoot\@thefoot%
  \ifx\hyper@thefoot\hyper@oddfoot\let\hyper@thefoot\@oddfoot\fi%
  \ifx\hyper@thefoot\hyper@evenfoot\let\hyper@thefoot\@evenfoot\fi%
  \def\@thehead{%
      \ifnum\ifnum\ifx\hyper@thehead\@empty1\else0\fi%
                  \ifx\hyper@thehead\hyper@empty1\else0\fi%
                  >0 0\else1\fi%
            \ifnum\ifx\hyper@thefoot\@empty1\else0\fi%
                  \ifx\hyper@thefoot\hyper@empty1\else0\fi%
                  >0 0\else1\fi%
            >0\relax%
      \else%
         \blindhyperanchor{page.\thepage}%
      \fi%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@anchorpage%
      \ifx\hyper@thehead\@empty%
         \hfil%
      \else\ifx\hyper@thehead\hyper@empty%
         \hfil%
      \else%
        \hyper@thehead%
      \fi\fi%
  }%
  \def\@thefoot{%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@anchorpage%
      \ifx\hyper@thefoot\@empty%
         \hfil%
      \else\ifx\hyper@thefoot\hyper@empty%
         \hfil%
      \else%
         \hyper@thefoot%
      \fi\fi%
  }%
}
\def\hyper@modifyheadfoot@pagetop{%
  \let\hyper@thehead\@thehead%
  \ifx\hyper@thehead\hyper@oddhead\let\hyper@thehead\@oddhead\fi%
  \ifx\hyper@thehead\hyper@evenhead\let\hyper@thehead\@evenhead\fi%
  \let\hyper@thefoot\@thefoot%
  \ifx\hyper@thefoot\hyper@oddfoot\let\hyper@thefoot\@oddfoot\fi%
  \ifx\hyper@thefoot\hyper@evenfoot\let\hyper@thefoot\@evenfoot\fi%
  \def\@thehead{%
      \blindhyperanchor{page.\thepage}%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@referencepage%
      \ifx\hyper@thehead\@empty%
         \hfil%
      \else\ifx\hyper@thehead\hyper@empty%
         \hfil%
      \else%
         \hyper@thehead%
      \fi\fi%
  }%
  \def\@thefoot{%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@referencepage%
      \ifx\hyper@thefoot\@empty%
         \hfil%
      \else\ifx\hyper@thefoot\hyper@empty%
         \hfil%
      \else%
         \hyper@thefoot%
      \fi\fi%
    }%
}
\let\hyper@begindvi\@begindvi
\def\@begindvi{%
  \hyper@begindvi%
  \hyper@modifyheadfoot%
  \global\let\@begindvi\hyper@modifyheadfoot%
}
\let\hyper@modifyheadfoot\hyper@modifyheadfoot@pagenumber
\let\hyper@sect\@sect
\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth%
    \hyper@setcurrent%
  \else%
    \refstepcounter{#1}%
    \ignore@next@refstepcounter%
  \fi%
  \hyper@settype{#1}%
  \global\let\@currenthyper\@currenthyper%
  \global\let\@currenthypertype\@currenthypertype%
  \callwithexpandedhyperref%
    {\hyper@sect{#1}{#2}{#3}{#4}{#5}{#6}}%
    {#7}%
    {\hyperanchor{\@currenthyper}{#8}}%
}
\let\hyper@ssect\@ssect
\def\@ssect#1#2#3#4#5{%
  \hyper@setcurrent%
  \hyper@settype{#1}%
  \global\let\@currenthyper\@currenthyper%
  \global\let\@currenthypertype\@currenthypertype%
  \hyper@ssect{#1}{#2}{#3}{#4}{\hyperanchor{\@currenthyper}{#5}}%
}
\def\@lbibitem[#1]#2{%
  \hyper@setcurrent%
  \hyper@settype{citation}%
  \item[\@biblabel{\hyperanchor{\@currenthyper}{#1}}\hfill]%
  \if@filesw%
      {\let\protect\@unexpandable@protect%
       \immediate%
       \write\@auxout{%
         \string\bibcite{#2}{\hyperreference{\@currenthyper}{#1}}%
       }%
      }%
  \fi%
  \ignorespaces%
}
\def\@bibitem{%
  \stepcounter{\@listctr}%
  \hyper@settype{citation}%
  \@lbibitem[\the\value{\@listctr}]%
}
\def\@eqnnum{%
  \hyperanchor{\@currenthyper}{\normalfont\normalcolor(\theequation)}%
}
\let\hyper@eqnarray\eqnarray
\def\eqnarray{%
  \hyper@setcurrent%
  \def\@currenthyper{\the\hypercount}%
  \hyper@settype{equation}%
  \hyper@eqnarray%
}
\let\hyper@xeqncr\@xeqncr
\def\@xeqncr[#1]{%
  \hyper@xeqncr[#1]%
  \noalign{\hyper@setcurrent\hyper@settype{equation}}%
}
\long\def\@caption#1[#2]#3{\par%
  \addcontentsline%
    {\csname ext@#1\endcsname}%
    {#1}%
    {\protect\numberline{\csname the#1\endcsname}%
     {\ignorespaces \hyperreference{\@currenthyper}{#2}}%
    }%
  \begingroup%
    \@parboxrestore%
    \normalsize%
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par%
  \endgroup%
}
\newcount\hyper@fnmark@count
\hyper@fnmark@count0
\def\hyper@currentfnmark{%
   \global\advance\hyper@fnmark@count1\relax%
   \@bsphack%
      \protected@write\hyper@auxout%
         {}%
         {\string\hyperfnpage{\the\hyper@fnmark@count}{\thepage}}%
   \@esphack%
   \hb@xt@\z@{%
    \ifx\hyper@minipage@label\@empty%
      \global\edef\hyper@current@fnmark%
        {fn.\@arabic\c@footnote.%
           \expandafter%
              \ifx\csname hyper@fn@\the\hyper@fnmark@count\endcsname%
                  \relax%
              ?%
           \else%
              \csname hyper@fn@\the\hyper@fnmark@count\endcsname%
           \fi%
        }%
    \else\ifnum\hyper@minipage@label=0\relax%
      \global\edef\hyper@current@fnmark%
        {fn.\hyper@minipage@label.\@arabic\c@footnote.%
           \expandafter%
              \ifx\csname hyper@fn@\the\hyper@fnmark@count\endcsname%
                  \relax%
              ?%
           \else%
              \csname hyper@fn@\the\hyper@fnmark@count\endcsname%
           \fi%
        }%
    \else%
      \global\edef\hyper@current@fnmark%
        {fn.\hyper@minipage@label.\@arabic\c@mpfootnote.%
           \expandafter%
              \ifx\csname hyper@fn@\the\hyper@fnmark@count\endcsname%
                  \relax%
              ?%
           \else%
              \csname hyper@fn@\the\hyper@fnmark@count\endcsname%
           \fi%
        }%
   \fi\fi%
  }%
}
\def\hyperfnpage#1#2{%
  \expandafter\global\expandafter\def\csname hyper@fn@#1\endcsname{#2}%
}
\def\hyperfnpage@check#1#2{%
   \def\reserved@a{#2}%
   \expandafter\ifx\csname hyper@fn@#1\endcsname\reserved@a\else%
      \hyper@change4\relax%
   \fi%
}
\let\hyper@fn@enddocument\enddocument
\def\enddocument{%
  \let\hyperfnpage\hyperfnpage@check%
  \global\hyper@fnmark@count0\relax%
  \hyper@fn@enddocument%
}
\def\@makefnmark{%
  \hyper@currentfnmark%
  \hbox{\@textsuperscript{%
          \normalfont\hyperreference%
           {\hyper@current@fnmark}%
           {\@thefnmark}%
     }}%
}
\def\hyper@makefnmark@text{%
  \hyper@currentfnmark%
  \hbox{\@textsuperscript{%
          \normalfont\hyperanchor%
            {\hyper@current@fnmark}%
            {\@thefnmark}%
       }}%
}
\newcount\hyper@minipage@cnt
\hyper@minipage@cnt=0
\edef\hyper@minipage@label{}
\let\hyper@minipage\minipage
\let\hyper@endminipage\endminipage
\def\minipage{%
  \bgroup%
    \global\advance\hyper@minipage@cnt1\relax%
    \edef\hyper@minipage@label{\the\hyper@minipage@cnt}%
    \hyper@minipage%
}
\def\endminipage{%
    \hyper@endminipage%
  \egroup%
}
\AtBeginDocument{%
   \let\hyper@maketitle\maketitle%
   \def\maketitle{%
     \edef\hyper@minipage@label{0}%
     \hyper@maketitle%
     \let\hyper@minipage@label\@empty%
   }%
}
\def\hyper@thanks@footnotetext#1[#2]#3{%
  \bgroup%
     \edef\hyper@current@fnmark{#1}%
     \let\hyper@currentfnmark\relax%
     \footnotetext[#2]{#3}%
  \egroup%
}
\def\thanks#1{\footnotemark%
    \expandafter\protected@xdef\expandafter\@thanks\expandafter{\expandafter\@thanks%
        \expandafter\protect%
           \expandafter\hyper@thanks@footnotetext%
              \expandafter{\hyper@current@fnmark}[\the\c@footnote]{#1}}%
}
\let\hyper@item\@item
\def\@item[#1]{%
  \if@noitemarg%
    \if@nmbrlist%
      \hyper@item[\hyperanchor{\@currenthyper}{#1}]%
    \else%
      \hyper@item[{#1}]%
    \fi%
  \else%
    \hyper@item[{#1}]%
  \fi%
}
\def\hyper@idxglo@cmds{
\RequirePackage{defpattern}
\def\hyper@ref@page##1{\hyperpagereference{##1}{##1}}
\defpattern\hyper@page@range[##2]{\hyper@ref@page{##2}}
\defpattern\hyper@page@range[##2--##3]{%
  \hyper@ref@page{##2}--\hyper@ref@page{##3}%
}
\defpattern\hyper@page@range[##2, ##3]{%
  \hyper@page@range[##2], \hyper@page@range[##3]%
}
\def\hyper@page@cmd[##1]##2{##1{\hyper@page@range[##2]}}
\def\hyper@page@nocmd##1{\hyper@page@range[##1]}
\def\hyperpage{\@ifnextchar[{\hyper@page@cmd}{\hyper@page@nocmd}}
\let\hyper@index\index
\let\hyper@glossary\glossary
\defpattern\hyper@ig@pat[##2|##3]{##2{##3|hyperpage}}
\defpattern\hyper@ig@pat[##2|##3|##4]{%
  ##2{##3|hyperpage[\hyper@backslash##4]}%
}
\defpattern\hyper@ig@pat[##2|##3|(##4]{%
  ##2{##3|(hyperpage[\hyper@backslash##4]}%
}
\defpattern\hyper@ig@pat[##2|##3|)##4]{%
  ##2{##3|)hyperpage[\hyper@backslash##4]}%
}
\defpattern\hyper@ig@pat[##2|##3|(]{##2{##3|(hyperpage}}
\defpattern\hyper@ig@pat[##2|##3|)]{##2{##3|)hyperpage}}
\def\hyper@ig{%
  \@bsphack\begingroup%
    \catcode`\@=12\catcode`\!=12\catcode`\|=12\catcode`\"=12\relax%
    \@sanitize\hyper@ig@%
}
\def\hyper@ig@##1##2{%
    \hyper@ig@pat[##1|##2]%
  \endgroup\@esphack%
}
\def\index{\hyper@ig\hyper@index}
\def\glossary{\hyper@ig\hyper@glossary}
\let\hyper@idxglo@cmds\relax
}
\ifnum%
  \ifx\@indexfile\@undefined0\else1\fi%
  \ifx\@glossaryfile\@undefined0\else1\fi%
  >0\relax
    \hyper@idxglo@cmds
\fi
\ifx\makeindex\@empty\else
  \let\hyper@makeindex\makeindex
  \def\makeindex{\hyper@makeindex\hyper@idxglo@cmds}
\fi
\ifx\makeglossary\@empty\else
  \let\hyper@makeglossary\makeglossary
  \def\makeglossary{\hyper@makeglossary\hyper@idxglo@cmds}
\fi
\let\hyper@begintheorem\@begintheorem%
\def\@begintheorem#1#2{\trivlist%
   \item[\hskip%
         \labelsep{\hyperanchor{\@currenthyper}{\bfseries #1\ #2}}%
        ]\itshape%
}
\def\@opargbegintheorem#1#2#3{\trivlist%
      \item[\hskip%
            \labelsep%
               {\hyperanchor{\@currenthyper}{\bfseries #1\ #2}\ (#3)}%
           ]\itshape%
}
\def\hyperbackcite#1#2#3#4{}
\def\hyper@set@option#1#2#3{%
  \ifx#1\@undefined%
    \def#1{#2}%
  \else%
    \PackageError{hyper}{#3}{}%
  \fi}
\def\set@hyper@class#1{%
  \hyper@set@option\hyper@class{#1}%
    {Only one class is allowed in option list}%
}
\def\set@hyper@do#1{%
  \hyper@set@option\hyper@do{#1}%
    {Excluding options 'yes' and 'no' in option list found}%
}
\def\set@hyper@pageanchor#1{%
  \hyper@set@option\hyper@pageanchor{#1}%
    {Excluding options 'pagenumber' and 'pagetop' in option list found}%
}
\def\set@hyper@color#1{%
  \hyper@set@option\hyper@this@color{#1}%
    {Multiple color options in option list found}%
}
\def\set@hyper@idxglo{%
  \let\hyper@idxglo\hyper@idxglo@cmds%
}
\def\hyper@packages{}
\def\add@hyper@package#1{%
  \edef\hyper@packages{\hyper@packages(#1)}%
}
\def\hyper@extensions{}
\def\add@hyper@extension#1{%
  \edef\hyper@extensions{\hyper@extensions(#1)}%
}
\DeclareOption{article}{\set@hyper@class{article}}
\DeclareOption{book}{\set@hyper@class{book}}
\DeclareOption{letter}{\set@hyper@class{letter}}
\DeclareOption{ltxdoc}{\set@hyper@class{ltxdoc}}
\DeclareOption{ltxguide}{\set@hyper@class{ltxguide}}
\DeclareOption{ltnews}{\set@hyper@class{ltnews}}
\DeclareOption{proc}{\set@hyper@class{proc}}
\DeclareOption{report}{\set@hyper@class{report}}
\DeclareOption{slides}{\set@hyper@class{slides}}
\DeclareOption{amsart}{\set@hyper@class{amsart}}
\DeclareOption{amsproc}{\set@hyper@class{amsproc}}
\DeclareOption{amsbook}{\set@hyper@class{amsbook}}
\DeclareOption{amsdtx}{\set@hyper@class{amsdtx}}
\DeclareOption{amsldoc}{\set@hyper@class{amsldoc}}
\DeclareOption{cweb}{\set@hyper@class{cweb}}
\DeclareOption{yes}{\set@hyper@do{\hyper}}
\DeclareOption{no}{\set@hyper@do{\nohyper}}
\DeclareOption{fixhyperbox}{%
  \AtBeginDocument{%
     \let\hyper@unnested@special@reference\hyper@unnested@special@reference@fix%
     \let\hyper@unnested@special@anchor\hyper@unnested@special@anchor@fix%
  }%
}
\DeclareOption{color}{\set@hyper@color{\hyper@color}}
\DeclareOption{gray}{\set@hyper@color{\hyper@gray}}
\DeclareOption{black}{\set@hyper@color{\hyper@black}}
\DeclareOption{pagenumber}{\set@hyper@pageanchor{\hyper@modifyheadfoot@pagebottom}}
\DeclareOption{pagetop}{\set@hyper@pageanchor{\hyper@modifyheadfoot@pagetop}}
\DeclareOption{indexcmds}{\set@hyper@idxglo}
\DeclareOption{backcitepages}{%
  \PassOptionsToPackage{pages}{hxt-bc}%
  \add@hyper@extension{hxt-bc}%
}
\DeclareOption{backcitesections}{%
  \PassOptionsToPackage{sections}{hxt-bc}%
  \add@hyper@extension{hxt-bc}%
}
\DeclareOption*{\add@hyper@package{\CurrentOption}}
\ProcessOptions
\ifx\hyper@class\@undefined
  \@ifclassloaded{slides}{\def\hyper@class{slides}}{}
  \@ifclassloaded{report}{\def\hyper@class{report}}{}
  \@ifclassloaded{letter}{\def\hyper@class{letter}}{}
  \@ifclassloaded{book}{\def\hyper@class{book}}{}
  \@ifclassloaded{article}{\def\hyper@class{article}}{}
  \@ifclassloaded{proc}{\def\hyper@class{proc}}{}
  \@ifclassloaded{ltnews}{\def\hyper@class{ltnews}}{}
  \@ifclassloaded{ltxguide}{\def\hyper@class{ltxguide}}{}
  \@ifclassloaded{ltxdoc}{\def\hyper@class{ltxdoc}}{}
  \@ifclassloaded{amsart}{\def\hyper@class{amsart}}{}
  \@ifclassloaded{amsproc}{\def\hyper@class{amsproc}}{}
  \@ifclassloaded{amsbook}{\def\hyper@class{amsbook}}{}
  \@ifclassloaded{amsdtx}{\def\hyper@class{amsdtx}}{}
  \@ifclassloaded{amsldoc}{\def\hyper@class{amsldoc}}{}
  \@ifclassloaded{cweb}{\def\hyper@class{cweb}}{}
\fi
\ifx\hyper@class\@undefined
  \PackageError{hyper}{Document class can't be determined.\MessageBreak
              Please add one to the option list%
             }{}
\else
  \InputIfFileExists{\hyper@class.hyp}{}%
    {\PackageError{hyper}{\hyper@class.hyp not found.\MessageBreak
                 Please reinstall the complete package%
                }{}%
    }%
\fi
\ifx\hyper@idxglo\@undefined\else
  \hyper@idxglo@cmds
\fi
\ifx\hyper@this@color\@undefined
\else
  \expandafter\ifx\hyper@this@color\hyper@gray
    \RequirePackage{color}
  \else\expandafter\ifx\hyper@this@color\hyper@color
    \RequirePackage{color}
  \else\expandafter\ifx\hyper@this@color\hyper@black
  \else
    \PackageError{hyper}{Implementation error:\MessageBreak
                Case for reference/anchor color definition not defined}{}
  \fi\fi\fi
  \hyper@this@color
\fi
\@ifclasswith\hyper@class{leqno}%
  {\InputIfFileExists{leqno.hyp}{}%
     {\PackageError{hyper}{leqno.hyp not found.\MessageBreak
                  Please reinstall the complete package}{}%
     }%
  }%
  {}
\def\hyper@loadpackage#1{%
  \@ifpackageloaded{#1}%
    {\InputIfFileExists{#1.hyp}%
       {\expandafter\edef\csname hyper@loaded@#1\endcsname{#1.hyp}}%
       {\PackageError{hyper}{#1.hyp not found.\MessageBreak
                    Please reinstall the complete package}{}%
       }%
    }%
    {}
}
\hyper@loadpackage{amsmath}
\hyper@loadpackage{amstex}
\hyper@loadpackage{amsthm}
\hyper@loadpackage{doc}
\hyper@loadpackage{fancyheadings}
\hyper@loadpackage{ftnright}
\hyper@loadpackage{harvard}
\hyper@loadpackage{longtable}
\hyper@loadpackage{natbib}
\hyper@loadpackage{subeqnarray}
\hyper@loadpackage{theorem}
\hyper@loadpackage{upref}
\hyper@loadpackage{xr}
\def\@hyper@load@pkg(#1){%
  \expandafter\ifx\csname hyper@loaded@#1\endcsname\relax%
    \IfFileExists{#1.hyp}%
      {\IfFileExists{#1.sty}{\RequirePackage{#1}}{}%
       \input{#1.hyp}%
       \expandafter\edef\csname hyper@loaded@#1\endcsname{#1.hyp}%
      }%
      {\PackageError{hyper}{Modification file #1.hyp not found}{}}%
  \fi%
  \hyper@loadpackage%
}
\def\hyper@loadpackage{\@ifnextchar({\@hyper@load@pkg}{}}
\expandafter\hyper@loadpackage\hyper@packages\relax
\def\@hyper@load@ext(#1){%
  \expandafter\ifx\csname hyper@loaded@ext@#1\endcsname\relax%
    \IfFileExists{#1.sty}%
      {\RequirePackage{#1}%
       \expandafter\edef\csname hyper@loaded@ext@#1\endcsname{#1.sty}%
      }%
      {\PackageError{hyper}{Extension file #1.sty not found}{}}%
  \fi%
  \hyper@loadpackage%
}
\def\hyper@load@extension{\@ifnextchar({\@hyper@load@ext}{}}
\expandafter\hyper@load@extension\hyper@extensions\relax
\ifx\hyper@pageanchor\@undefined
\else
  \expandafter\let\expandafter\hyper@modifyheadfoot\hyper@pageanchor
\fi
\ifx\hyper@do\@undefined\else\hyper@do\fi
\def\hyper@end@newlabel{\relax}
\let\hyper@orig@newlabel\newlabel
\def\hyper@newlabel#1#2#3#4#5{%
   \ifx|#4|%
      \hyper@orig@newlabel{#1}{{}{}{#2}{#3}}%
   \else%
      \hyper@orig@newlabel{#1}{{#2}{#3}{#4}{#5}}%
   \fi%
}
\def\newlabel#1#2{\hyper@newlabel{#1}#2\hyper@end@newlabel\hyper@end@newlabel}
\begingroup
  \catcode`\<=\catcode`\{
  \catcode`\>=\catcode`\}
  \catcode`\{=12\catcode`\}=12
  \catcode`\%=12
  \gdef\hyper@open<{>
  \gdef\hyper@close<}>
  \gdef\hyper@comment<%>
\endgroup
\def\hyper@nl{^^J}%
\long\def\hyper@protected@write#1{%
   \begingroup%
      \let\thepage\relax%
      \let\protect\@unexpandable@protect%
      \edef\reserved@a{\immediate\write\@auxout{#1}}%
      \reserved@a%
   \endgroup%
   \if@nobreak\ifvmode\nobreak\fi\fi%
}
\gdef\hyper@aux@write{
   \hyper@protected@write{\hyper@comment@potential%
      \string\ifx\string\newhyper\string\@undefined%
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\gdef\string\newhyper\hyper@hash1\hyper@hash2{}\hyper@nl
      \string\gdef\string\hyperfnpage\hyper@hash1\hyper@hash2{}\hyper@nl
      \string\global\string\let\string\@hyper@newlabel\string\newlabel\hyper@nl
      \string\gdef\string\hyper@end@newlabel{\string\relax}\hyper@nl
      \string\gdef\string\hyper@newlabel\hyper@hash1\hyper@hash2\hyper@hash3\hyper@hash4\hyper@hash5%
                      {\hyper@comment@potential%
        \string\ifx\string|\hyper@hash4\string|\string\hyper@end@newlabel\hyper@comment@potential%
          \string\@hyper@newlabel{\hyper@hash1}{{\hyper@hash2}{\hyper@hash3}}%
                      \hyper@comment@potential%
        \string\else\hyper@comment@potential%
          \string\@hyper@newlabel{\hyper@hash1}{{\hyper@hash4}{\hyper@hash5}}%
                      \hyper@comment@potential%
        \string\fi\hyper@comment@potential%
      }\hyper@nl
      \string\gdef\string\newlabel\hyper@hash1\hyper@hash2%
                      {\string\hyper@newlabel{\hyper@hash1}\hyper@hash2%
                      \string\hyper@end@newlabel\string\hyper@end@newlabel}\hyper@nl
      \string\gdef\string\@@hyperpage[\hyper@hash1]{\hyper@hash1}\hyper@nl
      \string\gdef\string\@hyperpage\hyper@hash1{\hyper@hash1}\hyper@nl
      \string\gdef\string\hyperpage%
                      {\string\@ifnextchar[\string\@@hyperpage\string\@hyperpage}\hyper@nl
      \string\global\string\let\string\fragilehyperreference\string\@gobble\hyper@nl
      \string\global\string\let\string\fragilehyperpagereference\string\@gobble\hyper@nl
      \string\global\string\let\string\fragilehyperanchor\string\@gobble\hyper@nl
      \string\global\string\let\string\fragileblindhyperanchor\string\@gobble\hyper@nl
      \string\global\string\let\string\fragilehyperURL\string\@gobble\hyper@nl
      \string\gdef\string\hyperbackcite\hyper@hash1\hyper@hash2\hyper@hash3\hyper@hash4%
                      {}\hyper@nl
      \string\global\string\let\string\hyper@setref\string\@setref\hyper@nl
      \string\gdef\string\hyper@thirdoffour\hyper@hash1\hyper@hash2\hyper@hash3%
                      {\hyper@hash2}\hyper@nl
      \string\gdef\string\hyper@forthoffour\hyper@hash1\hyper@hash2\hyper@hash3%
                      {\hyper@hash3}\hyper@nl
      \string\gdef\string\hyper@end@forthoffour{\string\relax}\hyper@nl
      \string\gdef\string\@setref\hyper@hash1{\hyper@comment@real\hyper@nl
        \string\ifx\hyper@hash1\string\relax\hyper@comment@real\hyper@nl
           \string\def\string\hyper@next{\string\hyper@setref{\hyper@hash1}}%
                      \hyper@comment@real\hyper@nl
        \string\else\hyper@comment@real\hyper@nl
          \string\edef\string\hyper@tmp%
                      {\string\expandafter\string\hyper@forthoffour\hyper@hash1%
                      \string\hyper@end@forthoffour}\hyper@comment@real\hyper@nl
          \string\ifx\string\hyper@tmp\string\hyper@end@forthoffour%
                      \hyper@comment@real\hyper@nl
             \string\def\string\hyper@next{\string\hyper@setref{\hyper@hash1}}%
                      \hyper@comment@real\hyper@nl
          \string\else\hyper@comment@real\hyper@nl
             \string\edef\string\hyper@tmp%
                      {{\string\expandafter\string\hyper@thirdoffour\hyper@hash1}%
                      {\string\expandafter\string\hyper@forthoffour\hyper@hash1}}%
                      \hyper@comment@real\hyper@nl
             \string\def\string\hyper@next{\string\hyper@setref{\string\hyper@tmp}}%
                      \hyper@comment@real\hyper@nl
          \string\fi\hyper@comment@real\hyper@nl
        \string\fi\hyper@comment@real\hyper@nl
        \string\hyper@next\hyper@comment@real\hyper@nl
      }
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\begingroup\hyper@nl
         \string\catcode\string`\string\<\string=\string\catcode\string`\string\{\hyper@nl
         \string\catcode\string`\string\>\string=\string\catcode\string`\string\}\hyper@nl
         \string\catcode\string`\string\{\string=12%
         \string\catcode\string`\string\}\string=12\hyper@nl
         \string\catcode\string`\string\%\string=12\hyper@nl
         \string\gdef\string\hyper@open<{>\hyper@nl
         \string\gdef\string\hyper@close<}>\hyper@nl
         \string\gdef\string\hyper@comment<\hyper@comment@real>\hyper@nl
      \string\endgroup
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\bgroup\hyper@nl
         \string\global\string\edef\string\hyper@hash{\string\string\hyper@hash}\hyper@nl
      \string\egroup
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\gdef\string\hyper@nl{\string^\string^J}
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\def\string\hyper@hash@four{\string\hyper@hash\string\hyper@hash%
                      \string\hyper@hash\string\hyper@hash}
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\global\string\long\string\def\string\hyper@protected@write\hyper@hash1%
                      {\hyper@nl
         \string\begingroup\hyper@nl
            \string\let\string\thepage\string\relax\hyper@nl
            \string\let\string\protect\string\@unexpandable@protect\hyper@nl
            \string\edef\string\reserved@a{\string\immediate\string\write\string\@auxout%
                      {\hyper@hash1}}\hyper@nl
            \string\reserved@a\hyper@nl
         \string\endgroup\hyper@nl
      \string\if@nobreak\string\ifvmode\string\nobreak\string\fi\string\fi\hyper@nl
      }
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\gdef\string\hyper@aux@write\hyper@open
   }%
   \hyper@second@write{\hyper@comment@potential%
      \string\hyper@write\hyper@open\hyper@nl
         \string\begingroup\hyper@nl
            \string\let\string\@hyper@protected@write\string\hyper@protected@write\hyper@nl
            \string\def\string\hyper@protected@write@do\hyper@hash\hyper@hash1%
                      \hyper@hash\hyper@hash2{\hyper@nl
               \string\begingroup\hyper@nl
                  \string\let\string\hyper@string\string\string\hyper@nl
                  \string\def\string\string%
                      {\string\hyper@string\string\string\string\hyper@string}\hyper@nl
                  \string\def\string\hyper@open%
                      {\string\hyper@string\string\hyper@open}\hyper@nl
                  \string\def\string\hyper@close%
                      {\string\hyper@string\string\hyper@close}\hyper@nl
                  \string\def\string\hyper@nl%
                      {\string\hyper@string\string\hyper@nl\string^\string^J}\hyper@nl
                  \string\def\string\hyper@comment@real%
                      {\string\hyper@string\string\hyper@comment@real}\hyper@nl
                  \string\def\string\hyper@comment@potential%
                      {\string\hyper@string\string\hyper@comment@potential%
                      \string\hyper@comment\string^\string^J}\hyper@nl
                  \string\def\string\hyper@hash%
                      {\string\hyper@string\string\hyper@hash}\hyper@nl
                  \string\@hyper@protected@write%
                      {\string\hyper@string\hyper@hash\hyper@hash1%
                      {\hyper@hash\hyper@hash2\string^\string^J}}\hyper@nl
               \string\endgroup\hyper@nl
            }\hyper@nl
            \string\def\string\hyper@protected@write%
                      {\string\hyper@protected@write@do\string\hyper@protected@write}%
                      \hyper@nl
            \string\def\string\hyper@second@write\hyper@hash\hyper@hash1{\hyper@nl
               \string\hyper@protected@write@do\string\hyper@second@write%
                      {\hyper@hash\hyper@hash1}\hyper@nl
               \string\@hyper@protected@write{\hyper@hash\hyper@hash1}\hyper@nl
            }\hyper@nl
            \string\def\string\hyper@write{\string\@gobble}\hyper@nl
            \string\hyper@aux@write\hyper@nl
         \string\endgroup\hyper@nl
      \hyper@close
   }
   \hyper@write{
      \begingroup
         \let\@hyper@protected@write\hyper@protected@write
         \def\hyper@protected@write@do##1##2{
            \begingroup
               \let\hyper@string\string
               \def\string{\hyper@string\string\hyper@string}
               \def\hyper@open{\hyper@string\hyper@open}
               \def\hyper@close{\hyper@string\hyper@close}
               \def\hyper@nl{\hyper@string\hyper@nl^^J}
               \def\hyper@comment@real{\hyper@string\hyper@comment@real}
               \def\hyper@comment@potential%
                      {\hyper@string\hyper@comment@potential\hyper@comment^^J}
               \def\hyper@hash{\hyper@string\hyper@hash}
               \@hyper@protected@write{\hyper@string##1{##2^^J}}
            \endgroup
         }
         \def\hyper@protected@write{\hyper@protected@write@do\hyper@protected@write}
         \def\hyper@second@write##1{
            \hyper@protected@write@do\hyper@second@write{##1}
            \@hyper@protected@write{##1}
         }
         \def\hyper@write{\@gobble}
         \hyper@aux@write
      \endgroup
   }
   \hyper@protected@write{\hyper@comment@potential%
      \hyper@close
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\AtBeginDocument{\hyper@comment@real\hyper@nl%
         \string\let\string\hyper@write\string\relax%
                      \hyper@comment@real\hyper@nl%
         \string\let\string\hyper@second@write\string\@gobble%
                      \hyper@comment@real\hyper@nl%
         \string\let\string\hyper@comment@potential\string\@empty%
                      \hyper@comment@real\hyper@nl%
         \string\let\string\hyper@comment@real\string\hyper@comment%
                      \hyper@comment@real\hyper@nl%
         \string\hyper@aux@write\hyper@comment@real\hyper@nl%
      }
   }
   \hyper@protected@write{\hyper@comment@potential%
      \string\fi
   }
 \relax
}
\AtBeginDocument{%
   \let\hyper@write\relax%
   \let\hyper@second@write\@gobble%
   \let\hyper@comment@potential\@empty%
   \let\hyper@comment@real\hyper@comment%
   \hyper@aux@write%
}
\endinput
%%
%% End of file `hyper.sty'.
