Advertisement
Guest User

Hyperref

a guest
May 29th, 2019
603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 239.23 KB | None | 0 0
  1. %%
  2. %% This is file `hyperref.sty',
  3. %% generated with the docstrip utility.
  4. %%
  5. %% The original source files were:
  6. %%
  7. %% hyperref.dtx  (with options: `package')
  8. %%
  9. %% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
  10. %% with portions written by David Carlisle and Heiko Oberdiek,
  11. %% 2001-2012 Heiko Oberdiek.
  12. %% 2016-2018 Oberdiek Package Suport Group
  13. %%      https://github.com/ho-tex/hyperref/issues
  14. %%
  15. %% This file is part of the `Hyperref Bundle'.
  16. %% -------------------------------------------
  17. %%
  18. %% This work may be distributed and/or modified under the
  19. %% conditions of the LaTeX Project Public License, either version 1.3
  20. %% of this license or (at your option) any later version.
  21. %% The latest version of this license is in
  22. %%   http://www.latex-project.org/lppl.txt
  23. %% and version 1.3 or later is part of all distributions of LaTeX
  24. %% version 2005/12/01 or later.
  25. %%
  26. %% This work has the LPPL maintenance status `maintained'.
  27. %%
  28. %% The Current Maintainer of this work is Heiko Oberdiek.
  29. %%
  30. %% The list of all files belonging to the `Hyperref Bundle' is
  31. %% given in the file `manifest.txt'.
  32. %%
  33. \NeedsTeXFormat{LaTeX2e}[1995/12/01]
  34. \ProvidesPackage{hyperref}
  35.   [2018/11/30 v6.88e %
  36.   Hypertext links for LaTeX]
  37. \begingroup
  38.   \@makeother\`%
  39.   \@makeother\=%
  40.   \edef\x{%
  41.     \edef\noexpand\x{%
  42.       \endgroup
  43.       \noexpand\toks@{%
  44.         \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
  45.         \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
  46.       }%
  47.     }%
  48.     \noexpand\x
  49.   }%
  50. \x
  51. \@makeother\`
  52. \@makeother\=
  53. \def\Hy@SetCatcodes{%
  54.   \@makeother\`%
  55.   \@makeother\=%
  56.   \catcode`\$=3 %
  57.   \catcode`\&=4 %
  58.   \catcode`\^=7 %
  59.   \catcode`\_=8 %
  60.   \@makeother\|%
  61.   \@makeother\:%
  62.   \@makeother\(%
  63.   \@makeother\)%
  64.   \@makeother\[%
  65.   \@makeother\]%
  66.   \@makeother\/%
  67.   \@makeother\!%
  68.   \@makeother\<%
  69.   \@makeother\>%
  70.   \@makeother\.%
  71.   \@makeother\;%
  72.   \@makeother\+%
  73.   \@makeother\-%
  74.   \@makeother\"%
  75.   \@makeother\'%
  76. }
  77. \begingroup
  78.   \def\x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}%
  79.   \xdef\Hy@RestoreCatcodes{%
  80.     \the\toks@
  81.     \x\$%
  82.     \x\&%
  83.     \x\^%
  84.     \x\_%
  85.     \x\|%
  86.     \x\:%
  87.     \x\(%
  88.     \x\)%
  89.     \x\[%
  90.     \x\]%
  91.     \x\/%
  92.     \x\!%
  93.     \x\<%
  94.     \x\>%
  95.     \x\.%
  96.     \x\;%
  97.     \x\+%
  98.     \x\-%
  99.     \x\"%
  100.     \x\'%
  101.   }%
  102. \endgroup
  103. \Hy@SetCatcodes
  104. \IfFileExists{hobsub-hyperref.sty}{%
  105.   \RequirePackage{hobsub-hyperref}[2011/01/30]%
  106. }{}
  107. \RequirePackage{ltxcmds}[2010/11/12]
  108. \RequirePackage{ifpdf}[2006/02/20]
  109. \RequirePackage{pdftexcmds}[2009/04/10]
  110. \@ifpackagelater{pdftexcmds}{2010/11/04}{}{%
  111.   \ltx@IfUndefined{pdfdraftmode}{%
  112.     \let\pdf@ifdraftmode\ltx@secondoftwo
  113.   }{%
  114.     \ifpdf
  115.       \def\pdf@ifdraftmode{%
  116.         \ifnum\pdfdraftmode=\ltx@one
  117.           \expandafter\ltx@firstoftwo
  118.         \else
  119.           \expandafter\ltx@secondoftwo
  120.         \fi
  121.       }%
  122.     \else
  123.       \let\pdf@ifdraftmode\ltx@secondoftwo
  124.     \fi
  125.   }%
  126. }
  127. \RequirePackage{infwarerr}[2010/04/08]
  128. \RequirePackage{keyval}[1997/11/10]
  129. \RequirePackage{kvsetkeys}[2007/09/29]
  130. \RequirePackage{kvdefinekeys}[2011/04/07]
  131. \RequirePackage{pdfescape}[2007/11/11]
  132. \RequirePackage{ifvtex}
  133. \RequirePackage{ifxetex}[2006/08/21]
  134. \RequirePackage{hycolor}
  135. \RequirePackage{letltxmacro}[2008/06/13]
  136. \RequirePackage{auxhook}[2009/12/14]
  137. \def\Hy@Error{\@PackageError{hyperref}}
  138. \def\Hy@Warning{\@PackageWarning{hyperref}}
  139. \def\Hy@WarningNoLine{\@PackageWarningNoLine{hyperref}}
  140. \def\Hy@Info{\@PackageInfo{hyperref}}
  141. \def\Hy@InfoNoLine{\@PackageInfoNoLine{hyperref}}
  142. \def\Hy@Message#1{%
  143.   \GenericWarning{%
  144.     (hyperref)\@spaces\@spaces\@spaces\@spaces
  145.   }{%
  146.     Package hyperref Message: #1\ltx@gobble
  147.   }%
  148. }
  149. \chardef\Hy@VersionChecked=0 %
  150. \def\Hy@VersionCheck#1{%
  151.   \begingroup
  152.     \ltx@IfUndefined{ver@hyperref.sty}{%
  153.       \Hy@Error{%
  154.         This should not happen!\MessageBreak
  155.         Missing hyperref version%
  156.       }\@ehd
  157.     }{%
  158.       \ltx@IfUndefined{ver@#1}{%
  159.         \Hy@Error{%
  160.           This should not happen!\MessageBreak
  161.           Missing version of `#1'%
  162.         }\@ehd
  163.       }{%
  164.         \def\x##1##2##3{%
  165.           \expandafter\expandafter\expandafter\Hy@@VersionCheck
  166.           \expandafter\expandafter\expandafter##2%
  167.           \csname ver@##3\endcsname##1##1\@nil
  168.         }%
  169.         \x{ }\y{hyperref.sty}%
  170.         \x{ }\z{#1}%
  171.         \ifx\y\z
  172.         \else
  173.           \edef\a{#1}%
  174.           \edef\b{\HyOpt@CustomDriver.def}%
  175.           \ifx\a\b
  176.             \Hy@WarningNoLine{%
  177.               Version mismatch (custom driver)!\MessageBreak
  178.               * \y: hyperref.sty\MessageBreak
  179.               * \z: \a
  180.             }%
  181.           \else
  182.             \Hy@Error{%
  183.               Version mismatch!\MessageBreak
  184.               * \y: hyperref.sty\MessageBreak
  185.               * \z: \a
  186.             }\@ehd
  187.           \fi
  188.         \fi
  189.       }%
  190.     }%
  191.   \endgroup
  192.   \chardef\Hy@VersionChecked=1 %
  193. }
  194. \def\Hy@@VersionCheck #1#2 #3 #4\@nil{%
  195.   \def#1{#2 #3}%
  196. }
  197. \ltx@IfUndefined{pdfmatch}{%
  198.   \def\Hy@Match#1#2#3#4#5{}%
  199. }{%
  200.   \def\Hy@Match#1#2#3{%
  201.     \begingroup
  202.     \edef\^{\ltx@backslashchar\string^}%
  203.     \edef\.{\ltx@backslashchar.}%
  204.     \edef\[{\ltx@backslashchar[}% ]]
  205.     \edef\${\ltx@backslashchar$}%
  206.     \edef\({\ltx@backslashchar(}%
  207.     \edef\){\ltx@backslashchar)}%
  208.     \edef\|{\ltx@backslashchar|}%
  209.     \edef\*{\ltx@backslashchar*}%
  210.     \edef\+{\ltx@backslashchar+}%
  211.     \edef\?{\ltx@backslashchar?}%
  212.     \edef\{{\ltx@backslashchar\ltx@leftbracechar}%
  213.     \edef\}{\ltx@rightbracechar}%
  214.     \edef\\{\ltx@backslashchar\ltx@backslashchar}%
  215.     \let\ \ltx@space
  216.     \ifcase\pdfmatch#2{#3}{#1} %
  217.       \endgroup
  218.       \expandafter\ltx@secondoftwo
  219.     \or
  220.       \endgroup
  221.       \expandafter\ltx@firstoftwo
  222.     \else
  223.       \Hy@Warning{%
  224.         Internal error: Wrong pattern!\MessageBreak
  225.         --> #3 <--\MessageBreak
  226.         Pattern check ignored%
  227.       }%
  228.       \endgroup
  229.       \expandafter\ltx@firstoftwo
  230.     \fi
  231.   }%
  232.   \ltx@ifpackagelater{ltxcmds}{2010/09/11}{}{%
  233.     \begingroup
  234.       \lccode`0=`\{\relax
  235.    \lowercase{\endgroup
  236.      \def\ltx@leftbracechar{0}%
  237.     }%
  238.     \begingroup
  239.       \lccode`0=`\}\relax
  240.     \lowercase{\endgroup
  241.      \def\ltx@rightbracechar{0}%
  242.     }%
  243.   }%
  244. }
  245. \@ifundefined{AfterBeginDocument}{%
  246.   \def\AfterBeginDocument{\AtBeginDocument}%
  247. }{}%
  248. \def\Hy@AtBeginDocument{%
  249.   \ltx@LocalAppendToMacro\Hy@AtBeginDocumentHook
  250. }
  251. \def\Hy@AtEndOfPackage{%
  252.   \ltx@LocalAppendToMacro\Hy@AtEndOfPackageHook
  253. }
  254. \let\Hy@AtBeginDocumentHook\ltx@empty
  255. \let\Hy@AtEndOfPackageHook\ltx@empty
  256. \AtEndOfPackage{%
  257.   \Hy@AtEndOfPackageHook
  258.   \let\Hy@AtEndOfPackageHook\@undefined
  259.   \AfterBeginDocument{%
  260.     \Hy@AtBeginDocumentHook{}%
  261.     \let\Hy@AtBeginDocumentHook\@undefined
  262.   }%
  263. }
  264. \RequirePackage{kvoptions}[2009/07/21]
  265. \newif\ifHy@stoppedearly
  266. \newif\ifHy@typexml
  267. \newif\ifHy@activeanchor
  268. \newif\ifHy@backref
  269. \newif\ifHy@bookmarks
  270. \newif\ifHy@bookmarksnumbered
  271. \newif\ifHy@bookmarksopen
  272. \newif\ifHy@breaklinks
  273. \newif\ifHy@pdfcenterwindow
  274. \newif\ifHy@CJKbookmarks
  275. \newif\ifHy@colorlinks
  276. \newif\ifHy@destlabel
  277. \newif\ifHy@draft
  278. \let\Hy@finaltrue\Hy@draftfalse
  279. \let\Hy@finalfalse\Hy@drafttrue
  280. \newif\ifHy@pdfescapeform
  281. \newif\ifHy@hyperfigures
  282. \newif\ifHy@pdffitwindow
  283. \newif\ifHy@frenchlinks
  284. \newif\ifHy@hyperfootnotes
  285. \newif\ifHy@hyperindex
  286. \newif\ifHy@hypertexnames
  287. \newif\ifHy@implicit
  288. \newif\ifHy@linktocpage
  289. \newif\ifHy@localanchorname
  290. \newif\ifHy@pdfmenubar
  291. \newif\ifHy@naturalnames
  292. \newif\ifHy@nesting
  293. \newif\ifHy@pdfnewwindowset
  294. \newif\ifHy@pdfnewwindow
  295. \newif\ifHy@ocgcolorlinks
  296. \newif\ifHy@pageanchor
  297. \newif\ifHy@pdfpagelabels
  298. \newif\ifHy@pdfpagehidden
  299. \newif\ifHy@pdfstring
  300. \newif\ifHy@plainpages
  301. \newif\ifHy@psize
  302. \newif\ifHy@raiselinks
  303. \newif\ifHy@seminarslides
  304. \newif\ifHy@setpagesize
  305. \newif\ifHy@texht
  306. \newif\ifHy@psdextra
  307. \newif\ifHy@pdftoolbar
  308. \newif\ifHy@unicode
  309. \newif\ifHy@pdfusetitle
  310. \newif\ifHy@verbose
  311. \let\Hy@debugtrue\Hy@verbosetrue
  312. \let\Hy@debugfalse\Hy@verbosefalse
  313. \newif\ifHy@pdfwindowui
  314. \newif\ifHy@pdfdisplaydoctitle
  315. \newif\ifHy@pdfa
  316. \Hy@backreffalse
  317. \Hy@bookmarksnumberedfalse
  318. \Hy@bookmarksopenfalse
  319. \Hy@bookmarkstrue
  320. \Hy@breaklinksfalse
  321. \Hy@pdfcenterwindowfalse
  322. \Hy@CJKbookmarksfalse
  323. \Hy@destlabelfalse
  324. \Hy@pdfescapeformfalse
  325. \Hy@hyperfiguresfalse
  326. \Hy@pdffitwindowfalse
  327. \Hy@hyperfootnotestrue
  328. \Hy@hyperindextrue
  329. \Hy@hypertexnamestrue
  330. \Hy@implicittrue
  331. \Hy@linktocpagefalse
  332. \Hy@localanchornamefalse
  333. \Hy@pdfmenubartrue
  334. \Hy@naturalnamesfalse
  335. \Hy@nestingfalse
  336. \Hy@pdfnewwindowsetfalse
  337. \Hy@pdfnewwindowfalse
  338. \Hy@pageanchortrue
  339. \Hy@pdfpagelabelstrue
  340. \Hy@pdfpagehiddenfalse
  341. \Hy@pdfstringfalse
  342. \Hy@plainpagesfalse
  343. \Hy@raiselinksfalse
  344. \Hy@setpagesizetrue
  345. \Hy@texhtfalse
  346. \Hy@psdextrafalse
  347. \Hy@pdftoolbartrue
  348. \Hy@typexmlfalse
  349. \Hy@unicodefalse
  350. \Hy@pdfusetitlefalse
  351. \Hy@verbosefalse
  352. \Hy@pdfwindowuitrue
  353. \Hy@pdfdisplaydoctitlefalse
  354. \Hy@pdfafalse
  355. \def\Hy@StepCount#1{\advance#1 by 1 }%
  356. \def\Hy@GlobalStepCount#1{\global\advance#1 by 1 }%
  357. \newdimen\@linkdim
  358. \let\Hy@driver\ltx@empty
  359. \let\MaybeStopEarly\relax
  360. \newcount\Hy@linkcounter
  361. \newcount\Hy@pagecounter
  362. \Hy@linkcounter0
  363. \Hy@pagecounter0
  364. \let\Hy@ReturnEnd\@empty
  365. \long\def\Hy@ReturnAfterFiFiEnd#1\fi#2\Hy@ReturnEnd{\fi\fi#1}
  366. \long\def\Hy@ReturnAfterElseFiFiEnd#1\else#2\Hy@ReturnEnd{\fi\fi#1}
  367. \def\Hy@safe@activestrue{\csname @safe@activestrue\endcsname}
  368. \def\Hy@safe@activesfalse{\csname @safe@activesfalse\endcsname}
  369. \begingroup\expandafter\expandafter\expandafter\endgroup
  370. \expandafter\ifx\csname dimexpr\endcsname\relax
  371.   \def\hypercalcbpdef#1#2{%
  372.     \begingroup
  373.       \toks@{}%
  374.       \HyCal@scan#2\hypercalcbp\@nil
  375.     \expandafter\endgroup
  376.     \expandafter\def\expandafter#1\expandafter{\the\toks@}%
  377.   }%
  378.   \def\HyCal@scan#1\hypercalcbp#2\@nil{%
  379.     \toks@\expandafter{\the\toks@ #1}%
  380.     \ifx\\#2\\%
  381.     \else
  382.       \ltx@ReturnAfterFi{%
  383.         \HyCal@do#2\@nil
  384.       }%
  385.     \fi
  386.   }%
  387.   \def\HyCal@do#1#2\@nil{%
  388.     \@ifpackageloaded{calc}{}{%
  389.       \Hy@Warning{%
  390.         For calculations \string\hypercalcbp\space needs\MessageBreak
  391.         package calc or e-TeX%
  392.       }%
  393.     }%
  394.     \setlength{\dimen@}{#1}%
  395.     \setlength{\dimen@}{0.99626401\dimen@}%
  396.     \edef\x{%
  397.       \toks@{%
  398.         \the\toks@
  399.         \strip@pt\dimen@
  400.       }%
  401.     }\x
  402.     \HyCal@scan#2\@nil
  403.   }%
  404. \else
  405.   \def\hypercalcbp#1{%
  406.     \strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax
  407.   }%
  408.   \def\hypercalcbpdef{\def}%
  409. \fi
  410. \def\pdfstringdef#1#2{%
  411.   \begingroup
  412.     \escapechar`\\%
  413.     \edef\0{\string\0}%
  414.     \edef\1{\string\1}%
  415.     \edef\2{\string\2}%
  416.     \edef\3{\string\3}%
  417.     \ifHy@unicode
  418.       \edef\8{\string\8}%
  419.       \edef\9{\string\9}%
  420.       \fontencoding{PU}%
  421.       \HyPsd@UTFviii
  422.       \def\ifpdfstringunicode##1##2{##1}%
  423.     \else
  424.       \fontencoding{PD1}%
  425.       \def\ifpdfstringunicode##1##2{##2}%
  426.     \fi
  427.     \let\utf@viii@undeferr\HyPsd@utf@viii@undeferr
  428.     \enc@update
  429.     \@inmathwarn\pdfstringdef
  430.     \let\@inmathwarn\HyPsd@inmathwarn
  431.     \let\add@accent\HyPsd@add@accent
  432.     \let\{\textbraceleft
  433.    \let\}\textbraceright
  434.    \let\\\textbackslash
  435.    \let\#\textnumbersign
  436.    \let\$\textdollar
  437.    \let\%\textpercent
  438.    \let\&\textampersand
  439.    \let\_\textunderscore
  440.    \let\P\textparagraph
  441.    \let\ldots\textellipsis
  442.    \let\dots\textellipsis
  443.    \ltx@IfUndefined{textEncodingNoboundary}%
  444.       {}{\let\noboundary\textEncodingNoboundary}%
  445.     \def\\{\pdfstringdefWarn\\}%
  446.     \def\newline{\pdfstringdefWarn\newline}%
  447.     \def\TeX{TeX}%
  448.     \def\LaTeX{La\TeX}%
  449.     \def\LaTeXe{%
  450.       \LaTeX2%
  451.       \ifHy@unicode\textepsilon\else e\fi
  452.     }%
  453.     \def\eTeX{%
  454.       \ifHy@unicode\textepsilon\else e\fi
  455.       -\TeX%
  456.     }%
  457.     \def\SliTeX{Sli\TeX}%
  458.     \def\MF{Metafont}%
  459.     \def\MP{Metapost}%
  460.     \let\fontencoding\@gobble
  461.     \let\fontfamily\@gobble
  462.     \let\fontseries\@gobble
  463.     \let\fontshape\@gobble
  464.     \let\fontsize\@gobbletwo
  465.     \let\selectfont\@empty
  466.     \let\usefont\@gobblefour
  467.     \let\emph\@firstofone
  468.     \let\textnormal\@firstofone
  469.     \let\textrm\@firstofone
  470.     \let\textsf\@firstofone
  471.     \let\texttt\@firstofone
  472.     \let\textbf\@firstofone
  473.     \let\textmd\@firstofone
  474.     \let\textit\@firstofone
  475.     \let\textsc\@firstofone
  476.     \let\textsl\@firstofone
  477.     \let\textup\@firstofone
  478.     \let\normalfont\@empty
  479.     \let\rmfamily\@empty
  480.     \let\sffamily\@empty
  481.     \let\ttfamily\@empty
  482.     \let\bfseries\@empty
  483.     \let\mdseries\@empty
  484.     \let\itshape\@empty
  485.     \let\scshape\@empty
  486.     \let\slshape\@empty
  487.     \let\upshape\@empty
  488.     \let\em\@empty
  489.     \let\rm\@empty
  490.     \let\Huge\@empty
  491.     \let\LARGE\@empty
  492.     \let\Large\@empty
  493.     \let\footnotesize\@empty
  494.     \let\huge\@empty
  495.     \let\large\@empty
  496.     \let\normalsize\@empty
  497.     \let\scriptsize\@empty
  498.     \let\small\@empty
  499.     \let\tiny\@empty
  500.     \let\mathversion\@gobble
  501.     \let\phantom\@gobble
  502.     \let\vphantom\@gobble
  503.     \let\hphantom\@gobble
  504.     \let\ding\HyPsd@ding
  505.     \let\Cube\HyPsd@DieFace
  506.     \def\begin#1{\csname#1\endcsname}%
  507.     \def\end#1{\csname end#1\endcsname}%
  508.     \def\textcolor##1##{\@secondoftwo}%
  509.     \def\MakeUppercase{\MakeUppercaseUnsupportedInPdfStrings}%
  510.     \def\MakeLowercase{\MakeLowercaseUnsupportedInPdfStrings}%
  511.     \ifHy@psdextra
  512.       \ifHy@unicode
  513.         \csname psdmapshortnames\endcsname
  514.         \csname psdaliasnames\endcsname
  515.       \fi
  516.     \fi
  517.     \let\foreignlanguage\@secondoftwo
  518.     \let\textlatin\@firstofone
  519.     \ltx@IfUndefined{language@group}{}{%
  520.       \let\bbl@info\@gobble
  521.       \csname HyPsd@babel@\language@group\endcsname
  522.     }%
  523.     \HyPsd@GreekPatch
  524.     \HyPsd@SpanishPatch
  525.     \HyPsd@RussianPatch
  526.     \HyPsd@BabelPatch
  527.     \let\@safe@activestrue\relax
  528.     \let\@safe@activesfalse\relax
  529.     \let\cyr\relax
  530.     \let\es@roman\@Roman
  531.     \let\glqq\textglqq
  532.     \let\grqq\textgrqq
  533.     \let\glq\textglq
  534.     \let\grq\textgrq
  535.     \let\flqq\textflqq
  536.     \let\frqq\textfrqq
  537.     \let\flq\textflq
  538.     \let\frq\textfrq
  539.     \let\if@mid@expandable\@firstoftwo
  540.     \HyPsd@AMSclassfix
  541.     \let\hspace\HyPsd@hspace
  542.     \let\label\@gobble
  543.     \let\index\@gobble
  544.     \let\glossary\@gobble
  545.     \let\href\HyPsd@href
  546.     \let\@mkboth\@gobbletwo
  547.     \let\ref\HyPsd@ref
  548.     \let\pageref\HyPsd@pageref
  549.     \let\nameref\HyPsd@nameref
  550.     \let\autoref\HyPsd@autoref
  551.     \let\leavevmode\@empty
  552.     \let\mbox\@empty
  553.     \def\halign{\pdfstringdefWarn\halign\@gobble}%
  554.     \let\ignorespaces\HyPsd@ignorespaces
  555.     \let\Hy@SectionAnchorHref\@gobble
  556.     \let\ensuremath\@firstofone
  557.     \HyPsd@CJKhook
  558.     \Hy@pdfstringtrue
  559.     \pdfstringdefPreHook
  560.     \HyPsd@LetUnexpandableSpace\space
  561.     \HyPsd@LetUnexpandableSpace\ %
  562.     \HyPsd@LetUnexpandableSpace~%
  563.     \HyPsd@LetUnexpandableSpace\nobreakspace
  564.     \ltx@IfUndefined{@xspace}{%
  565.       \let\xspace\HyPsd@ITALCORR
  566.     }{%
  567.       \let\xspace\HyPsd@XSPACE
  568.     }%
  569.     \let\/\HyPsd@ITALCORR
  570.     \let\bgroup\/%
  571.     \let\egroup\/%
  572.     \let\discretionary\@gobbletwo
  573.     \def\@ifnextchar{\HyPsd@ifnextchar\@ifnextchar}%
  574.     \def\kernel@ifnextchar{\HyPsd@ifnextchar\kernel@ifnextchar}%
  575.     \def\new@ifnextchar{\HyPsd@ifnextchar\new@ifnextchar}%
  576.     \let\@protected@testopt\HyPsd@protected@testopt
  577.     \let\@protected@testopt@xargs\HyPsd@protected@testopt
  578.     \begingroup
  579.       \let\GenericError\@gobblefour
  580.       \let\GenericWarning\@gobbletwo
  581.       \let\GenericInfo\@gobbletwo
  582.       \ifx\nofrenchguillemets\@undefined
  583.       \else
  584.         \nofrenchguillemets
  585.       \fi
  586.       \let\Hy@temp\xdef
  587.       \let\def\HyPsd@DefCommand
  588.       \let\gdef\HyPsd@DefCommand
  589.       \let\edef\HyPsd@DefCommand
  590.       \let\xdef\HyPsd@DefCommand
  591.       \let\futurelet\HyPsd@LetCommand
  592.       \let\let\HyPsd@LetCommand
  593.       \Hy@temp#1{#2}%
  594.     \endgroup
  595.     \ifx#1\@empty
  596.     \else
  597.       \HyPsd@ProtectSpaces#1%
  598.       \let\HyPsd@String\@empty
  599.       \expandafter\HyPsd@RemoveBraces\expandafter{#1|}%
  600.       \global\let#1\HyPsd@String
  601.       \let\HyPsd@SPACEOPTI\relax
  602.       {%
  603.          \let\HyPsd@String\@empty
  604.          \expandafter\HyPsd@CheckCatcodes#1\HyPsd@End
  605.          \global\let#1\HyPsd@String
  606.       }%
  607.       \expandafter\HyPsd@RemoveMask\expandafter
  608.         |\expandafter\@empty#1\HyPsd@End#1%
  609.       \expandafter
  610.       \HyPsd@Subst\expandafter{\HyPsd@GLYPHERR}{\relax}#1%
  611.       \let\HyPsd@String\@empty
  612.       \expandafter\HyPsd@GlyphProcess#1\relax\@empty
  613.       \global\let#1\HyPsd@String
  614.       \HyPsd@StringSubst{\\}{\textbackslash}#1%
  615.       \ifHy@unicode
  616.         \expandafter\HyPsd@StringSubst\csname 80\040\endcsname
  617.           \HyPsd@SPACEOPTI#1%
  618.         \edef\Hy@temp@A{\HyPsd@SPACEOPTI\HyPsd@SPACEOPTI\80\273}%
  619.         \expandafter\HyPsd@Subst\expandafter{\Hy@temp@A}%
  620.           {\HyPsd@SPACEOPTI\80\273}#1%
  621.       \else
  622.         \HyPsd@StringSubst{\040}\HyPsd@SPACEOPTI#1%
  623.         \expandafter\HyPsd@Subst\expandafter{%
  624.           \expandafter\HyPsd@SPACEOPTI\expandafter\HyPsd@SPACEOPTI
  625.           \string\273}{\HyPsd@SPACEOPTI\273}#1%
  626.       \fi
  627.       \ifHy@unicode
  628.         \HyPsd@StringSubst{\)}{\80\051}#1%
  629.         \HyPsd@Subst){\80\051}#1%
  630.         \let\HyPsd@empty\relax
  631.         \expandafter\HyPsd@StringSubst\csname 80\051\endcsname
  632.           {\HyPsd@empty\80\051}#1%
  633.       \else
  634.         \HyPsd@StringSubst{\)}{\051}#1%
  635.         \HyPsd@Subst){\051}#1%
  636.         \let\HyPsd@empty\relax
  637.         \HyPsd@StringSubst{\051}{\HyPsd@empty\string\)}#1%
  638.       \fi
  639.       \expandafter\HyPsd@Subst\expandafter{\/}\HyPsd@empty#1%
  640.       \ltx@IfUndefined{@xspace}{%
  641.       }{%
  642.         \let\HyPsd@xspace\relax
  643.         \expandafter\HyPsd@Subst\expandafter
  644.           {\HyPsd@XSPACE}\HyPsd@xspace#1%
  645.         \let\HyPsd@xspace\HyPsd@doxspace
  646.       }%
  647.       \xdef#1{#1\HyPsd@empty}%
  648.       \HyPsd@Subst{---}\textemdash#1%
  649.       \HyPsd@Subst{--}\textendash#1%
  650.       \HyPsd@Subst{!`}\textexclamdown#1%
  651.       \HyPsd@Subst{?`}\textquestiondown#1%
  652.       \let\HyPsd@empty\@empty
  653.       \ifHy@unicode
  654.         \HyPsd@StringSubst\(\textparenleft#1%
  655.         \HyPsd@Subst(\textparenleft#1%
  656.       \else
  657.         \HyPsd@StringSubst\({\050}#1%
  658.         \HyPsd@Subst({\050}#1%
  659.         \HyPsd@StringSubst{\050}{\string\(}#1%
  660.       \fi
  661.       \ifHy@unicode
  662.         \edef\HyPsd@SPACEOPTI{\80\040}%
  663.       \else
  664.         \let\HyPsd@SPACEOPTI\HyPsd@spaceopti
  665.       \fi
  666.       \xdef#1{#1\@empty}%
  667.     \fi
  668.   \endgroup
  669.   \begingroup
  670.     \ifHy@unicode
  671.       \HyPsd@ConvertToUnicode#1%
  672.       \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
  673.         \ltx@IfUndefined{StringEncodingConvertTest}{%
  674.         }{%
  675.           \EdefUnescapeString\HyPsd@temp#1%
  676.           \ifxetex
  677.             \let\HyPsd@UnescapedString\HyPsd@temp
  678.             \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
  679.                                       {utf16be}{ascii-print}{%
  680.               \EdefEscapeString\HyPsd@temp\HyPsd@temp
  681.               \global\let#1\HyPsd@temp
  682.               \HyPsd@EscapeTeX#1%
  683.               \Hy@unicodefalse
  684.             }{%
  685.               \HyPsd@ToBigChars#1%
  686.               \HyPsd@EscapeTeX#1%
  687.             }%
  688.           \else
  689.             \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
  690.                                       {utf16be}{pdfdoc}{%
  691.               \EdefEscapeString\HyPsd@temp\HyPsd@temp
  692.               \global\let#1\HyPsd@temp
  693.               \HyPsd@EscapeTeX#1%
  694.               \Hy@unicodefalse
  695.             }{}%
  696.           \fi
  697.         }%
  698.       \fi
  699.     \fi
  700.     \HyPsd@XeTeXBigCharsfalse
  701.     \pdfstringdefPostHook#1%
  702.   \endgroup
  703. }
  704. \def\Hy@pdfstringdef#1#2{%
  705.   \pdfstringdef\Hy@gtemp{#2}%
  706.   \let#1\Hy@gtemp
  707. }
  708. \edef\Hy@temp{\catcode0=\the\catcode0\relax}
  709. \catcode\z@=12 %
  710. \ifxetex
  711.   \expandafter\@firstofone
  712. \else
  713.   \let\HyPsd@XeTeXBigCharstrue\@empty
  714.   \let\HyPsd@XeTeXBigCharsfalse\@empty
  715.   \expandafter\@gobble
  716. \fi
  717. {%
  718.   \newif\ifHyPsd@XeTeXBigChars
  719.   \def\HyPsd@XeTeXBigCharsfalse{%
  720.     \global\let\ifHyPsd@XeTeXBigChars\iffalse
  721.   }%
  722.   \def\HyPsd@XeTeXBigCharstrue{%
  723.     \global\let\ifHyPsd@XeTeXBigChars\iftrue
  724.   }%
  725.   \def\HyPsd@ToBigChars#1{%
  726.     \ifHyPsd@XeTeXBigChars
  727.       \EdefEscapeHex\HyPsd@UnescapedString{%
  728.         \expandafter\@gobbletwo\HyPsd@UnescapedString
  729.       }%
  730.       \begingroup
  731.         \toks@{}%
  732.         \escapechar=92\relax
  733.         \let\x\HyPsd@ToBigChar
  734.         \expandafter\HyPsd@ToBigChar\HyPsd@UnescapedString
  735.         \relax\relax\relax\relax\relax\relax\relax
  736.       \edef\x{%
  737.         \endgroup
  738.         \gdef\noexpand#1{\the\toks@}%
  739.       }%
  740.       \x
  741.     \fi
  742.   }%
  743.   \def\HyPsd@ToBigChar#1#2#3#4{%
  744.     \ifx\relax#1\relax
  745.       \let\x\relax
  746.     \else
  747.       \count@="#1#2#3#4\relax
  748.       \let\y\@empty
  749.       \lccode\z@=\count@
  750.       \ifnum\count@=40 % (
  751.         \let\y\@backslashchar
  752.       \else
  753.         \ifnum\count@=41 % )
  754.           \let\y\@backslashchar
  755.         \else
  756.           \ifnum\count@=92 % backslash
  757.             \let\y\@backslashchar
  758.           \else
  759.             \ifnum\count@=10 % newline
  760.               \edef\y##1{\string\n}%
  761.             \else
  762.               \ifnum\count@=13 % carriage return
  763.                 \edef\y##1{\string\r}%
  764.               \fi
  765.             \fi
  766.           \fi
  767.         \fi
  768.       \fi
  769.       \lowercase{%
  770.         \toks@\expandafter{%
  771.           \the\expandafter\toks@
  772.           \y
  773.           ^^@%
  774.         }%
  775.       }%
  776.     \fi
  777.     \x
  778.   }%
  779. }
  780. \Hy@temp
  781. \@ifpackageloaded{linguex}{%
  782.   \let\HyLinguex@OrgB\b
  783.   \let\HyLinguex@OrgC\c
  784.   \let\HyLinguex@OrgD\d
  785.   \def\HyLinguex@Restore{%
  786.     \let\b\HyLinguex@OrgB
  787.     \let\c\HyLinguex@OrgC
  788.     \let\d\HyLinguex@OrgD
  789.   }%
  790.   \Hy@AtEndOfPackage{%
  791.     \pdfstringdefDisableCommands{%
  792.       \ltx@IfUndefined{oldb}{}{\let\b\oldb}%
  793.       \ltx@IfUndefined{oldc}{}{\let\c\oldc}%
  794.       \ltx@IfUndefined{oldd}{}{\let\d\oldd}%
  795.     }%
  796.   }%
  797. }{%
  798.   \let\HyLinguex@Restore\relax
  799. }%
  800. \def\Hy@SaveCatcodeSettings#1{%
  801.   \expandafter\edef\csname Hy@cat@#1\endcsname{%
  802.     \endlinechar=\the\endlinechar\relax
  803.     \catcode32 \the\catcode32\relax % (space)
  804.     \catcode34 \the\catcode34\relax % "
  805.     \catcode35 \the\catcode35\relax % #
  806.     \catcode37 \the\catcode37\relax % (percent)
  807.     \catcode40 \the\catcode40\relax % (
  808.     \catcode41 \the\catcode41\relax % )
  809.     \catcode42 \the\catcode42\relax % *
  810.     \catcode46 \the\catcode46\relax % .
  811.     \catcode58 \the\catcode58\relax % :
  812.     \catcode60 \the\catcode60\relax % <
  813.     \catcode61 \the\catcode61\relax % =
  814.     \catcode62 \the\catcode62\relax % >
  815.     \catcode64 \the\catcode64\relax % @
  816.     \catcode91 \the\catcode91\relax % [
  817.     \catcode92 \the\catcode92\relax % \
  818.     \catcode93 \the\catcode93\relax % ]
  819.     \catcode123 \the\catcode123\relax % {
  820.     \catcode124 \the\catcode124\relax % |
  821.     \catcode125 \the\catcode125\relax % }
  822.   }%
  823.   \endlinechar=-1 %
  824.   \catcode32 10 % (space)
  825.   \catcode34 12 % "
  826.   \catcode35 6 % #
  827.   \catcode37 14 % (percent)
  828.   \catcode40 12 % (
  829.   \catcode41 12 % )
  830.   \catcode42 12 % *
  831.   \catcode46 12 % .
  832.   \catcode58 12 % :
  833.   \catcode60 12 % <
  834.   \catcode61 12 % =
  835.   \catcode62 12 % >
  836.   \catcode91 12 % [
  837.   \catcode92 0 % \
  838.   \catcode93 12 % ]
  839.   \catcode123 1 % {
  840.   \catcode124 12 % |
  841.   \catcode125 2 % }
  842.   \makeatletter
  843. }
  844. \def\Hy@RestoreCatcodeSettings#1{%
  845.   \csname Hy@cat@#1\endcsname
  846.   \expandafter\let\csname Hy@cat@#1\endcsname\relax
  847. }
  848. \@ifundefined{T@PD1}{%
  849.   \Hy@SaveCatcodeSettings{pd1}%
  850.   \input{pd1enc.def}%
  851.   \Hy@RestoreCatcodeSettings{pd1}%
  852.   \HyLinguex@Restore
  853. }{}
  854. \DeclareFontFamily{PD1}{pdf}{}
  855. \DeclareFontShape{PD1}{pdf}{m}{n}{ <-> cmr10 }{}
  856. \DeclareFontSubstitution{PD1}{pdf}{m}{n}
  857. \def\HyPsd@LoadUnicode{%
  858.   \@ifundefined{T@PU}{%
  859.     \Hy@SaveCatcodeSettings{pu}%
  860.     \input{puenc.def}%
  861.     \Hy@RestoreCatcodeSettings{pu}%
  862.     \HyLinguex@Restore
  863.   }{}%
  864.   \DeclareFontFamily{PU}{pdf}{}%
  865.   \DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}%
  866.   \DeclareFontSubstitution{PU}{pdf}{m}{n}%
  867.   \HyPsd@LoadExtra
  868.   \let\HyPsd@LoadUnicode\relax
  869. }
  870. \def\HyPsd@LoadExtra{%
  871.   \ifHy@psdextra
  872.     \ltx@iffileloaded{puenc.def}{%
  873.       \Hy@SaveCatcodeSettings{psdextra}%
  874.       \input{psdextra.def}%
  875.       \Hy@RestoreCatcodeSettings{psdextra}%
  876.       \let\HyPsd@LoadExtra\relax
  877.     }{}%
  878.   \fi
  879. }
  880. \def\texorpdfstring{%
  881.    \ifHy@pdfstring
  882.      \expandafter\@secondoftwo
  883.    \else
  884.      \expandafter\@firstoftwo
  885.    \fi
  886. }
  887. \@ifundefined{pdfstringdefPreHook}{%
  888.   \let\pdfstringdefPreHook\@empty
  889. }{}
  890. \@ifundefined{pdfstringdefPostHook}{%
  891.   \let\pdfstringdefPostHook\@gobble
  892. }{}
  893. \def\pdfstringdefDisableCommands{%
  894.   \begingroup
  895.     \makeatletter
  896.     \HyPsd@DisableCommands
  897. }
  898. \long\def\HyPsd@DisableCommands#1{%
  899.     \ltx@GlobalAppendToMacro\pdfstringdefPreHook{#1}%
  900.   \endgroup
  901. }
  902. \let\HyPsd@pdfstringdefDisableCommands\pdfstringdefDisableCommands
  903. \AtBeginDocument{%
  904.   \@ifundefined{pdfstringdefDisableCommands}{%
  905.     \let\pdfstringdefDisableCommands\HyPsd@pdfstringdefDisableCommands
  906.   }{}%
  907. }
  908. \def\pdfstringdefWarn#1{%
  909.    \expandafter\noexpand\csname<>-\string#1\endcsname
  910. }
  911. \begingroup
  912.   \catcode0=12 %
  913.   \def\x{\endgroup
  914.     \def\HyPsd@ignorespaces{%
  915.       \romannumeral\expandafter`\expandafter^^@%
  916.       \romannumeral`^^@%
  917.     }%
  918.   }%
  919. \x
  920. \def\HyPsd@BabelPatch{%
  921.   \let\HyOrg@languageshorthands\languageshorthands
  922.   \let\languageshorthands\HyPsd@LanguageShorthands
  923. }
  924. \begingroup\expandafter\expandafter\expandafter\endgroup
  925. \expandafter\ifx\csname pdf@strcmp\endcsname\relax
  926.   \let\HyPsd@langshort@system\@empty
  927.   \def\HyPsd@LanguageShorthands#1{%
  928.     \expandafter\ifx\csname HyPsd@langshort@#1\endcsname
  929.                     \HyPsd@langshort@system
  930.       \expandafter\@gobble
  931.     \else
  932.       \expandafter\@firstofone
  933.     \fi
  934.     {%
  935.       \HyOrg@languageshorthands{#1}%
  936.     }%
  937.   }%
  938. \else
  939.   \def\HyPsd@LanguageShorthands#1{%
  940.     \ifnum\pdf@strcmp{#1}{system}=\z@
  941.       \expandafter\@gobble
  942.     \else
  943.       \expandafter\@firstofone
  944.     \fi
  945.     {%
  946.       \HyOrg@languageshorthands{#1}%
  947.     }%
  948.   }%
  949. \fi
  950. \def\Hy@temp{%
  951.   \@ifpackageloaded{babel}{%
  952.     \@ifpackagelater{babel}{2008/03/16}{%
  953.       \let\Hy@temp\@empty
  954.     }{%
  955.       \def\HyPsd@BabelPatch{%
  956.         \let\HyOrg@languageshorthands\languageshorthands
  957.       }%
  958.     }%
  959.   }{}%
  960. }
  961. \Hy@temp
  962. \expandafter\Hy@AtBeginDocument\expandafter{\Hy@temp}
  963. \newif\ifHy@next
  964. \ltx@IfUndefined{danish@sh@"@sel}{}{%
  965.   \def\HyPsd@babel@danish{%
  966.     \declare@shorthand{danish}{"|}{}%
  967.     \declare@shorthand{danish}{"~}{-}%
  968.   }%
  969. }
  970. \ltx@IfUndefined{dutch@sh@"@sel}{}{%
  971.   \def\HyPsd@babel@dutch{%
  972.     \declare@shorthand{dutch}{"|}{}%
  973.     \declare@shorthand{dutch}{"~}{-}%
  974.   }%
  975. }
  976. \ltx@IfUndefined{finnish@sh@"@sel}{}{%
  977.   \def\HyPsd@babel@finnish{%
  978.     \declare@shorthand{finnish}{"|}{}%
  979.   }%
  980. }
  981. \ltx@IfUndefined{french@sh@:@sel}{}{%
  982.   \def\HyPsd@babel@frenchb{%
  983.     \def\guill@spacing{ }%
  984.   }%
  985. }
  986. \ltx@IfUndefined{german@sh@"@sel}{}{%
  987.   \def\HyPsd@babel@german{%
  988.     \declare@shorthand{german}{"f}{f}%
  989.     \declare@shorthand{german}{"|}{}%
  990.     \declare@shorthand{german}{"~}{-}%
  991.   }%
  992. }
  993. \ltx@IfUndefined{macedonian@sh@"@sel}{}{%
  994.   \def\HyPsd@babel@macedonian{%
  995.     \declare@shorthand{macedonian}{"|}{}%
  996.     \declare@shorthand{macedonian}{"~}{-}%
  997.   }%
  998. }{}
  999. \ltx@IfUndefined{ngerman@sh@"@sel}{}{%
  1000.   \def\HyPsd@babel@ngerman{%
  1001.     \declare@shorthand{ngerman}{"|}{}%
  1002.     \declare@shorthand{ngerman}{"~}{-}%
  1003.   }%
  1004. }
  1005. \ltx@IfUndefined{portuges@sh@"@sel}{}{%
  1006.   \def\HyPsd@babel@portuges{%
  1007.     \declare@shorthand{portuges}{"|}{}%
  1008.   }%
  1009. }
  1010. \ltx@IfUndefined{russian@sh@"@sel}{}{%
  1011.   \def\HyPsd@babel@russian{%
  1012.     \declare@shorthand{russian}{"|}{}%
  1013.     \declare@shorthand{russian}{"~}{-}%
  1014.   }%
  1015. }
  1016. \ltx@IfUndefined{slovene@sh@"@sel}{}{%
  1017.   \def\HyPsd@babel@slovene{%
  1018.     \declare@shorthand{slovene}{"|}{}%
  1019.   }%
  1020. }
  1021. \ltx@IfUndefined{spanish@sh@>@sel}{}{%
  1022.   \def\HyPsd@babel@spanish{%
  1023.     \declare@shorthand{spanish}{<<}{\guillemotleft}%
  1024.     \declare@shorthand{spanish}{>>}{\guillemotright}%
  1025.     \declare@shorthand{spanish}{"=}{-}%
  1026.     \declare@shorthand{spanish}{"~}{-}%
  1027.     \declare@shorthand{spanish}{"!}{\textexclamdown}%
  1028.     \declare@shorthand{spanish}{"?}{\textquestiondown}%
  1029.   }%
  1030. }
  1031. \ltx@IfUndefined{swedish@sh@"@sel}{}{%
  1032.   \def\HyPsd@babel@swedish{%
  1033.     \declare@shorthand{swedish}{"|}{}%
  1034.     \declare@shorthand{swedish}{"~}{-}%
  1035.   }%
  1036. }
  1037. \ltx@IfUndefined{ukrainian@sh@"@sel}{}{%
  1038.   \def\HyPsd@babel@ukrainian{%
  1039.     \declare@shorthand{ukrainian}{"|}{}%
  1040.     \declare@shorthand{ukrainian}{"~}{-}%
  1041.   }%
  1042. }
  1043. \ltx@IfUndefined{usorbian@sh@"@sel}{}{%
  1044.   \def\HyPsd@babel@usorbian{%
  1045.     \declare@shorthand{usorbian}{"f}{f}%
  1046.     \declare@shorthand{usorbian}{"|}{}%
  1047.   }%
  1048. }
  1049. \ltx@IfUndefined{greek@sh@\string~@sel}{%
  1050.   \let\HyPsd@GreekPatch\@empty
  1051. }{%
  1052.   \def\HyPsd@GreekPatch{%
  1053.     \let\greeknumeral\HyPsd@greeknumeral
  1054.     \let\Greeknumeral\HyPsd@Greeknumeral
  1055.   }%
  1056. }
  1057. \def\HyPsd@greeknumeral#1{%
  1058.   \HyPsd@GreekNum\@firstoftwo{#1}%
  1059. }
  1060. \def\HyPsd@Greeknumeral#1{%
  1061.   \HyPsd@GreekNum\@secondoftwo{#1}%
  1062. }
  1063. \def\HyPsd@GreekNum#1#2{%
  1064.   \ifHy@unicode
  1065.     \ifnum#2<\@ne
  1066.       \@arabic{#2}%
  1067.     \else
  1068.       \ifnum#2<1000000 %
  1069.         \HyPsd@@GreekNum#1{#2}%
  1070.       \else
  1071.         \@arabic{#2}%
  1072.       \fi
  1073.     \fi
  1074.   \else
  1075.     \@arabic{#2}%
  1076.   \fi
  1077. }
  1078. \def\HyPsd@@GreekNum#1#2{%
  1079.   \ifnum#2<\@m
  1080.     \ifnum#2<10 %
  1081.       \expandafter\HyPsd@GreekNumI
  1082.           \expandafter\@gobble\expandafter#1\number#2%
  1083.     \else
  1084.       \ifnum#2<100 %
  1085.         \expandafter\HyPsd@GreekNumII
  1086.             \expandafter\@gobble\expandafter#1\number#2%
  1087.       \else
  1088.         \expandafter\HyPsd@GreekNumIII
  1089.             \expandafter\@gobble\expandafter#1\number#2%
  1090.       \fi
  1091.     \fi
  1092.     \ifnum#2>\z@
  1093.       \textnumeralsigngreek
  1094.     \fi
  1095.   \else
  1096.     \ifnum#2<\@M
  1097.       \expandafter\HyPsd@GreekNumIV\expandafter#1\number#2%
  1098.     \else
  1099.       \ifnum#2<100000 %
  1100.         \expandafter\HyPsd@GreekNumV\expandafter#1\number#2%
  1101.       \else
  1102.         \expandafter\HyPsd@GreekNumVI\expandafter#1\number#2%
  1103.       \fi
  1104.     \fi
  1105.   \fi
  1106. }
  1107. \def\HyPsd@GreekNumI#1#2#3{%
  1108.   #1{%
  1109.     \ifnum#3>\z@
  1110.       \textnumeralsignlowergreek
  1111.     \fi
  1112.   }%
  1113.   \expandafter#2%
  1114.   \ifcase#3 %
  1115.     {}{}%
  1116.   \or\textalpha\textAlpha
  1117.   \or\textbeta\textBeta
  1118.   \or\textgamma\textGamma
  1119.   \or\textdelta\textDelta
  1120.   \or\textepsilon\textEpsilon
  1121.   \or\textstigmagreek\textStigmagreek
  1122.   \or\textzeta\textZeta
  1123.   \or\texteta\textEta
  1124.   \or\texttheta\textTheta
  1125.   \else
  1126.     {}{}%
  1127.   \fi
  1128. }
  1129. \def\HyPsd@GreekNumII#1#2#3#4{%
  1130.   #1{%
  1131.     \ifnum#3>\z@
  1132.       \textnumeralsignlowergreek
  1133.     \fi
  1134.   }%
  1135.   \expandafter#2%
  1136.   \ifcase#3 %
  1137.     {}{}%
  1138.   \or\textiota\textIota
  1139.   \or\textkappa\textKappa
  1140.   \or\textlambda\textLambda
  1141.   \or\textmu\textMu
  1142.   \or\textnu\textNu
  1143.   \or\textxi\textXi
  1144.   \or\textomicron\textOmicron
  1145.   \or\textpi\textPi
  1146.   \or\textkoppagreek\textKoppagreek
  1147.   \else
  1148.     {}{}%
  1149.   \fi
  1150.   \HyPsd@GreekNumI#1#2#4%
  1151. }
  1152. \def\HyPsd@GreekNumIII#1#2#3#4#5{%
  1153.   #1{%
  1154.     \ifnum#3>\z@
  1155.       \textnumeralsignlowergreek
  1156.     \fi
  1157.   }%
  1158.   \expandafter#2%
  1159.   \ifcase#3 %
  1160.     {}{}%
  1161.   \or\textrho\textRho
  1162.   \or\textsigma\textSigma
  1163.   \or\texttau\textTau
  1164.   \or\textupsilon\textUpsilon
  1165.   \or\textphi\textPhi
  1166.   \or\textchi\textChi
  1167.   \or\textpsi\textPsi
  1168.   \or\textomega\textOmega
  1169.   \or\textsampigreek\textSampigreek
  1170.   \else
  1171.     {}{}%
  1172.   \fi
  1173.   \HyPsd@GreekNumII#1#2#4#5%
  1174. }
  1175. \def\HyPsd@GreekNumIV#1#2#3#4#5{%
  1176.   \HyPsd@GreekNumI\@firstofone#1#2%
  1177.   \HyPsd@@GreekNum#1{#3#4#5}%
  1178. }
  1179. \def\HyPsd@GreekNumV#1#2#3#4#5#6{%
  1180.   \HyPsd@GreekNumII\@firstofone#1#2#3%
  1181.   \HyPsd@@GreekNum#1{#4#5#6}%
  1182. }
  1183. \def\HyPsd@GreekNumVI#1#2#3#4#5#6#7{%
  1184.   \HyPsd@GreekNumIII\@firstofone#1#2#3#4%
  1185.   \HyPsd@@GreekNum#1{#5#6#7}%
  1186. }
  1187. \def\HyPsd@SpanishPatch{%
  1188.   \ltx@IfUndefined{es@save@dot}{%
  1189.   }{%
  1190.     \let\.\es@save@dot
  1191.   }%
  1192. }
  1193. \def\HyPsd@RussianPatch{%
  1194.   \ltx@IfUndefined{russian@sh@"@-@}{%
  1195.   }{%
  1196.     \@namedef{russian@sh@"@-@}{-}%
  1197.   }%
  1198. }
  1199. \RequirePackage{intcalc}[2007/09/27]
  1200. \def\HyPsd@CJKhook{%
  1201.   \ltx@ifpackageloaded{CJK}{%
  1202.     \let\CJK@kern\relax
  1203.     \let\CJKkern\relax
  1204.     \let\CJK@CJK\relax
  1205.     \ifHy@CJKbookmarks
  1206.       \HyPsd@CJKhook@bookmarks
  1207.     \fi
  1208.     \HyPsd@CJKhook@unicode
  1209.   }{}%
  1210. }
  1211. \begingroup
  1212.   \catcode"7F=\active
  1213.   \toks@{%
  1214.     \let\CJK@ignorespaces\empty
  1215.     \def\CJK@char#1{\@gobbletwo}%
  1216.     \let\CJK@charx\@gobblefour
  1217.     \let\CJK@punctchar\@gobblefour
  1218.     \def\CJK@punctcharx#1{\@gobblefour}%
  1219.     \catcode"7F=\active
  1220.     \def^^7f#1^^7f#2^^7f{%
  1221.       \string #1\HyPsd@DecimalToOctal{#2}%
  1222.     }%
  1223.     % ... ?
  1224.     \ifHy@unicode
  1225.       \def\Hy@cjkpu{\80}%
  1226.     \else
  1227.       \let\Hy@cjkpu\@empty
  1228.     \fi
  1229.     \HyPsd@CJKActiveChars
  1230.   }%
  1231.   \count@=127 %
  1232.   \@whilenum\count@<255 \do{%
  1233.     \advance\count@ by 1 %
  1234.     \lccode`\~=\count@
  1235.     \lowercase{%
  1236.       \toks@\expandafter{\the\toks@ ~}%
  1237.     }%
  1238.   }%
  1239.   \toks@\expandafter{\the\toks@ !}%
  1240.   \xdef\HyPsd@CJKhook@bookmarks{%
  1241.     \the\toks@
  1242.   }%
  1243. \endgroup
  1244. \def\HyPsd@CJKActiveChars#1{%
  1245.   \ifx#1!%
  1246.     \let\HyPsd@CJKActiveChars\relax
  1247.   \else
  1248.     \edef#1{\noexpand\Hy@cjkpu\string#1}%
  1249.   \fi
  1250.   \HyPsd@CJKActiveChars
  1251. }
  1252. \def\HyPsd@DecimalToOctal#1{%
  1253.   \ifcase #1 %
  1254.         \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007%
  1255.     \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017%
  1256.     \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027%
  1257.     \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037%
  1258.     \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047%
  1259.     \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057%
  1260.     \or    0\or    1\or    2\or    3\or    4\or    5\or    6\or    7%
  1261.     \or    8\or    9\or \072\or \073\or \074\or \075\or \076\or \077%
  1262.     \or    @\or    A\or    B\or    C\or    D\or    E\or    F\or    G%
  1263.     \or    H\or    I\or    J\or    K\or    L\or    M\or    N\or    O%
  1264.     \or    P\or    Q\or    R\or    S\or    T\or    U\or    V\or    W%
  1265.     \or    X\or    Y\or    Z\or \133\or \134\or \135\or \136\or \137%
  1266.     \or \140\or    a\or    b\or    c\or    d\or    e\or    f\or    g%
  1267.     \or    h\or    i\or    j\or    k\or    l\or    m\or    n\or    o%
  1268.     \or    p\or    q\or    r\or    s\or    t\or    u\or    v\or    w%
  1269.     \or    x\or    y\or    z\or \173\or \174\or \175\or \176\or \177%
  1270.     \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207%
  1271.     \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217%
  1272.     \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227%
  1273.     \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237%
  1274.     \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247%
  1275.     \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257%
  1276.     \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267%
  1277.     \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277%
  1278.     \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307%
  1279.     \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317%
  1280.     \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327%
  1281.     \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337%
  1282.     \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347%
  1283.     \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357%
  1284.     \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367%
  1285.     \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377%
  1286.   \fi
  1287. }
  1288. \def\HyPsd@CJKhook@unicode{%
  1289.   \let\Unicode\HyPsd@CJK@Unicode
  1290.   \let\CJKnumber\HyPsd@CJKnumber
  1291.   \let\CJKdigits\HyPsd@CJKdigits
  1292. }
  1293. \def\HyPsd@CJK@Unicode#1#2{%
  1294.   \ifnum#1<256 %
  1295.     \HyPsd@DecimalToOctalFirst{#1}%
  1296.     \HyPsd@DecimalToOctalSecond{#2}%
  1297.   \else
  1298.     \933%
  1299.     \expandafter\expandafter\expandafter\HyPsd@HighA
  1300.     \intcalcDiv{#1}{4}!%
  1301.     \933%
  1302.     \ifcase\intcalcMod{#1}{4} %
  1303.       4\or 5\or 6\or 7%
  1304.     \fi
  1305.     \HyPsd@DecimalToOctalSecond{#2}%
  1306.   \fi
  1307. }
  1308. \def\HyPsd@HighA#1!{%
  1309.   \expandafter\expandafter\expandafter\HyPsd@HighB
  1310.   \IntCalcDiv#1!64!!%
  1311.   \expandafter\expandafter\expandafter\HyPsd@HighD
  1312.   \IntCalcMod#1!64!!%
  1313. }
  1314. \def\HyPsd@HighB#1!{%
  1315.   \expandafter\expandafter\expandafter\HyPsd@HighC
  1316.   \IntCalcDec#1!!%
  1317. }
  1318. \def\HyPsd@HighC#1!{%
  1319.   \IntCalcDiv#1!4!%
  1320.   \@backslashchar
  1321.   \IntCalcMod#1!4!%
  1322. }
  1323. \def\HyPsd@HighD#1!{%
  1324.   \ifcase\IntCalcDiv#1!8! %
  1325.     0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
  1326.   \fi
  1327.   \ifcase\IntCalcMod#1!8! %
  1328.     0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
  1329.   \fi
  1330. }
  1331. \def\HyPsd@DecimalToOctalFirst#1{%
  1332.   \9%
  1333.   \ifcase#1 %
  1334.         000\or 001\or 002\or 003\or 004\or 005\or 006\or 007%
  1335.     \or 010\or 011\or 012\or 013\or 014\or 015\or 016\or 017%
  1336.     \or 020\or 021\or 022\or 023\or 024\or 025\or 026\or 027%
  1337.     \or 030\or 031\or 032\or 033\or 034\or 035\or 036\or 037%
  1338.     \or 040\or 041\or 042\or 043\or 044\or 045\or 046\or 047%
  1339.     \or 050\or 051\or 052\or 053\or 054\or 055\or 056\or 057%
  1340.     \or 060\or 061\or 062\or 063\or 064\or 065\or 066\or 067%
  1341.     \or 070\or 071\or 072\or 073\or 074\or 075\or 076\or 077%
  1342.     \or 100\or 101\or 102\or 103\or 104\or 105\or 106\or 107%
  1343.     \or 120\or 111\or 112\or 113\or 114\or 115\or 116\or 117%
  1344.     \or 120\or 121\or 122\or 123\or 124\or 125\or 126\or 127%
  1345.     \or 130\or 131\or 132\or 133\or 134\or 135\or 136\or 137%
  1346.     \or 140\or 141\or 142\or 143\or 144\or 145\or 146\or 147%
  1347.     \or 150\or 151\or 152\or 153\or 154\or 155\or 156\or 157%
  1348.     \or 160\or 161\or 162\or 163\or 164\or 165\or 166\or 167%
  1349.     \or 170\or 171\or 172\or 173\or 174\or 175\or 176\or 177%
  1350.     \or 200\or 201\or 202\or 203\or 204\or 205\or 206\or 207%
  1351.     \or 210\or 211\or 212\or 213\or 214\or 215\or 216\or 217%
  1352.     \or 220\or 221\or 222\or 223\or 224\or 225\or 226\or 227%
  1353.     \or 230\or 231\or 232\or 233\or 234\or 235\or 236\or 237%
  1354.     \or 240\or 241\or 242\or 243\or 244\or 245\or 246\or 247%
  1355.     \or 250\or 251\or 252\or 253\or 254\or 255\or 256\or 257%
  1356.     \or 260\or 261\or 262\or 263\or 264\or 265\or 266\or 267%
  1357.     \or 270\or 271\or 272\or 273\or 274\or 275\or 276\or 277%
  1358.     \or 300\or 301\or 302\or 303\or 304\or 305\or 306\or 307%
  1359.     \or 310\or 311\or 312\or 313\or 314\or 315\or 316\or 317%
  1360.     \or 320\or 321\or 322\or 323\or 324\or 325\or 326\or 327%
  1361.     \or 330\or 331\or 332\or 333\or 334\or 335\or 336\or 337%
  1362.     \or 340\or 341\or 342\or 343\or 344\or 345\or 346\or 347%
  1363.     \or 350\or 351\or 352\or 353\or 354\or 355\or 356\or 357%
  1364.     \or 360\or 361\or 362\or 363\or 364\or 365\or 366\or 367%
  1365.     \or 370\or 371\or 372\or 373\or 374\or 375\or 376\or 377%
  1366.   \fi
  1367. }
  1368. \def\HyPsd@DecimalToOctalSecond#1{%
  1369.   \ifcase #1 %
  1370.         \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007%
  1371.     \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017%
  1372.     \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027%
  1373.     \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037%
  1374.     \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047%
  1375.     \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057%
  1376.     \or \060\or \061\or \062\or \063\or \064\or \065\or \066\or \067%
  1377.     \or \070\or \071\or \072\or \073\or \074\or \075\or \076\or \077%
  1378.     \or \100\or \101\or \102\or \103\or \104\or \105\or \106\or \107%
  1379.     \or \110\or \111\or \112\or \113\or \114\or \115\or \116\or \117%
  1380.     \or \120\or \121\or \122\or \123\or \124\or \125\or \126\or \127%
  1381.     \or \130\or \131\or \132\or \133\or \134\or \135\or \136\or \137%
  1382.     \or \140\or \141\or \142\or \143\or \144\or \145\or \146\or \147%
  1383.     \or \150\or \151\or \152\or \153\or \154\or \155\or \156\or \157%
  1384.     \or \160\or \161\or \162\or \163\or \164\or \165\or \166\or \167%
  1385.     \or \170\or \171\or \172\or \173\or \174\or \175\or \176\or \177%
  1386.     \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207%
  1387.     \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217%
  1388.     \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227%
  1389.     \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237%
  1390.     \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247%
  1391.     \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257%
  1392.     \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267%
  1393.     \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277%
  1394.     \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307%
  1395.     \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317%
  1396.     \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327%
  1397.     \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337%
  1398.     \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347%
  1399.     \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357%
  1400.     \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367%
  1401.     \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377%
  1402.   \fi
  1403. }
  1404. \def\HyPsd@CJKnumber#1{%
  1405.   \ifnum#1<\z@
  1406.     \CJK@minus
  1407.     \expandafter\HyPsd@@CJKnumber\expandafter{\number-\number#1}%
  1408.   \else
  1409.     \expandafter\HyPsd@@CJKnumber\expandafter{\number#1}%
  1410.   \fi
  1411. }
  1412. \def\HyPsd@@CJKnumber#1{%
  1413.   \ifcase#1 %
  1414.     \CJK@zero\or\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
  1415.     \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine\or
  1416.     \CJK@ten\or\CJK@ten\CJK@one\or\CJK@ten\CJK@two\or
  1417.     \CJK@ten\CJK@three\or\CJK@ten\CJK@four\or\CJK@ten\CJK@five\or
  1418.     \CJK@ten\CJK@six\or\CJK@ten\CJK@seven\or\CJK@ten\CJK@eight\or
  1419.     \CJK@ten\CJK@nine
  1420.   \else
  1421.     \ifnum#1<10000 %
  1422.       \HyPsd@CJKnumberFour#1!\@empty{20}%
  1423.       \@empty
  1424.     \else
  1425.       \ifnum#1<100000000 %
  1426.         \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
  1427.           \IntCalcDiv#1!10000!%
  1428.         !{}{20}%
  1429.         \CJK@tenthousand
  1430.         \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
  1431.           \IntCalcMod#1!10000!%
  1432.         !\CJK@zero{10}%
  1433.         \@empty
  1434.       \else
  1435.         \expandafter\HyPsd@CJKnumberLarge
  1436.         \number\IntCalcDiv#1!100000000!\expandafter!%
  1437.         \number\IntCalcMod#1!100000000!!%
  1438.       \fi
  1439.     \fi
  1440.   \fi
  1441. }
  1442. \def\HyPsd@CJKnumberLarge#1!#2!{%
  1443.   \HyPsd@CJKnumberFour#1!{}{20}%
  1444.   \CJK@hundredmillion
  1445.   \ifnum#2=\z@
  1446.   \else
  1447.     \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
  1448.       \IntCalcDiv#2!10000!%
  1449.     !\CJK@zero{10}%
  1450.     \CJK@tenthousand
  1451.     \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
  1452.       \IntCalcMod#2!10000!%
  1453.     !\CJK@zero{10}%
  1454.     \@empty
  1455.   \fi
  1456. }
  1457. \def\HyPsd@CJKnumberFour#1!#2#3{%
  1458.   \ifnum#1=\z@
  1459.     \expandafter\@gobble
  1460.   \else
  1461.     \ifnum#1<1000 %
  1462.       #2%
  1463.       \HyPsd@CJKnumberThree#1!{}{#3}%
  1464.     \else
  1465.       \HyPsd@@CJKnumber{\IntCalcDiv#1!1000!}%
  1466.       \CJK@thousand
  1467.       \expandafter\expandafter\expandafter\HyPsd@CJKnumberThree
  1468.         \IntCalcMod#1!1000!%
  1469.       !\CJK@zero{10}%
  1470.     \fi
  1471.   \fi
  1472. }
  1473. \def\HyPsd@CJKnumberThree#1!#2#3{%
  1474.   \ifnum#1=\z@
  1475.   \else
  1476.     \ifnum#1<100 %
  1477.       #2%
  1478.       \HyPsd@CJKnumberTwo#1!{}{#3}%
  1479.     \else
  1480.       \HyPsd@@CJKnumber{\IntCalcDiv#1!100!}%
  1481.       \CJK@hundred
  1482.       \expandafter\expandafter\expandafter\HyPsd@CJKnumberTwo
  1483.         \IntCalcMod#1!100!%
  1484.       !\CJK@zero{10}%
  1485.     \fi
  1486.   \fi
  1487. }
  1488. \def\HyPsd@CJKnumberTwo#1!#2#3{%
  1489.   \ifnum#1=\z@
  1490.   \else
  1491.     \ifnum#1<#3 %
  1492.       #2%
  1493.       \HyPsd@@CJKnumber{#1}%
  1494.     \else
  1495.       \HyPsd@@CJKnumber{\IntCalcDiv#1!10!}%
  1496.       \CJK@ten
  1497.       \ifnum\IntCalcMod#1!10!=\z@
  1498.       \else
  1499.         \HyPsd@@CJKnumber{\IntCalcMod#1!10!}%
  1500.       \fi
  1501.     \fi
  1502.   \fi
  1503. }
  1504. \def\HyPsd@CJKdigits#1{%
  1505.   \ifx*#1\relax
  1506.     \expandafter\HyPsd@@CJKdigits\expandafter\CJK@zero
  1507.   \else
  1508.     \HyPsd@@CJKdigits\CJK@null{#1}%
  1509.   \fi
  1510. }
  1511. \def\HyPsd@@CJKdigits#1#2{%
  1512.   \ifx\\#2\\%
  1513.   \else
  1514.     \HyPsd@@@CJKdigits#1#2\@nil
  1515.   \fi
  1516. }%
  1517. \def\HyPsd@@@CJKdigits#1#2#3\@nil{%
  1518.   \HyPsd@CJKdigit#1{#2}%
  1519.   \ifx\\#3\\%
  1520.     \expandafter\@gobble
  1521.   \else
  1522.     \expandafter\@firstofone
  1523.   \fi
  1524.   {%
  1525.     \HyPsd@@@CJKdigits#1#3\@nil
  1526.   }%
  1527. }
  1528. \def\HyPsd@CJKdigit#1#2{%
  1529.   \ifcase#2 %
  1530.     #1\or
  1531.     \CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
  1532.     \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine
  1533.   \fi
  1534. }
  1535. \def\HyPsd@inmathwarn#1#2{%
  1536.   \ifx#2\expandafter
  1537.     \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
  1538.       \HyPsd@GLYPHERR
  1539.       \expandafter\@gobble\string#1%
  1540.       >%
  1541.       \expandafter\expandafter\expandafter\HyPsd@EndWithElse
  1542.     \else
  1543.       \expandafter\expandafter\expandafter\HyPsd@GobbleFiFi
  1544.     \fi
  1545.   \else
  1546.     \expandafter#2%
  1547.   \fi
  1548. }
  1549. \def\HyPsd@GobbleFiFi#1\fi#2\fi{}
  1550. \def\HyPsd@EndWithElse#1\else{\else}
  1551. \def\HyPsd@add@accent#1#2{%
  1552.   \HyPsd@GLYPHERR\expandafter\@gobble\string#1+\string#2>%
  1553.   #2%
  1554. }%
  1555. \def\HyPsd@LetUnexpandableSpace#1{%
  1556.   \expandafter\futurelet\expandafter#1\expandafter\@gobble\space\relax
  1557. }
  1558. \HyPsd@LetUnexpandableSpace\HyPsd@UnexpandableSpace
  1559. \edef\HyPsd@XSPACE{\string#\string X}
  1560. \edef\HyPsd@ITALCORR{\string#\string I}
  1561. \edef\HyPsd@GLYPHERR{\string#\string G}
  1562. \def\HyPsd@hspace#1{\HyPsd@@hspace#1*\END}
  1563. \def\HyPsd@@hspace#1*#2\END{%
  1564.   \ifx\\#2\\%
  1565.     \HyPsd@hspacetest{#1}%
  1566.   \else
  1567.     \expandafter\HyPsd@hspacetest
  1568.   \fi
  1569. }
  1570. \def\HyPsd@hspacetest#1{\ifdim#1>\z@\space\fi}
  1571. \ltx@IfUndefined{tocsection}{%
  1572.   \let\HyPsd@AMSclassfix\relax
  1573. }{%
  1574.   \def\HyPsd@AMSclassfix{%
  1575.     \let\tocpart\HyPsd@tocsection
  1576.     \let\tocchapter\HyPsd@tocsection
  1577.     \let\tocappendix\HyPsd@tocsection
  1578.     \let\tocsection\HyPsd@tocsection
  1579.     \let\tocsubsection\HyPsd@tocsection
  1580.     \let\tocsubsubsection\HyPsd@tocsection
  1581.     \let\tocparagraph\HyPsd@tocsection
  1582.   }%
  1583.   \def\HyPsd@tocsection#1#2#3{%
  1584.     \if @#2@\else\if @#1@\else#1 \fi#2. \fi
  1585.     #3%
  1586.   }%
  1587. }
  1588. \def\HyPsd@href#1#{\@secondoftwo}
  1589. \def\HyPsd@ref#1{\HyPsd@@ref#1*\END}%
  1590. \def\HyPsd@@ref#1*#2\END{%
  1591.   \ifx\\#2\\%
  1592.     \HyPsd@@@ref{#1}%
  1593.   \else
  1594.     \expandafter\HyPsd@@@ref
  1595.   \fi
  1596. }%
  1597. \def\HyPsd@@@ref#1{%
  1598.   \expandafter\ifx\csname r@#1\endcsname\relax
  1599.     ??%
  1600.   \else
  1601.     \expandafter\expandafter\expandafter
  1602.     \@car\csname r@#1\endcsname\@nil
  1603.   \fi
  1604. }
  1605. \def\HyPsd@pageref#1{\HyPsd@@pageref#1*\END}
  1606. \def\HyPsd@@pageref#1*#2\END{%
  1607.   \ifx\\#2\\%
  1608.     \HyPsd@@@pageref{#1}%
  1609.   \else
  1610.     \expandafter\HyPsd@@@pageref
  1611.   \fi
  1612. }
  1613. \def\HyPsd@@@pageref#1{%
  1614.   \expandafter\ifx\csname r@#1\endcsname\relax
  1615.     ??%
  1616.   \else
  1617.     \expandafter\expandafter\expandafter\expandafter
  1618.     \expandafter\expandafter\expandafter\@car
  1619.     \expandafter\expandafter\expandafter\@gobble
  1620.     \csname r@#1\endcsname{}\@nil
  1621.  \fi
  1622. }
  1623. \def\HyPsd@nameref#1{\HyPsd@@nameref#1*\END}
  1624. \def\HyPsd@@nameref#1*#2\END{%
  1625.   \ifx\\#2\\%
  1626.     \HyPsd@@@nameref{#1}%
  1627.   \else
  1628.     \expandafter\HyPsd@@@nameref
  1629.   \fi
  1630. }
  1631. \def\HyPsd@@@nameref#1{%
  1632.   \expandafter\ifx\csname r@#1\endcsname\relax
  1633.     ??%
  1634.   \else
  1635.     \expandafter\expandafter\expandafter\expandafter
  1636.     \expandafter\expandafter\expandafter\@car
  1637.     \expandafter\expandafter\expandafter\@gobbletwo
  1638.     \csname r@#1\endcsname{}{}\@nil
  1639.  \fi
  1640. }
  1641. \def\HyPsd@autoref#1{\HyPsd@@autoref#1*\END}
  1642. \def\HyPsd@@autoref#1*#2\END{%
  1643.   \ifx\\#2\\%
  1644.     \HyPsd@@@autoref{#1}%
  1645.   \else
  1646.     \expandafter\HyPsd@@@autoref
  1647.   \fi
  1648. }
  1649. \def\HyPsd@@@autoref#1{%
  1650.   \expandafter\ifx\csname r@#1\endcsname\relax
  1651.     ??%
  1652.   \else
  1653.     \expandafter\expandafter\expandafter\HyPsd@autorefname
  1654.         \csname r@#1\endcsname{}{}{}{}\@nil
  1655.    \expandafter\expandafter\expandafter
  1656.    \@car\csname r@#1\endcsname\@nil
  1657.  \fi
  1658. }
  1659. \def\HyPsd@autorefname#1#2#3#4#5\@nil{%
  1660.   \ifx\\#4\\%
  1661.   \else
  1662.     \HyPsd@@autorefname#4.\@nil
  1663.   \fi
  1664. }
  1665. \def\HyPsd@@autorefname#1.#2\@nil{%
  1666.   \ltx@IfUndefined{#1autorefname}{%
  1667.     \ltx@IfUndefined{#1name}{%
  1668.     }{%
  1669.       \csname#1name\endcsname\space
  1670.     }%
  1671.   }{%
  1672.     \csname#1autorefname\endcsname\space
  1673.   }%
  1674. }
  1675. \begingroup
  1676.   \def\x#1#2{%
  1677.     \endgroup
  1678.     \let#1\def
  1679.     \def\HyPsd@DefCommand##1##2##{%
  1680.       #1%
  1681.       \expandafter\noexpand
  1682.         \csname\expandafter\@gobble\string##1\@empty\endcsname
  1683.       \@gobble
  1684.     }%
  1685.     \let#2\let
  1686.     \def\HyPsd@@LetCommand##1{%
  1687.       \expandafter\ifx\csname##1\expandafter\endcsname
  1688.                       \csname iftrue\endcsname
  1689.         \pdfstringdefWarn\let
  1690.         \expandafter\@gobble
  1691.       \else
  1692.         \expandafter\ifx\csname##1\expandafter\endcsname
  1693.                         \csname iffalse\endcsname
  1694.           \pdfstringdefWarn\let
  1695.           \expandafter\expandafter\expandafter\@gobble
  1696.         \else
  1697.           #2%
  1698.           \expandafter\noexpand
  1699.             \csname##1\expandafter\expandafter\expandafter\endcsname
  1700.         \fi
  1701.       \fi
  1702.     }%
  1703.   }%
  1704. \expandafter\x\csname <def>-command\expandafter\endcsname
  1705.               \csname <let>-command\endcsname
  1706. \def\HyPsd@LetCommand#1{%
  1707.   \expandafter\expandafter\expandafter\HyPsd@@LetCommand
  1708.     \expandafter\expandafter\expandafter{%
  1709.     \expandafter\@gobble\string#1\@empty
  1710.   }%
  1711. }
  1712. \def\HyPsd@ifnextchar#1{%
  1713.   \pdfstringdefWarn#1%
  1714.   \expandafter\@gobbletwo\@gobble
  1715. }
  1716. \def\HyPsd@protected@testopt#1{%
  1717.   \pdfstringdefWarn#1%
  1718.   \@gobbletwo
  1719. }
  1720. \def\HyPsd@Warning#1{%
  1721.   \begingroup
  1722.     \let\space\ltx@space
  1723.     \Hy@Warning{#1}%
  1724.   \endgroup
  1725. }
  1726. \RequirePackage{etexcmds}[2007/09/09]
  1727. \ifetex@unexpanded
  1728.   \expandafter\@secondoftwo
  1729. \else
  1730.   \expandafter\@firstoftwo
  1731. \fi
  1732. {%
  1733.   \def\HyPsd@ProtectSpaces#1{%
  1734.     \iftrue
  1735.       \expandafter\HyPsd@@ProtectSpacesFi
  1736.         \expandafter|\expandafter\@empty#1| \HyPsd@End#1%
  1737.     \fi
  1738.   }%
  1739.   \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@End#3\fi{%
  1740.     \fi
  1741.     \ifx\scrollmode#2\scrollmode
  1742.       \HyPsd@RemoveMask#1\HyPsd@End#3%
  1743.     \else
  1744.       \gdef#3{#1\HyPsd@UnexpandableSpace#2}%
  1745.       \expandafter\HyPsd@@ProtectSpacesFi#3\HyPsd@End#3%
  1746.     \fi
  1747.   }%
  1748.   \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
  1749.     \toks@\expandafter{#1}%
  1750.     \xdef#2{\the\toks@}%
  1751.   }%
  1752. }{%
  1753.   \let\HyPsd@fi\fi
  1754.   \def\HyPsd@ProtectSpaces#1{%
  1755.     \xdef#1{%
  1756.       \iftrue
  1757.         \expandafter\HyPsd@@ProtectSpacesFi
  1758.           \expandafter|\expandafter\@empty#1| %
  1759.       \HyPsd@fi
  1760.     }%
  1761.     \expandafter\HyPsd@RemoveMask#1\HyPsd@End#1%
  1762.   }%
  1763.   \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@fi{%
  1764.     \fi
  1765.     \etex@unexpanded{#1}%
  1766.     \ifx\scrollmode#2\scrollmode
  1767.     \else
  1768.       \HyPsd@@ProtectSpacesFi\HyPsd@UnexpandableSpace#2%
  1769.     \HyPsd@fi
  1770.   }%
  1771.   \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
  1772.     \xdef#2{\etex@unexpanded\expandafter{#1}}%
  1773.   }%
  1774. }
  1775. \def\HyPsd@RemoveBraces#1{%
  1776.   \ifx\scrollmode#1\scrollmode
  1777.   \else
  1778.     \HyPsd@@RemoveBracesFi#1\HyPsd@End{#1}%
  1779.   \fi
  1780. }
  1781. \def\HyPsd@@RemoveBracesFi#1#2\HyPsd@End#3\fi{%
  1782.   \fi
  1783.   \def\Hy@temp@A{#1#2}%
  1784.   \def\Hy@temp@B{#3}%
  1785.   \ifx\Hy@temp@A\Hy@temp@B
  1786.     \expandafter\def\expandafter\HyPsd@String\expandafter{%
  1787.       \HyPsd@String#1%
  1788.     }%
  1789.     \ifx\scrollmode#2\scrollmode
  1790.     \else
  1791.       \Hy@ReturnAfterFiFiEnd{%
  1792.         \HyPsd@RemoveBraces{#2}%
  1793.       }%
  1794.     \fi
  1795.   \else
  1796.     \def\Hy@temp@A{#1}%
  1797.     \HyPsd@AppendItalcorr\HyPsd@String
  1798.     \ifx\Hy@temp@A\@empty
  1799.       \Hy@ReturnAfterElseFiFiEnd{%
  1800.         \HyPsd@RemoveBraces{#2}%
  1801.       }%
  1802.     \else
  1803.       \HyPsd@ProtectSpaces\Hy@temp@A
  1804.       \HyPsd@AppendItalcorr\Hy@temp@A
  1805.       \Hy@ReturnAfterFiFiEnd{%
  1806.         \expandafter\HyPsd@RemoveBraces\expandafter
  1807.           {\Hy@temp@A#2}%
  1808.       }%
  1809.     \fi
  1810.   \fi
  1811.   \Hy@ReturnEnd
  1812. }
  1813. \def\HyPsd@AppendItalcorr#1{%
  1814.   \expandafter\HyPsd@@AppendItalcorr\expandafter{\/}#1%
  1815. }
  1816. \def\HyPsd@@AppendItalcorr#1#2{%
  1817.   \expandafter\def\expandafter#2\expandafter{#2#1}%
  1818. }
  1819. \ltx@IfUndefined{directlua}{%
  1820. }{%
  1821.   \expandafter\ifx\csname\endcsname\relax\fi
  1822. }
  1823. \begingroup
  1824.   \catcode`\Q=\active
  1825.   \let Q\ltx@empty
  1826.   \gdef\HyPsd@CheckCatcodes#1#2\HyPsd@End{%
  1827.     \global\let\HyPsd@Rest\relax
  1828.     \ifcat\relax\noexpand#1\relax
  1829.       \ifx#1\protect
  1830.       \else
  1831.         \ifx#1\penalty
  1832.           \setbox\z@=\hbox{%
  1833.             \afterassignment\HyPsd@AfterCountRemove
  1834.             \count@=#2\HyPsd@End
  1835.           }%
  1836.         \else
  1837.           \ifx#1\kern
  1838.             \setbox\z@=\hbox{%
  1839.               \afterassignment\HyPsd@AfterDimenRemove
  1840.               \dimen@=#2\HyPsd@End
  1841.             }%
  1842.           \else
  1843.             \ifx#1\hskip
  1844.               \setbox\z@=\hbox{%
  1845.                 \afterassignment\HyPsd@AfterSkipRemove
  1846.                 \skip@=#2\HyPsd@End
  1847.               }%
  1848.             \else
  1849.               \HyPsd@CatcodeWarning{#1}%
  1850.             \fi
  1851.           \fi
  1852.         \fi
  1853.       \fi
  1854.     \else
  1855.       \ifcat\noexpand#1\noexpandQ% active character
  1856.         \expandafter\expandafter\expandafter\def
  1857.         \expandafter\expandafter\expandafter\HyPsd@String
  1858.         \expandafter\expandafter\expandafter{%
  1859.           \expandafter\HyPsd@String\string#1%
  1860.         }%
  1861.       \else
  1862.         \ifcat#1A% letter
  1863.           \expandafter\def\expandafter\HyPsd@String\expandafter{%
  1864.             \HyPsd@String#1%
  1865.           }%
  1866.         \else
  1867.           \ifcat#1 % SPACE
  1868.             \expandafter\def\expandafter\HyPsd@String\expandafter{%
  1869.               \HyPsd@String\HyPsd@SPACEOPTI
  1870.             }%
  1871.           \else
  1872.             \ifcat$#1%
  1873.               \HyPsd@CatcodeWarning{math shift}%
  1874.             \else
  1875.               \ifcat&#1%
  1876.                 \HyPsd@CatcodeWarning{alignment tab}%
  1877.               \else
  1878.                 \ifcat^#1%
  1879.                   \HyPsd@CatcodeWarning{superscript}%
  1880.                 \else
  1881.                   \ifcat_#1%
  1882.                     \HyPsd@CatcodeWarning{subscript}%
  1883.                   \else
  1884.                     \expandafter\def\expandafter\HyPsd@String\expandafter{%
  1885.                       \HyPsd@String#1%
  1886.                     }%
  1887.                   \fi
  1888.                 \fi
  1889.               \fi
  1890.             \fi
  1891.           \fi
  1892.         \fi
  1893.       \fi
  1894.     \fi
  1895.     \ifx\HyPsd@Rest\relax
  1896.       \ifx\scrollmode#2\scrollmode
  1897.       \else
  1898.         \Hy@ReturnAfterFiFiEnd{%
  1899.           \HyPsd@CheckCatcodes#2\HyPsd@End
  1900.         }%
  1901.       \fi
  1902.     \else
  1903.       \ifx\HyPsd@Rest\@empty
  1904.       \else
  1905.         \Hy@ReturnAfterFiFiEnd{%
  1906.           \expandafter\HyPsd@CheckCatcodes\HyPsd@Rest\HyPsd@End
  1907.         }%
  1908.       \fi
  1909.     \fi
  1910.     \Hy@ReturnEnd
  1911.   }%
  1912. \endgroup
  1913. \def\HyPsd@AfterCountRemove#1\HyPsd@End{%
  1914.   \gdef\HyPsd@Rest{#1}%
  1915. }
  1916. \def\HyPsd@AfterDimenRemove#1\HyPsd@End{%
  1917.   \ifdim\ifx\HyPsd@String\@empty\z@\else\dimen@\fi>1ex %
  1918.     \HyPsd@ReplaceSpaceWarning{\string\kern\space\the\dimen@}%
  1919.     \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
  1920.   \else
  1921.     \ifdim\dimen@=\z@
  1922.     \else
  1923.       \HyPsd@RemoveSpaceWarning{\string\kern\space\the\dimen@}%
  1924.     \fi
  1925.     \gdef\HyPsd@Rest{#1}%
  1926.   \fi
  1927. }
  1928. \def\HyPsd@AfterSkipRemove#1\HyPsd@End{%
  1929.   \ifdim\ifx\HyPsd@String\@empty\z@\else\skip@\fi>1ex %
  1930.     \HyPsd@ReplaceSpaceWarning{\string\hskip\space\the\skip@}%
  1931.     \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
  1932.   \else
  1933.     \ifdim\skip@=\z@
  1934.     \else
  1935.       \HyPsd@RemoveSpaceWarning{\string\kern\space\the\skip@}%
  1936.     \fi
  1937.     \gdef\HyPsd@Rest{#1}%
  1938.   \fi
  1939. }
  1940. \def\HyPsd@CatcodeWarning#1{%
  1941.   \HyPsd@Warning{%
  1942.     Token not allowed in a PDF string (%
  1943.     \ifHy@unicode
  1944.       Unicode%
  1945.     \else
  1946.       PDFDocEncoding%
  1947.     \fi
  1948.     ):%
  1949.     \MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'%
  1950.   }%
  1951. }
  1952. \begingroup
  1953.   \catcode`\|=0 %
  1954.   \catcode`\\=12 %
  1955.   |gdef|HyPsd@RemoveCmdPrefix#1{%
  1956.     |expandafter|HyPsd@@RemoveCmdPrefix
  1957.       |string#1|@empty\<>-|@empty|@empty
  1958.   }%
  1959.   |gdef|HyPsd@@RemoveCmdPrefix#1\<>-#2|@empty#3|@empty{#1#2}%
  1960. |endgroup
  1961. \def\HyPsd@RemoveSpaceWarning#1{%
  1962.   \HyPsd@Warning{%
  1963.     Token not allowed in a PDF string (%
  1964.     \ifHy@unicode
  1965.       Unicode%
  1966.     \else
  1967.       PDFDocEncoding%
  1968.     \fi
  1969.     ):%
  1970.     \MessageBreak #1\MessageBreak
  1971.     removed%
  1972.   }%
  1973. }
  1974. \def\HyPsd@ReplaceSpaceWarning#1{%
  1975.   \HyPsd@Warning{%
  1976.     Token not allowed in a PDF string (%
  1977.     \ifHy@unicode
  1978.       Unicode%
  1979.     \else
  1980.       PDFDocEncoding%
  1981.     \fi
  1982.     ):%
  1983.     \MessageBreak #1\MessageBreak
  1984.     replaced by space%
  1985.   }%
  1986. }
  1987. \def\HyPsd@GlyphProcess#1\relax#2\@empty{%
  1988.   \expandafter\def\expandafter\HyPsd@String\expandafter{%
  1989.     \HyPsd@String#1%
  1990.   }%
  1991.   \ifx\\#2\\%
  1992.   \else
  1993.     \ltx@ReturnAfterFi{%
  1994.       \HyPsd@GlyphProcessWarning#2\@empty
  1995.     }%
  1996.   \fi
  1997. }
  1998. \def\HyPsd@GlyphProcessWarning#1>#2\@empty{%
  1999.   \HyPsd@@GlyphProcessWarning#1++>%
  2000.   \HyPsd@GlyphProcess#2\@empty
  2001. }
  2002. \def\HyPsd@@GlyphProcessWarning#1+#2+#3>{%
  2003.   \ifx\\#2\\%
  2004.     \HyPsd@Warning{%
  2005.       Glyph not defined in %
  2006.       P\ifHy@unicode U\else D1\fi\space encoding,\MessageBreak
  2007.       removing `\@backslashchar#1'%
  2008.     }%
  2009.   \else
  2010.     \HyPsd@Warning{%
  2011.       Composite letter `\@backslashchar#1+#2'\MessageBreak
  2012.       not defined in P\ifHy@unicode U\else D1\fi\space encoding,%
  2013.       \MessageBreak
  2014.       removing `\@backslashchar#1'%
  2015.     }%
  2016.   \fi
  2017. }
  2018. \def\HyPsd@spaceopti#1{ % first space
  2019.   \ifx\HyPsd@spaceopti#1%
  2020.     \040%
  2021.   \else
  2022.     #1%
  2023.   \fi
  2024. }%
  2025. \def\HyPsd@Subst#1#2#3{%
  2026.   \def\HyPsd@@ReplaceFi##1#1##2\END\fi{%
  2027.     \fi
  2028.     ##1%
  2029.     \ifx\scrollmode##2\scrollmode
  2030.     \else
  2031.       #2%
  2032.       \HyPsd@@ReplaceFi##2\END
  2033.     \fi
  2034.   }%
  2035.   \xdef#3{%
  2036.     \iftrue
  2037.       \expandafter\HyPsd@@ReplaceFi#3#1\END
  2038.     \fi
  2039.   }%
  2040. }
  2041. \def\HyPsd@StringSubst#1{%
  2042.   \expandafter\HyPsd@Subst\expandafter{\string#1}%
  2043. }
  2044. \begingroup
  2045.   \lccode`\!=`\%%
  2046.   \lccode`\|=`\\%
  2047.   \lccode`\(=`\{%
  2048.   \lccode`\)=`\}%
  2049.   \lccode`0=\ltx@zero
  2050.   \lccode`1=\ltx@zero
  2051.   \lccode`3=\ltx@zero
  2052.   \lccode`4=\ltx@zero
  2053.   \lccode`5=\ltx@zero
  2054.   \lccode`7=\ltx@zero
  2055. \lowercase{\endgroup
  2056.   \def\HyPsd@EscapeTeX#1{%
  2057.     \HyPsd@Subst!{|045}#1%
  2058.     \HyPsd@Subst({|173}#1%
  2059.     \HyPsd@Subst){|175}#1%
  2060.   }%
  2061. }
  2062. \def\HyPsd@doxspace#1{%
  2063.   \ifx#1\relax\else
  2064.    \ifx#1.\else
  2065.     \ifx#1:\else
  2066.      \ifx#1,\else
  2067.       \ifx#1;\else
  2068.        \ifx#1!\else
  2069.         \ifx#1?\else
  2070.          \ifx#1/\else
  2071.           \ifx#1-\else
  2072.            \ifx#1'\else
  2073.              \HyPsd@SPACEOPTI
  2074.            \fi
  2075.           \fi
  2076.          \fi
  2077.         \fi
  2078.        \fi
  2079.       \fi
  2080.      \fi
  2081.     \fi
  2082.    \fi
  2083.   \fi
  2084.   #1%
  2085. }%
  2086. \begingroup
  2087.   \catcode`\|=0 %
  2088.   \catcode`\\=12 %
  2089.   |gdef|HyPsd@ConvertToUnicode#1{%
  2090.     |xdef#1{%
  2091.       |expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty
  2092.     }%
  2093.     |ifx#1|@empty
  2094.     |else
  2095.       |xdef#1{%
  2096.         \376\377%
  2097.         #1%
  2098.       }%
  2099.     |fi
  2100.   }%
  2101.   |gdef|HyPsd@DoConvert#1{%
  2102.     |ifx#1|@empty
  2103.     |else
  2104.       |ltx@ReturnAfterFi{%
  2105.         |ifx#1\%%
  2106.           \%%
  2107.           |expandafter|HyPsd@DoEscape
  2108.         |else
  2109.           |HyPsd@Char{#1}%
  2110.           |expandafter|HyPsd@DoConvert
  2111.         |fi
  2112.       }%
  2113.     |fi
  2114.   }%
  2115.   |gdef|HyPsd@DoEscape#1{%
  2116.     |ifx#19%
  2117.       |expandafter|HyPsd@GetTwoBytes
  2118.     |else
  2119.       |ltx@ReturnAfterFi{%
  2120.         |ifx#18%
  2121.           00%
  2122.           |expandafter|HyPsd@GetTwoBytes
  2123.         |else
  2124.           #1%
  2125.           |expandafter|HyPsd@GetOneByte
  2126.         |fi
  2127.       }%
  2128.     |fi
  2129.   }%
  2130.   |gdef|HyPsd@GetTwoBytes#1\#2#3#4{%
  2131.     #1\#2#3#4%
  2132.     |HyPsd@DoConvert
  2133.   }%
  2134.   |gdef|HyPsd@GetOneByte#1#2{%
  2135.     #1#2%
  2136.     |HyPsd@DoConvert
  2137.   }%
  2138. |endgroup
  2139. \def\HyPsd@GetNextTwoTokens#1#2#3\END#4{%
  2140.   \xdef#4{#4#1#2}%
  2141.   \HyPsd@@ConvertToUnicode#3\END#4%
  2142. }
  2143. \begingroup
  2144.   \catcode0=9 %
  2145.   \catcode`\^=7 %
  2146.   \catcode`\^^^=12 %
  2147.   \def\x{^^^^0000}%
  2148. \expandafter\endgroup
  2149. \ifx\x\@empty
  2150.   \def\HyPsd@Char#1{%
  2151.     \ifnum`#1<128 %
  2152.       \@backslashchar 000#1%
  2153.     \else
  2154.       \ifnum`#1<65536 %
  2155.         \expandafter\HyPsd@CharTwoByte\number`#1!%
  2156.       \else
  2157.         \expandafter\expandafter\expandafter\HyPsd@CharSurrogate
  2158.         \intcalcSub{`#1}{65536}!%
  2159.       \fi
  2160.     \fi
  2161.   }%
  2162.   \def\HyPsd@CharTwoByte#1!{%
  2163.     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
  2164.     \IntCalcDiv#1!256!!%
  2165.     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
  2166.     \IntCalcMod#1!256!!%
  2167.   }%
  2168.   \def\HyPsd@CharOctByte#1!{%
  2169.     \@backslashchar
  2170.     \IntCalcDiv#1!64!%
  2171.     \intcalcDiv{\IntCalcMod#1!64!}{8}%
  2172.     \IntCalcMod#1!8!%
  2173.   }%
  2174.   \def\HyPsd@CharSurrogate#1!{%
  2175.     \@backslashchar 33%
  2176.     \IntCalcDiv#1!262144!%
  2177.     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
  2178.     \intcalcDiv{\IntCalcMod#1!262144!}{1024}!%
  2179.     \@backslashchar 33%
  2180.     \expandafter\expandafter\expandafter\IntCalcAdd
  2181.     \intcalcDiv{\IntCalcMod#1!1024!}{256}!4!%
  2182.     \expandafter\expandafter\expandafter\HyPsd@CharOctByte
  2183.     \IntCalcMod#1!256!!%
  2184.   }%
  2185. \else
  2186.   \def\HyPsd@Char#1{%
  2187.     \@backslashchar 000#1%
  2188.   }%
  2189. \fi
  2190. \begingroup\expandafter\expandafter\expandafter\endgroup
  2191. \expandafter\ifx\csname numexpr\endcsname\relax
  2192.   \let\HyPsd@UTFviii\relax
  2193. \else
  2194.   \begingroup
  2195.     \lccode`\~=`^^f4\relax
  2196.   \lowercase{\endgroup
  2197.     \def\HyPsd@UTFviii{%
  2198.       \let\UTFviii@two@octets\HyPsd@UTFviii@two
  2199.       \let\UTFviii@three@octets\HyPsd@UTFviii@three
  2200.       \let\UTFviii@four@octets\HyPsd@UTFviii@four
  2201.       \ifx~\HyPsd@UTFviii@ccxliv@undef
  2202.         \let~\HyPsd@UTFviii@ccxliv@def
  2203.       \fi
  2204.       \let\unichar\HyPsd@unichar
  2205.     }%
  2206.   }%
  2207.   \def\HyPsd@UTFviii@ccxliv@undef{\@inpenc@undefined@{utf8}}%
  2208.   \edef\HyPsd@UTFviii@ccxliv@def{%
  2209.     \noexpand\UTFviii@four@octets\string ^^f4%
  2210.   }%
  2211.   \def\HyPsd@UTFviii@two#1#2{%
  2212.     \expandafter\HyPsd@UTFviii@@two
  2213.       \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
  2214.       \number`#1\expandafter|%
  2215.       \number\dimexpr.125\dimexpr`#2sp\expandafter\relax\expandafter|%
  2216.       \number`#2 \@nil
  2217.   }%
  2218.   \def\HyPsd@UTFviii@@two#1|#2|#3|#4\@nil{%
  2219.     \expandafter\8%
  2220.     \number\numexpr #1-48\expandafter\relax
  2221.     \csname\number\numexpr #2-4*#1\relax\expandafter\endcsname
  2222.     \number\numexpr #3-8*%
  2223.         \number\dimexpr.125\dimexpr#3sp\relax\relax\expandafter\relax
  2224.     \number\numexpr #4-8*#3\relax
  2225.   }%
  2226.   \def\HyPsd@UTFviii@three#1#2#3{%
  2227.     \expandafter\HyPsd@UTFviii@@three
  2228.       \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
  2229.       \number`#1\expandafter|%
  2230.       \number\ifnum\numexpr`#2-128\relax <32 0\else 1\fi\expandafter|%
  2231.       \number\dimexpr.25\dimexpr`#2sp\expandafter\relax\expandafter|%
  2232.       \number`#2\expandafter|%
  2233.       \number\dimexpr.125\dimexpr`#3sp\expandafter\relax\expandafter|%
  2234.       \number`#3 \@nil
  2235.   }%
  2236.   \def\HyPsd@UTFviii@@three#1|#2|#3|#4|#5|#6|#7\@nil{%
  2237.     \expandafter\9%
  2238.     \number\numexpr #1-56\expandafter\relax
  2239.     \number\numexpr 2*(#2-4*#1)+#3\expandafter\relax
  2240.     \number\numexpr #4 - 32 -\ifcase#3 0\else 8\fi\expandafter\relax
  2241.     \csname\number\numexpr #5-4*#4\relax\expandafter\endcsname
  2242.     \number\numexpr #6-16\expandafter\relax
  2243.     \number\numexpr #7-8*#6\relax
  2244.   }%
  2245.   \def\HyPsd@UTFviii@four#1#2{%
  2246.     \expandafter\HyPsd@@UTFviii@four\number
  2247.     \numexpr-1+(`#1-240)*4+\dimexpr.0625\dimexpr`#2sp-128sp%
  2248.     \expandafter|\number
  2249.     \numexpr`#2-16*\dimexpr.0625\dimexpr`#2sp|%
  2250.   }%
  2251.   \def\HyPsd@@UTFviii@four#1|#2|#3{%
  2252.     \933\number\dimexpr.25\dimexpr#1sp\relax\relax
  2253.     \csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname
  2254.     \ifodd#2 %
  2255.       \number\numexpr(#2-1)/2\relax
  2256.     \else
  2257.       \number\numexpr#2/2\relax
  2258.     \fi
  2259.     \number\numexpr\ifodd#2 4+\fi
  2260.         \dimexpr.0625\dimexpr`#3sp-128sp\relax\relax\relax
  2261.     \933%
  2262.     \expandafter\HyPsd@@@UTFviii@four\number
  2263.     \numexpr`#3-16*\dimexpr.0625\dimexpr`#3sp|%
  2264.   }%
  2265.   \def\HyPsd@@@UTFviii@four#1|#2{%
  2266.     \number\numexpr4+\dimexpr.25\dimexpr#1sp\relax\relax\relax
  2267.     \csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname
  2268.     \number\dimexpr.125\dimexpr`#2sp-128sp\relax\relax
  2269.     \number\numexpr`#2-8*\dimexpr.125\dimexpr`#2sp\relax\relax\relax
  2270.   }%
  2271.   \def\HyPsd@unichar#1{%
  2272.     \ifHy@unicode
  2273.       \ifnum#1>"10FFFF %
  2274.         \HyPsd@UnicodeReplacementCharacter % illegal
  2275.       \else
  2276.         \ifnum#1>"FFFF %
  2277.           \expandafter\HyPsd@unichar\expandafter{%
  2278.             \number\numexpr 55296+%
  2279.                 \dimexpr.0009765625\dimexpr\number#1sp-\p@
  2280.                 \relax\relax\relax
  2281.           }%
  2282.           \expandafter\HyPsd@unichar\expandafter{%
  2283.             \number\numexpr#1-9216%
  2284.                 -1024*\dimexpr.0009765625\dimexpr\number#1sp-\p@
  2285.                 \relax\relax\relax
  2286.         }%
  2287.         \else
  2288.           \ifnum#1>"7FF %
  2289.             \9%
  2290.             \expandafter\HyPsd@unichar@first@byte\expandafter{%
  2291.               \number
  2292.               \dimexpr.00390625\dimexpr\number#1sp\relax\relax
  2293.             }%
  2294.           \else
  2295.             \8%
  2296.             \number\dimexpr.00390625\dimexpr\number#1sp\relax\relax
  2297.           \fi
  2298.           \expandafter\HyPsd@unichar@second@byte\expandafter{%
  2299.             \number
  2300.             \numexpr#1-256*\number
  2301.                 \dimexpr.00390625\dimexpr\number#1sp\relax\relax\relax
  2302.           }%
  2303.         \fi
  2304.       \fi
  2305.     \else
  2306.       .% unsupported (Unicode -> PDF Doc Encoding)
  2307.     \fi
  2308.   }%
  2309.   \def\HyPsd@UnicodeReplacementCharacter{\9377\375}%
  2310.   \def\HyPsd@unichar@first@byte#1{%
  2311.     \number\dimexpr.015625\dimexpr#1sp\relax\relax
  2312.     \expandafter\HyPsd@unichar@octtwo\expandafter{%
  2313.       \number
  2314.       \numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp%
  2315.       \relax\relax\relax
  2316.     }%
  2317.   }%
  2318.   \def\HyPsd@unichar@second@byte#1{%
  2319.     \csname\number\dimexpr.015625\dimexpr#1sp\relax\relax\endcsname
  2320.     \expandafter\HyPsd@unichar@octtwo\expandafter{%
  2321.       \number
  2322.       \numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp%
  2323.       \relax\relax\relax
  2324.     }%
  2325.   }%
  2326.   \def\HyPsd@unichar@octtwo#1{%
  2327.     \number\dimexpr.125\dimexpr#1sp\relax\relax
  2328.     \number\numexpr#1-8*\number\dimexpr.125\dimexpr#1sp%
  2329.     \relax\relax\relax
  2330.   }%
  2331. \fi
  2332. \def\HyPsd@utf@viii@undeferr#1#2#3#4#5#6{%
  2333.   \ifx\@gobble#1%
  2334.   \else
  2335.     [Please insert \textbackslash PrerenderUnicode%
  2336.     \textbraceleft#1\textbraceright\space
  2337.     into preamble]%
  2338.   \fi
  2339. }%
  2340. \def\HyPsd@DieFace#1{%
  2341.   \ifHy@unicode
  2342.     \ifnum#1<1 %
  2343.       \HyPsd@UnicodeReplacementCharacter
  2344.     \else
  2345.       \ifnum#1>6 %
  2346.         \9046\205%
  2347.         \expandafter\expandafter\expandafter
  2348.         \HyPsd@DieFaceLarge\intcalcSub{#1}{6}!%
  2349.       \else
  2350.         \9046\20\intcalcDec{#1}%
  2351.       \fi
  2352.     \fi
  2353.   \else
  2354.     .% Die faces are not part of PDFDocEncoding
  2355.   \fi
  2356. }
  2357. \def\HyPsd@DieFaceLarge#1!{%
  2358.   \ifnum#1>6 %
  2359.     \expandafter\ltx@firstoftwo
  2360.   \else
  2361.     \expandafter\ltx@secondoftwo
  2362.   \fi
  2363.   {%
  2364.     \9046\205%
  2365.     \expandafter\expandafter\expandafter
  2366.     \HyPsd@DieFaceLarge\IntCalcSub#1!6!!%
  2367.   }{%
  2368.     \9046\20\IntCalcDec#1!%
  2369.   }%
  2370. }
  2371. \def\HyPsd@MoonPha#1{%
  2372.   \ifcase\intcalcNum{#1} %
  2373.     \HyPsd@UnicodeReplacementCharacter
  2374.   \or % 1
  2375.     \9330\074\9337\032%
  2376.   \or % 2
  2377.     \HyPsd@UnicodeReplacementCharacter
  2378.   \or % 3
  2379.     \9330\074\9337\035%
  2380.   \or % 4
  2381.     \9330\074\9337\034%
  2382.   \else
  2383.     \HyPsd@UnicodeReplacementCharacter
  2384.   \fi
  2385. }
  2386. \def\HyPsd@ding#1{%
  2387.   \ifHy@unicode
  2388.     \ifnum#1<32 %
  2389.       \HyPsd@UnicodeReplacementCharacter
  2390.     \else
  2391.       \ifnum#1>254 %
  2392.         \HyPsd@UnicodeReplacementCharacter
  2393.       \else
  2394.         \ifnum#1<127 %
  2395.           \expandafter\expandafter\expandafter
  2396.           \HyPsd@@ding\intcalcNum{#1}!%
  2397.         \else
  2398.           \ifnum#1>160 %
  2399.             \expandafter\expandafter\expandafter
  2400.             \HyPsd@@ding\intcalcNum{#1}!%
  2401.           \else
  2402.             \HyPsd@UnicodeReplacementCharacter
  2403.           \fi
  2404.         \fi
  2405.       \fi
  2406.     \fi
  2407.   \else
  2408.     .% Dingbats are not part of PDFDocEncoding
  2409.   \fi
  2410. }
  2411. \def\HyPsd@@ding#1!{%
  2412.   \ltx@ifundefined{HyPsd@ding@#1}{%
  2413.     \ifnum#1<127 %
  2414.       \9047%
  2415.       \HyPsd@DecimalToOctalSecond{\IntCalcSub#1!32!}%
  2416.     \else
  2417.       \ifnum#1<168 %
  2418.         \9047\14\IntCalcSub#1!160!%
  2419.       \else
  2420.         \ifnum#1>181 %
  2421.           \9047\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!64!}%
  2422.         \else
  2423.           % 172..181 -> U+2460..U+2469
  2424.           \9044\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!76!}%
  2425.         \fi
  2426.       \fi
  2427.     \fi
  2428.   }{%
  2429.     \csname HyPsd@ding@#1\endcsname
  2430.   }%
  2431. }
  2432. \@namedef{HyPsd@ding@32}{\space}
  2433. \@namedef{HyPsd@ding@37}{\9046\016}% U+260E
  2434. \@namedef{HyPsd@ding@42}{\9046\033}% U+261B
  2435. \@namedef{HyPsd@ding@43}{\9046\036}% U+261E
  2436. \@namedef{HyPsd@ding@72}{\9046\005}% U+2605
  2437. \@namedef{HyPsd@ding@108}{\9045\317}% U+25CF
  2438. \@namedef{HyPsd@ding@110}{\9045\240}% U+25A0
  2439. \@namedef{HyPsd@ding@115}{\9045\262}% U+25B2
  2440. \@namedef{HyPsd@ding@116}{\9045\274}% U+25BC
  2441. \@namedef{HyPsd@ding@117}{\9045\306}% U+25C6
  2442. \@namedef{HyPsd@ding@119}{\9045\327}% U+25D7
  2443. \@namedef{HyPsd@ding@168}{\textclubsuitblack}%
  2444. \@namedef{HyPsd@ding@169}{\textdiamondsuitblack}%
  2445. \@namedef{HyPsd@ding@170}{\textheartsuitblack}%
  2446. \@namedef{HyPsd@ding@171}{\textspadesuitblack}%
  2447. \@namedef{HyPsd@ding@213}{\textrightarrow}%
  2448. \@namedef{HyPsd@ding@214}{\textleftrightarrow}%
  2449. \@namedef{HyPsd@ding@215}{\textupdownarrow}%
  2450. \@namedef{HyPsd@ding@240}{\HyPsd@UnicodeReplacementCharacter}
  2451. \@ifclassloaded{memoir}{%
  2452.   \Hy@AtEndOfPackage{\RequirePackage{memhfixc}}%
  2453. }{}
  2454. \@ifpackageloaded{subfigure}{%
  2455.   \ltx@IfUndefined{sub@label}{%
  2456.     \Hy@hypertexnamesfalse
  2457.   }{%
  2458.     \renewcommand*{\sub@label}[1]{%
  2459.       \@bsphack
  2460.       \subfig@oldlabel{#1}%
  2461.       \if@filesw
  2462.         \begingroup
  2463.           \edef\@currentlabstr{%
  2464.             \expandafter\strip@prefix\meaning\@currentlabelname
  2465.           }%
  2466.           \protected@write\@auxout{}{%
  2467.             \string\newlabel{sub@#1}{%
  2468.               {\@nameuse{@@thesub\@captype}}%
  2469.               {\thepage}%
  2470.               {%
  2471.                 \expandafter\strip@period\@currentlabstr
  2472.                 \relax.\relax\@@@%
  2473.               }%
  2474.               {\@currentHref}%
  2475.               {}%
  2476.             }%
  2477.           }%
  2478.         \endgroup
  2479.       \fi
  2480.       \@esphack
  2481.     }%
  2482.     \@ifpackagelater{subfigure}{2002/03/26}{}{%
  2483.       \providecommand*{\toclevel@subfigure}{1}%
  2484.       \providecommand*{\toclevel@subtable}{1}%
  2485.     }%
  2486.   }%
  2487. }{}
  2488. \ltx@IfUndefined{XR@addURL}{%
  2489. }{%
  2490.   \def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}%
  2491.   \def\XR@@dURL#1#2#3#4#5\\{%
  2492.     {#1}{#2}%
  2493.     \if!#4!%
  2494.     \else
  2495.       {#3}{#4}{\XR@URL}%
  2496.     \fi
  2497.   }%
  2498. }
  2499. \def\Hy@true{true}
  2500. \def\Hy@false{false}
  2501. \let\literalps@out\@gobble
  2502. \newcommand\pdfbookmark[3][]{}
  2503. \def\Acrobatmenu#1#2{\leavevmode#2}
  2504. \def\Hy@writebookmark#1#2#3#4#5{}%
  2505. \let\HyperRaiseLinkHook\@empty
  2506. \def\HyperRaiseLinkDefault{\baselineskip}
  2507. \newcount\Hy@SavedSpaceFactor
  2508. \def\Hy@SaveSpaceFactor{%
  2509.   \global\Hy@SavedSpaceFactor=\ifhmode\spacefactor\else\z@\fi
  2510. }
  2511. \def\Hy@RestoreSpaceFactor{%
  2512.   \relax
  2513.   \ifhmode
  2514.     \ifnum\Hy@SavedSpaceFactor>\z@
  2515.       \spacefactor=\Hy@SavedSpaceFactor
  2516.     \fi
  2517.   \fi
  2518. }
  2519. \def\Hy@SaveSavedSpaceFactor{%
  2520.   \edef\Hy@RestoreSavedSpaceFactor{%
  2521.     \global\Hy@SavedSpaceFactor=\the\Hy@SavedSpaceFactor\relax
  2522.   }%
  2523. }
  2524. \def\Hy@raisedlink#1{%
  2525.   \ifvmode
  2526.     #1%
  2527.   \else
  2528.     \Hy@SaveSpaceFactor
  2529.     \penalty\@M
  2530.     \smash{%
  2531.       \begingroup
  2532.         \let\HyperRaiseLinkLength\@tempdima
  2533.         \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
  2534.         \HyperRaiseLinkHook
  2535.       \expandafter\endgroup
  2536.       \expandafter\raise\the\HyperRaiseLinkLength\hbox{%
  2537.         \Hy@RestoreSpaceFactor
  2538.         #1%
  2539.         \Hy@SaveSpaceFactor
  2540.       }%
  2541.     }%
  2542.     \Hy@RestoreSpaceFactor
  2543.   \fi
  2544. }
  2545. \def\Hy@SaveLastskip{%
  2546.   \let\Hy@RestoreLastskip\relax
  2547.   \ifvmode
  2548.     \ifdim\lastskip=\z@
  2549.       \let\Hy@RestoreLastskip\nobreak
  2550.     \else
  2551.       \begingroup
  2552.         \skip@=-\lastskip
  2553.         \edef\x{%
  2554.           \endgroup
  2555.           \def\noexpand\Hy@RestoreLastskip{%
  2556.             \noexpand\ifvmode
  2557.               \noexpand\nobreak
  2558.               \vskip\the\skip@
  2559.               \vskip\the\lastskip\relax
  2560.             \noexpand\fi
  2561.           }%
  2562.         }%
  2563.       \x
  2564.     \fi
  2565.   \else
  2566.     \ifhmode
  2567.       \ifdim\lastskip=\z@
  2568.         \let\Hy@RestoreLastskip\nobreak
  2569.       \else
  2570.         \begingroup
  2571.           \skip@=-\lastskip
  2572.           \edef\x{%
  2573.             \endgroup
  2574.             \def\noexpand\Hy@RestoreLastskip{%
  2575.               \noexpand\ifhmode
  2576.                 \noexpand\nobreak
  2577.                 \hskip\the\skip@
  2578.                 \hskip\the\lastskip\relax
  2579.               \noexpand\fi
  2580.             }%
  2581.           }%
  2582.         \x
  2583.       \fi
  2584.     \fi
  2585.   \fi
  2586. }%
  2587. \SetupKeyvalOptions{%
  2588.   family=Hyp,%
  2589.   prefix=HyOpt%
  2590. }
  2591. \def\IfHyperBooleanExists#1{%
  2592.   \ltx@ifundefined{Hy@#1false}\ltx@secondoftwo{%
  2593.     \ltx@ifundefined{KV@Hyp@#1@default}\ltx@secondoftwo\ltx@firstoftwo
  2594.  }%
  2595. }
  2596. \@namedef{KV@Hyp@stoppedearly@default}{}
  2597. \def\IfHyperBoolean#1{%
  2598.   \IfHyperBooleanExists{#1}{%
  2599.     \csname ifHy@#1\endcsname
  2600.       \expandafter\ltx@firstoftwo
  2601.     \else
  2602.       \expandafter\ltx@secondoftwo
  2603.     \fi
  2604.   }\ltx@secondoftwo
  2605. }
  2606. \def\Hy@boolkey#1#2{%
  2607.   \edef\Hy@tempa{#2}%
  2608.   \lowercase\expandafter{%
  2609.     \expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}%
  2610.   }%
  2611.   \ifx\Hy@tempa\@empty
  2612.     \let\Hy@tempa\Hy@true
  2613.   \fi
  2614.   \ifx\Hy@tempa\Hy@true
  2615.   \else
  2616.     \ifx\Hy@tempa\Hy@false
  2617.     \else
  2618.       \let\Hy@tempa\relax
  2619.     \fi
  2620.   \fi
  2621.   \ifx\Hy@tempa\relax
  2622.     \Hy@WarnOptionValue{#2}{#1}{`true' or 'false'}%
  2623.   \else
  2624.     \Hy@Info{Option `#1' set `\Hy@tempa'}%
  2625.     \csname Hy@#1\Hy@tempa\endcsname
  2626.   \fi
  2627. }
  2628. \def\Hy@WarnOptionValue#1#2#3{%
  2629.   \Hy@Warning{%
  2630.     Unexpected value `#1'\MessageBreak
  2631.     of option `#2' instead of\MessageBreak
  2632.     #3%
  2633.   }%
  2634. }
  2635. \def\Hy@DisableOption#1{%
  2636.   \ltx@ifundefined{KV@Hyp@#1@default}{%
  2637.     \define@key{Hyp}{#1}%
  2638.   }{%
  2639.     \define@key{Hyp}{#1}[]%
  2640.   }%
  2641.   {\Hy@WarnOptionDisabled{#1}}%
  2642. }
  2643. \def\Hy@WarnOptionDisabled#1{%
  2644.   \Hy@Warning{%
  2645.     Option `#1' has already been used,\MessageBreak
  2646.     setting the option has no effect%
  2647.   }%
  2648. }
  2649. \def\Hy@CheckOptionValue#1#2#3{%
  2650.   \begingroup
  2651.     \edef\x{#1}%
  2652.     \@onelevel@sanitize\x
  2653.     \let\y=y%
  2654.     \def\do##1##2{%
  2655.       \def\z{##1}%
  2656.       \@onelevel@sanitize\z
  2657.       \ifx\x\z
  2658.         \let\y=n%
  2659.         \let\do\@gobbletwo
  2660.       \fi
  2661.     }%
  2662.     #3%
  2663.     \ifx\y y%
  2664.       \def\do##1##2{%
  2665.         * `##1'%
  2666.         \ifx\\##2\\\else\space(##2)\fi
  2667.         \MessageBreak
  2668.       }%
  2669.       \Hy@Warning{%
  2670.         Values of option `#2':\MessageBreak
  2671.         #3%
  2672.         * An empty value disables the option.\MessageBreak
  2673.         Unknown value `\x'%
  2674.       }%
  2675.     \fi
  2676.   \endgroup
  2677. }
  2678. \def\Hy@DefNameKey#1{%
  2679.   \expandafter\Hy@@DefNameKey\csname @#1\endcsname{#1}%
  2680. }
  2681. \def\Hy@@DefNameKey#1#2#3{%
  2682.   \define@key{Hyp}{#2}{%
  2683.     \edef#1{##1}%
  2684.     \ifx#1\@empty
  2685.     \else
  2686.       \Hy@CheckOptionValue{##1}{#2}{#3}%
  2687.     \fi
  2688.   }%
  2689.   \let#1\@empty
  2690. }
  2691. \def\Hy@UseNameKey#1#2{%
  2692.   \ifx#2\@empty
  2693.   \else
  2694.     /#1/#2%
  2695.   \fi
  2696. }
  2697. \define@key{Hyp}{implicit}[true]{%
  2698.   \Hy@boolkey{implicit}{#1}%
  2699. }
  2700. \define@key{Hyp}{draft}[true]{%
  2701.   \Hy@boolkey{draft}{#1}%
  2702. }
  2703. \define@key{Hyp}{final}[true]{%
  2704.   \Hy@boolkey{final}{#1}%
  2705. }
  2706. \let\KV@Hyp@nolinks\KV@Hyp@draft
  2707. \def\Hy@ObsoletePaperOption#1{%
  2708.   \Hy@WarningNoLine{%
  2709.     Option `#1' is no longer used%
  2710.   }%
  2711.   \define@key{Hyp}{#1}[true]{}%
  2712. }
  2713. \def\Hy@temp#1{%
  2714.   \define@key{Hyp}{#1}[true]{%
  2715.     \Hy@ObsoletePaperOption{#1}%
  2716.   }%
  2717. }
  2718. \Hy@temp{a4paper}
  2719. \Hy@temp{a5paper}
  2720. \Hy@temp{b5paper}
  2721. \Hy@temp{letterpaper}
  2722. \Hy@temp{legalpaper}
  2723. \Hy@temp{executivepaper}
  2724. \define@key{Hyp}{setpagesize}[true]{%
  2725.   \Hy@boolkey{setpagesize}{#1}%
  2726. }
  2727. \define@key{Hyp}{debug}[true]{%
  2728.   \Hy@boolkey{debug}{#1}%
  2729. }
  2730. \define@key{Hyp}{linktocpage}[true]{%
  2731.   \Hy@boolkey{linktocpage}{#1}%
  2732.   \ifHy@linktocpage
  2733.     \let\Hy@linktoc\Hy@linktoc@page
  2734.   \else
  2735.     \let\Hy@linktoc\Hy@linktoc@section
  2736.   \fi
  2737. }
  2738. \chardef\Hy@linktoc@none=0 %
  2739. \chardef\Hy@linktoc@section=1 %
  2740. \chardef\Hy@linktoc@page=2 %
  2741. \chardef\Hy@linktoc@all=3 %
  2742. \ifHy@linktocpage
  2743.   \let\Hy@linktoc\Hy@linktoc@page
  2744. \else
  2745.   \let\Hy@linktoc\Hy@linktoc@section
  2746. \fi
  2747. \define@key{Hyp}{linktoc}{%
  2748.   \@ifundefined{Hy@linktoc@#1}{%
  2749.     \Hy@Warning{%
  2750.       Unexpected value `#1' of\MessageBreak
  2751.       option `linktoc' instead of `none',\MessageBreak
  2752.       `section', `page' or `all'%
  2753.     }%
  2754.   }{%
  2755.     \expandafter\let\expandafter\Hy@linktoc
  2756.     \csname Hy@linktoc@#1\endcsname
  2757.   }%
  2758. }
  2759. \define@key{Hyp}{extension}{\def\XR@ext{#1}}
  2760. \let\XR@ext\relax
  2761. \define@key{Hyp}{verbose}[true]{%
  2762.   \Hy@boolkey{verbose}{#1}%
  2763. }
  2764. \define@key{Hyp}{typexml}[true]{%
  2765.   \Hy@boolkey{typexml}{#1}%
  2766. }
  2767. \define@key{Hyp}{raiselinks}[true]{%
  2768.   \Hy@boolkey{raiselinks}{#1}%
  2769. }
  2770. \def\Hy@setbreaklinks#1{%
  2771.   \csname breaklinks#1\endcsname
  2772. }
  2773. \def\Hy@breaklinks@unsupported{%
  2774.   \ifx\Hy@setbreaklinks\@gobble
  2775.     \ifHy@breaklinks
  2776.       \Hy@WarningNoLine{%
  2777.         You have enabled option `breaklinks'.\MessageBreak
  2778.         But driver `\Hy@driver.def' does not suppport this.\MessageBreak
  2779.         Expect trouble with the link areas of broken links%
  2780.       }%
  2781.     \fi
  2782.   \fi
  2783. }
  2784. \define@key{Hyp}{breaklinks}[true]{%
  2785.   \Hy@boolkey{breaklinks}{#1}%
  2786.   \let\Hy@setbreaklinks\@gobble
  2787. }
  2788. \define@key{Hyp}{localanchorname}[true]{%
  2789.   \Hy@boolkey{localanchorname}{#1}%
  2790. }
  2791. \define@key{Hyp}{pageanchor}[true]{%
  2792.   \Hy@boolkey{pageanchor}{#1}%
  2793. }
  2794. \define@key{Hyp}{plainpages}[true]{%
  2795.   \Hy@boolkey{plainpages}{#1}%
  2796. }
  2797. \define@key{Hyp}{naturalnames}[true]{%
  2798.   \Hy@boolkey{naturalnames}{#1}%
  2799. }
  2800. \define@key{Hyp}{hypertexnames}[true]{%
  2801.   \Hy@boolkey{hypertexnames}{#1}%
  2802. }
  2803. \define@key{Hyp}{nesting}[true]{%
  2804.   \Hy@boolkey{nesting}{#1}%
  2805. }
  2806. \define@key{Hyp}{destlabel}[true]{%
  2807.   \Hy@boolkey{destlabel}{#1}%
  2808. }
  2809. \define@key{Hyp}{unicode}[true]{%
  2810.   \Hy@boolkey{unicode}{#1}%
  2811.   \ifHy@unicode
  2812.     \def\HyPsd@pdfencoding{unicode}%
  2813.     \HyPsd@LoadUnicode
  2814.   \else
  2815.     \def\HyPsd@pdfencoding{pdfdoc}%
  2816.   \fi
  2817. }
  2818. \Hy@AtBeginDocument{%
  2819.   \ifx\HyPsd@LoadUnicode\relax
  2820.   \else
  2821.     \def\HyPsd@LoadUnicode{%
  2822.       \Hy@Error{%
  2823.         Unicode support for bookmarks is not available.\MessageBreak
  2824.         Activate unicode support by using one of the options\MessageBreak
  2825.         `unicode', `pdfencoding=unicode', `pdfencoding=auto'\MessageBreak
  2826.         in the preamble%
  2827.       }\@ehc
  2828.       \global\let\HyPsd@LoadUnicode\relax
  2829.       \global\Hy@unicodefalse
  2830.       \global\let\Hy@unicodetrue\Hy@unicodefalse
  2831.     }%
  2832.   \fi
  2833. }
  2834. \define@key{Hyp}{pdfencoding}{%
  2835.   \edef\HyPsd@temp{#1}%
  2836.   \ifx\HyPsd@temp\HyPsd@pdfencoding@pdfdoc
  2837.     \let\HyPsd@pdfencoding\HyPsd@temp
  2838.     \Hy@unicodefalse
  2839.   \else
  2840.     \ifcase\ifx\HyPsd@temp\HyPsd@pdfencoding@unicode
  2841.              \z@
  2842.            \else
  2843.              \ifx\HyPsd@temp\HyPsd@pdfencoding@auto
  2844.                \z@
  2845.              \else
  2846.                \@ne
  2847.              \fi
  2848.            \fi
  2849.       \let\HyPsd@pdfencoding\HyPsd@temp
  2850.       \hypersetup{unicode}%
  2851.       \ifHy@unicode
  2852.         \def\HyPsd@pdfencoding{#1}%
  2853.         \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
  2854.           \HyPsd@LoadStringEnc
  2855.         \fi
  2856.       \else
  2857.         \Hy@Warning{Cannot switch to unicode bookmarks}%
  2858.         \let\HyPsd@pdfencoding\HyPsd@pdfencoding@pdfdoc
  2859.       \fi
  2860.     \else
  2861.       \@onelevel@sanitize\HyPsd@temp
  2862.       \Hy@Warning{%
  2863.         Values of option `pdfencoding':\MessageBreak
  2864.         `pdfdoc', `unicode', `auto'.\MessageBreak
  2865.         Ignoring unknown value `\HyPsd@temp'%
  2866.       }%
  2867.     \fi
  2868.   \fi
  2869. }
  2870. \def\HyPsd@pdfencoding@auto{auto}
  2871. \def\HyPsd@pdfencoding@pdfdoc{pdfdoc}
  2872. \def\HyPsd@pdfencoding@unicode{unicode}
  2873. \let\HyPsd@pdfencoding\Hy@pdfencoding@pdfdoc
  2874. \def\HyPsd@LoadStringEnc{%
  2875.   \RequirePackage{stringenc}[2009/12/15]%
  2876.   \let\HyPsd@LoadStringEnc\relax
  2877. }
  2878. \Hy@AtBeginDocument{%
  2879.   \@ifpackageloaded{stringenc}{%
  2880.     \let\HyPsd@LoadStringEnc\relax
  2881.   }{%
  2882.     \def\HyPsd@LoadStringEnc{%
  2883.       \Hy@WarningNoLine{%
  2884.         Missing package `stringenc'. Use `pdfencoding=auto'\MessageBreak
  2885.         in the preamble or load the package there%
  2886.       }%
  2887.     }%
  2888.   }%
  2889. }
  2890. \define@key{Hyp}{psdextra}[true]{%
  2891.   \Hy@boolkey{psdextra}{#1}%
  2892.   \HyPsd@LoadExtra
  2893. }
  2894. \def\hypersetup{\kvsetkeys{Hyp}}
  2895. \newif\ifHy@setpdfversion
  2896. \define@key{Hyp}{pdfversion}{%
  2897.   \@ifundefined{Hy@pdfversion@#1}{%
  2898.     \PackageWarning{hyperref}{%
  2899.       Unsupported PDF version `#1'.\MessageBreak
  2900.       Valid values: 1.2 until 1.9%
  2901.     }%
  2902.   }{%
  2903.     \Hy@setpdfversiontrue
  2904.     \edef\Hy@pdfversion{\@nameuse{Hy@pdfversion@#1}}%
  2905.   }%
  2906. }
  2907. \@namedef{Hy@pdfversion@1.2}{2}%
  2908. \@namedef{Hy@pdfversion@1.3}{3}%
  2909. \@namedef{Hy@pdfversion@1.4}{4}%
  2910. \@namedef{Hy@pdfversion@1.5}{5}%
  2911. \@namedef{Hy@pdfversion@1.6}{6}%
  2912. \@namedef{Hy@pdfversion@1.7}{7}%
  2913. \@namedef{Hy@pdfversion@1.8}{8}%
  2914. \@namedef{Hy@pdfversion@1.9}{9}%
  2915. \def\Hy@pdfversion{5}
  2916. \newif\ifHy@DviMode
  2917. \let\Hy@DviErrMsg\ltx@empty
  2918. \ifpdf
  2919.  \def\Hy@DviErrMsg{pdfTeX or LuaTeX is running in PDF mode}%
  2920. \else
  2921.   \ifxetex
  2922.     \def\Hy@DviErrMsg{XeTeX is running}%
  2923.   \else
  2924.     \ifvtex
  2925.       \ifvtexdvi
  2926.         \Hy@DviModetrue
  2927.       \else
  2928.         \def\Hy@DviErrMsg{VTeX is running, but not in DVI mode}%
  2929.       \fi
  2930.     \else
  2931.       \Hy@DviModetrue
  2932.     \fi
  2933.   \fi
  2934. \fi
  2935. \def\HyOpt@CheckDvi#1{%
  2936.   \ifHy@DviMode
  2937.     \expandafter\ltx@firstofone
  2938.   \else
  2939.     \Hy@Error{%
  2940.       Wrong DVI mode driver option `#1',\MessageBreak
  2941.       because \Hy@DviErrMsg
  2942.     }\@ehc
  2943.     \expandafter\ltx@gobble
  2944.   \fi
  2945. }
  2946. \DeclareVoidOption{tex4ht}{%
  2947.   \Hy@texhttrue
  2948.   \kvsetkeys{Hyp}{colorlinks=true}%
  2949.   \def\BeforeTeXIVht{\RequirePackage{color}}%
  2950.   \def\Hy@driver{htex4ht}%
  2951.   \def\MaybeStopEarly{%
  2952.     \Hy@Message{Stopped early}%
  2953.     \Hy@AtBeginDocument{%
  2954.       \PDF@FinishDoc
  2955.       \gdef\PDF@FinishDoc{}%
  2956.     }%
  2957.     \endinput
  2958.   }%
  2959. }
  2960. \DeclareVoidOption{pdftex}{%
  2961.   \ifpdf
  2962.     \def\Hy@driver{hpdftex}%
  2963.     \PassOptionsToPackage{pdftex}{color}%
  2964.   \else
  2965.     \Hy@Error{%
  2966.       Wrong driver option `pdftex',\MessageBreak
  2967.       because pdfTeX in PDF mode is not detected%
  2968.     }\@ehc
  2969.   \fi
  2970. }
  2971. \DeclareVoidOption{luatex}{%
  2972.   \ifpdf
  2973.     \ifx\pdfextension\@undefined
  2974.       \def\Hy@driver{hpdftex}%
  2975.       \PassOptionsToPackage{pdftex}{color}%
  2976.     \else
  2977.       \def\Hy@driver{hluatex}%
  2978.       \PassOptionsToPackage{luatex}{color}%
  2979.     \fi
  2980.   \else
  2981.     \Hy@Error{%
  2982.       Wrong driver option `luatex',\MessageBreak
  2983.       because luaTeX in PDF mode is not detected%
  2984.     }\@ehc
  2985.   \fi
  2986. }
  2987. \DeclareVoidOption{nativepdf}{%
  2988.   \HyOpt@CheckDvi{nativepdf}{%
  2989.     \def\Hy@driver{hdvips}%
  2990.     \PassOptionsToPackage{dvips}{color}%
  2991.   }%
  2992. }
  2993. \DeclareVoidOption{dvipdfm}{%
  2994.   \HyOpt@CheckDvi{dvipdfm}{%
  2995.     \def\Hy@driver{hdvipdfm}%
  2996.   }%
  2997. }
  2998. \DeclareVoidOption{dvipdfmx}{%
  2999.   \HyOpt@CheckDvi{dvipdfmx}{%
  3000.     \def\Hy@driver{hdvipdfm}%
  3001.     \PassOptionsToPackage{dvipdfmx}{color}%
  3002.   }%
  3003. }
  3004. \define@key{Hyp}{dvipdfmx-outline-open}[true]{%
  3005.   \expandafter\ifx\csname if#1\expandafter\endcsname
  3006.                   \csname iftrue\endcsname
  3007.     \chardef\SpecialDvipdfmxOutlineOpen\@ne
  3008.   \else
  3009.     \chardef\SpecialDvipdfmxOutlineOpen\z@
  3010.   \fi
  3011. }
  3012. \DeclareVoidOption{xetex}{%
  3013.   \ifxetex
  3014.     \def\Hy@driver{hxetex}%
  3015.   \else
  3016.     \Hy@Error{%
  3017.       Wrong driver option `xetex',\MessageBreak
  3018.       because XeTeX is not detected%
  3019.     }\@ehc
  3020.   \fi
  3021. }
  3022. \DeclareVoidOption{pdfmark}{%
  3023.   \HyOpt@CheckDvi{pdfmark}{%
  3024.     \def\Hy@driver{hdvips}%
  3025.   }%
  3026. }
  3027. \DeclareVoidOption{dvips}{%
  3028.   \HyOpt@CheckDvi{dvips}{%
  3029.     \def\Hy@driver{hdvips}%
  3030.     \PassOptionsToPackage{dvips}{color}%
  3031.   }%
  3032. }
  3033. \DeclareVoidOption{hypertex}{%
  3034.   \HyOpt@CheckDvi{hypertex}{%
  3035.     \def\Hy@driver{hypertex}%
  3036.   }%
  3037. }
  3038. \let\Hy@MaybeStopNow\relax
  3039. \DeclareVoidOption{vtex}{%
  3040.   \ifvtex
  3041.     \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 %
  3042.       \def\Hy@driver{hvtex}%
  3043.     \else
  3044.       \ifnum\OpMode=10\relax
  3045.         \def\Hy@driver{hvtexhtm}%
  3046.         \def\MaybeStopEarly{%
  3047.            \Hy@Message{Stopped early}%
  3048.            \Hy@AtBeginDocument{%
  3049.              \PDF@FinishDoc
  3050.              \gdef\PDF@FinishDoc{}%
  3051.            }%
  3052.            \endinput
  3053.         }%
  3054.       \else
  3055.         \Hy@Error{%
  3056.           Wrong driver option `vtex',\MessageBreak
  3057.           because of wrong OpMode (\the\OpMode)%
  3058.         }\@ehc
  3059.       \fi
  3060.     \fi
  3061.   \else
  3062.     \Hy@Error{%
  3063.       Wrong driver option `vtex',\MessageBreak
  3064.       because VTeX is not running%
  3065.     }\@ehc
  3066.   \fi
  3067. }
  3068. \DeclareVoidOption{vtexpdfmark}{%
  3069.   \ifvtex
  3070.     \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 %
  3071.       \def\Hy@driver{hvtexmrk}%
  3072.     \else
  3073.       \Hy@Error{%
  3074.         Wrong driver option `vtexpdfmark',\MessageBreak
  3075.         because of wrong OpMode (\the\OpMode)%
  3076.       }\@ehc
  3077.     \fi
  3078.   \else
  3079.     \Hy@Error{%
  3080.       Wrong driver option `vtexpdfmark,\MessageBreak
  3081.       because VTeX is not running%
  3082.     }\@ehc
  3083.   \fi
  3084. }
  3085. \DeclareVoidOption{dviwindo}{%
  3086.   \HyOpt@CheckDvi{dviwindo}{%
  3087.     \def\Hy@driver{hdviwind}%
  3088.     \kvsetkeys{Hyp}{colorlinks}%
  3089.     \PassOptionsToPackage{dviwindo}{color}%
  3090.   }%
  3091. }
  3092. \DeclareVoidOption{dvipsone}{%
  3093.   \HyOpt@CheckDvi{dvipsone}{%
  3094.     \def\Hy@driver{hdvipson}%
  3095.     \PassOptionsToPackage{dvipsone}{color}%
  3096.   }%
  3097. }
  3098. \DeclareVoidOption{textures}{%
  3099.   \HyOpt@CheckDvi{textures}{%
  3100.     \def\Hy@driver{htexture}%
  3101.   }%
  3102. }
  3103. \DeclareVoidOption{latex2html}{%
  3104.   \HyOpt@CheckDvi{latex2html}{%
  3105.     \Hy@AtBeginDocument{\@@latextohtmlX}%
  3106.   }%
  3107. }
  3108. \DeclareVoidOption{ps2pdf}{%
  3109.   \HyOpt@CheckDvi{ps2pdf}{%
  3110.     \def\Hy@driver{hdvips}%
  3111.     \PassOptionsToPackage{dvips}{color}%
  3112.   }%
  3113. }
  3114. \let\HyOpt@DriverFallback\ltx@empty
  3115. \define@key{Hyp}{driverfallback}{%
  3116.   \ifHy@DviMode
  3117.     \def\HyOpt@DriverFallback{#1}%
  3118.     \Hy@Match\HyOpt@DriverFallback{}{%
  3119.       ^(|dvipdfm|dvipdfmx|dvips|dvipsone|dviwindo|hypertex|ps2pdf|%
  3120.        latex2html|tex4ht)$%
  3121.     }{}{%
  3122.       \Hy@Warning{%
  3123.         Invalid driver `#1' for option\MessageBreak
  3124.         `driverfallback'%
  3125.       }%
  3126.       \let\HyOpt@DriverFallback\ltx@empty
  3127.     }%
  3128.   \fi
  3129. }
  3130. \let\HyOpt@CustomDriver\ltx@empty
  3131. \define@key{Hyp}{customdriver}{%
  3132.   \IfFileExists{#1.def}{%
  3133.     \def\HyOpt@CustomDriver{#1}%
  3134.   }{%
  3135.     \Hy@Warning{%
  3136.       Missing driver file `#1.def',\MessageBreak
  3137.       ignoring custom driver%
  3138.     }%
  3139.   }%
  3140. }
  3141. \define@key{Hyp}{hyperfigures}[true]{%
  3142.   \Hy@boolkey{hyperfigures}{#1}%
  3143. }
  3144. \define@key{Hyp}{hyperfootnotes}[true]{%
  3145.   \Hy@boolkey{hyperfootnotes}{#1}%
  3146. }
  3147. \def\back@none{none}
  3148. \def\back@section{section}
  3149. \def\back@page{page}
  3150. \def\back@slide{slide}
  3151. \define@key{Hyp}{backref}[section]{%
  3152.   \lowercase{\def\Hy@tempa{#1}}%
  3153.   \ifx\Hy@tempa\@empty
  3154.     \let\Hy@tempa\back@section
  3155.   \fi
  3156.   \ifx\Hy@tempa\Hy@false
  3157.     \let\Hy@tempa\back@none
  3158.   \fi
  3159.   \ifx\Hy@tempa\back@slide
  3160.     \let\Hy@tempa\back@section
  3161.   \fi
  3162.   \ifx\Hy@tempa\back@page
  3163.     \PassOptionsToPackage{hyperpageref}{backref}%
  3164.     \Hy@backreftrue
  3165.   \else
  3166.     \ifx\Hy@tempa\back@section
  3167.       \PassOptionsToPackage{hyperref}{backref}%
  3168.       \Hy@backreftrue
  3169.     \else
  3170.       \ifx\Hy@tempa\back@none
  3171.         \Hy@backreffalse
  3172.       \else
  3173.         \Hy@WarnOptionValue{#1}{backref}{%
  3174.           `section', `slide', `page', `none',\MessageBreak
  3175.           or `false'}%
  3176.       \fi
  3177.     \fi
  3178.   \fi
  3179. }
  3180. \define@key{Hyp}{pagebackref}[true]{%
  3181.   \edef\Hy@tempa{#1}%
  3182.   \lowercase\expandafter{%
  3183.     \expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}%
  3184.   }%
  3185.   \ifx\Hy@tempa\@empty
  3186.     \let\Hy@tempa\Hy@true
  3187.   \fi
  3188.   \ifx\Hy@tempa\Hy@true
  3189.     \PassOptionsToPackage{hyperpageref}{backref}%
  3190.     \Hy@backreftrue
  3191.   \else
  3192.     \ifx\Hy@tempa\Hy@false
  3193.       \Hy@backreffalse
  3194.     \else
  3195.       \Hy@WarnOptionValue{#1}{pagebackref}{`true' or `false'}%
  3196.     \fi
  3197.   \fi
  3198. }
  3199. \define@key{Hyp}{hyperindex}[true]{%
  3200.   \Hy@boolkey{hyperindex}{#1}%
  3201. }
  3202. \define@key{Hyp}{encap}[\|]{%
  3203.   \def\HyInd@EncapChar{#1}%
  3204. }
  3205. \def\HyLang@afrikaans{%
  3206.   \def\equationautorefname{Vergelyking}%
  3207.   \def\footnoteautorefname{Voetnota}%
  3208.   \def\itemautorefname{Item}%
  3209.   \def\figureautorefname{Figuur}%
  3210.   \def\tableautorefname{Tabel}%
  3211.   \def\partautorefname{Deel}%
  3212.   \def\appendixautorefname{Bylae}%
  3213.   \def\chapterautorefname{Hoofstuk}%
  3214.   \def\sectionautorefname{Afdeling}%
  3215.   \def\subsectionautorefname{Subafdeling}%
  3216.   \def\subsubsectionautorefname{Subsubafdeling}%
  3217.   \def\paragraphautorefname{Paragraaf}%
  3218.   \def\subparagraphautorefname{Subparagraaf}%
  3219.   \def\FancyVerbLineautorefname{Lyn}%
  3220.   \def\theoremautorefname{Teorema}%
  3221.   \def\pageautorefname{Bladsy}%
  3222. }
  3223. \def\HyLang@english{%
  3224.   \def\equationautorefname{Equation}%
  3225.   \def\footnoteautorefname{footnote}%
  3226.   \def\itemautorefname{item}%
  3227.   \def\figureautorefname{Figure}%
  3228.   \def\tableautorefname{Table}%
  3229.   \def\partautorefname{Part}%
  3230.   \def\appendixautorefname{Appendix}%
  3231.   \def\chapterautorefname{chapter}%
  3232.   \def\sectionautorefname{section}%
  3233.   \def\subsectionautorefname{subsection}%
  3234.   \def\subsubsectionautorefname{subsubsection}%
  3235.   \def\paragraphautorefname{paragraph}%
  3236.   \def\subparagraphautorefname{subparagraph}%
  3237.   \def\FancyVerbLineautorefname{line}%
  3238.   \def\theoremautorefname{Theorem}%
  3239.   \def\pageautorefname{page}%
  3240. }
  3241. \def\HyLang@french{%
  3242.   \def\equationautorefname{\'Equation}%
  3243.   \def\footnoteautorefname{note}%
  3244.   \def\itemautorefname{item}%
  3245.   \def\figureautorefname{Figure}%
  3246.   \def\tableautorefname{Tableau}%
  3247.   \def\partautorefname{Partie}%
  3248.   \def\appendixautorefname{Appendice}%
  3249.   \def\chapterautorefname{chapitre}%
  3250.   \def\sectionautorefname{section}%
  3251.   \def\subsectionautorefname{sous-section}%
  3252.   \def\subsubsectionautorefname{sous-sous-section}%
  3253.   \def\paragraphautorefname{paragraphe}%
  3254.   \def\subparagraphautorefname{sous-paragraphe}%
  3255.   \def\FancyVerbLineautorefname{ligne}%
  3256.   \def\theoremautorefname{Th\'eor\`eme}%
  3257.   \def\pageautorefname{page}%
  3258. }
  3259. \def\HyLang@german{%
  3260.   \def\equationautorefname{Gleichung}%
  3261.   \def\footnoteautorefname{Fu\ss note}%
  3262.   \def\itemautorefname{Punkt}%
  3263.   \def\figureautorefname{Abbildung}%
  3264.   \def\tableautorefname{Tabelle}%
  3265.   \def\partautorefname{Teil}%
  3266.   \def\appendixautorefname{Anhang}%
  3267.   \def\chapterautorefname{Kapitel}%
  3268.   \def\sectionautorefname{Abschnitt}%
  3269.   \def\subsectionautorefname{Unterabschnitt}%
  3270.   \def\subsubsectionautorefname{Unterunterabschnitt}%
  3271.   \def\paragraphautorefname{Absatz}%
  3272.   \def\subparagraphautorefname{Unterabsatz}%
  3273.   \def\FancyVerbLineautorefname{Zeile}%
  3274.   \def\theoremautorefname{Theorem}%
  3275.   \def\pageautorefname{Seite}%
  3276. }
  3277. \def\HyLang@italian{%
  3278.   \def\equationautorefname{Equazione}%
  3279.   \def\footnoteautorefname{nota}%
  3280.   \def\itemautorefname{punto}%
  3281.   \def\figureautorefname{Figura}%
  3282.   \def\tableautorefname{Tabella}%
  3283.   \def\partautorefname{Parte}%
  3284.   \def\appendixautorefname{Appendice}%
  3285.   \def\chapterautorefname{Capitolo}%
  3286.   \def\sectionautorefname{sezione}%
  3287.   \def\subsectionautorefname{sottosezione}%
  3288.   \def\subsubsectionautorefname{sottosottosezione}%
  3289.   \def\paragraphautorefname{paragrafo}%
  3290.   \def\subparagraphautorefname{sottoparagrafo}%
  3291.   \def\FancyVerbLineautorefname{linea}%
  3292.   \def\theoremautorefname{Teorema}%
  3293.   \def\pageautorefname{Pag.\@}%
  3294. }
  3295. \def\HyLang@magyar{%
  3296.   \def\equationautorefname{Egyenlet}%
  3297.   \def\footnoteautorefname{l\'abjegyzet}%
  3298.   \def\itemautorefname{Elem}%
  3299.   \def\figureautorefname{\'Abra}%
  3300.   \def\tableautorefname{T\'abl\'azat}%
  3301.   \def\partautorefname{R\'esz}%
  3302.   \def\appendixautorefname{F\"uggel\'ek}%
  3303.   \def\chapterautorefname{fejezet}%
  3304.   \def\sectionautorefname{szakasz}%
  3305.   \def\subsectionautorefname{alszakasz}%
  3306.   \def\subsubsectionautorefname{alalszakasz}%
  3307.   \def\paragraphautorefname{bekezd\'es}%
  3308.   \def\subparagraphautorefname{albekezd\'es}%
  3309.   \def\FancyVerbLineautorefname{sor}%
  3310.   \def\theoremautorefname{T\'etel}%
  3311.   \def\pageautorefname{oldal}%
  3312. }
  3313. \def\HyLang@portuges{%
  3314.   \def\equationautorefname{Equa\c c\~ao}%
  3315.   \def\footnoteautorefname{Nota de rodap\'e}%
  3316.   \def\itemautorefname{Item}%
  3317.   \def\figureautorefname{Figura}%
  3318.   \def\tableautorefname{Tabela}%
  3319.   \def\partautorefname{Parte}%
  3320.   \def\appendixautorefname{Ap\^endice}%
  3321.   \def\chapterautorefname{Cap\'itulo}%
  3322.   \def\sectionautorefname{Se\c c\~ao}%
  3323.   \def\subsectionautorefname{Subse\c c\~ao}%
  3324.   \def\subsubsectionautorefname{Subsubse\c c\~ao}%
  3325.   \def\paragraphautorefname{par\'agrafo}%
  3326.   \def\subparagraphautorefname{subpar\'agrafo}%
  3327.   \def\FancyVerbLineautorefname{linha}%
  3328.   \def\theoremautorefname{Teorema}%
  3329.   \def\pageautorefname{P\'agina}%
  3330. }
  3331. \def\HyLang@russian{%
  3332.   \def\equationautorefname{\cyr\cyrv\cyrery\cyrr.}%
  3333.   \def\footnoteautorefname{%
  3334.     \cyr\cyrp\cyro\cyrd\cyrs\cyrt\cyrr.\ \cyrp\cyrr\cyri\cyrm.%
  3335.   }%
  3336.   \def\itemautorefname{\cyr\cyrp.}%
  3337.   \def\figureautorefname{\cyr\cyrr\cyri\cyrs.}%
  3338.   \def\tableautorefname{\cyr\cyrt\cyra\cyrb\cyrl.}%
  3339.   \def\partautorefname{\cyr\cyrch.}%
  3340.   \def\chapterautorefname{\cyr\cyrg\cyrl.}%
  3341.   \def\sectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
  3342.   \def\appendixautorefname{\cyr\cyrp\cyrr\cyri\cyrl.}%
  3343.   \def\subsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
  3344.   \def\subsubsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
  3345.   \def\paragraphautorefname{\cyr\cyrp.}%
  3346.   \def\subparagraphautorefname{\cyr\cyrp.}%
  3347.   \def\FancyVerbLineautorefname{\cyr\cyrs\cyrt\cyrr.}%
  3348.   \def\theoremautorefname{\cyr\cyrt\cyre\cyro\cyrr.}%
  3349.   \def\pageautorefname{\cyr\cyrs.}%
  3350. }
  3351. \def\HyLang@spanish{%
  3352.   \def\equationautorefname{Ecuaci\'on}%
  3353.   \def\footnoteautorefname{Nota a pie de p\'agina}%
  3354.   \def\itemautorefname{Elemento}%
  3355.   \def\figureautorefname{Figura}%
  3356.   \def\tableautorefname{Tabla}%
  3357.   \def\partautorefname{Parte}%
  3358.   \def\appendixautorefname{Ap\'endice}%
  3359.   \def\chapterautorefname{Cap\'itulo}%
  3360.   \def\sectionautorefname{Secci\'on}%
  3361.   \def\subsectionautorefname{Subsecci\'on}%
  3362.   \def\subsubsectionautorefname{Subsubsecci\'on}%
  3363.   \def\paragraphautorefname{P\'arrafo}%
  3364.   \def\subparagraphautorefname{Subp\'arrafo}%
  3365.   \def\FancyVerbLineautorefname{L\'inea}%
  3366.   \def\theoremautorefname{Teorema}%
  3367.   \def\pageautorefname{P\'agina}%
  3368. }
  3369. \def\HyLang@catalan{%
  3370. \def\equationautorefname{Equaci\'o}%
  3371. \def\footnoteautorefname{Nota al peu de p\`agina}%
  3372. \def\itemautorefname{Element}%
  3373. \def\figureautorefname{Figura}%
  3374. \def\tableautorefname{Taula}%
  3375. \def\partautorefname{Part}%
  3376. \def\appendixautorefname{Ap\`endix}%
  3377. \def\chapterautorefname{Cap\'itol}%
  3378. \def\sectionautorefname{Secci\'o}%
  3379. \def\subsectionautorefname{Subsecci\'o}%
  3380. \def\subsubsectionautorefname{Subsubsecci\'o}%
  3381. \def\paragraphautorefname{Par\`agraf}%
  3382. \def\subparagraphautorefname{Subpar\`agraf}%
  3383. \def\FancyVerbLineautorefname{L\'inia}%
  3384. \def\theoremautorefname{Teorema}%
  3385. \def\pageautorefname{P\`agina}%
  3386. }
  3387. \def\HyLang@vietnamese{%
  3388.   \def\equationautorefname{Ph\uhorn{}\ohorn{}ng tr\`inh}%
  3389.   \def\footnoteautorefname{Ch\'u th\'ich}%
  3390.   \def\itemautorefname{m\d{u}c}%
  3391.   \def\figureautorefname{H\`inh}%
  3392.   \def\tableautorefname{B\h{a}ng}%
  3393.   \def\partautorefname{Ph\`\acircumflex{}n}%
  3394.   \def\appendixautorefname{Ph\d{u} l\d{u}c}%
  3395.   \def\chapterautorefname{ch\uhorn{}\ohorn{}ng}%
  3396.   \def\sectionautorefname{m\d{u}c}%
  3397.   \def\subsectionautorefname{m\d{u}c}%
  3398.   \def\subsubsectionautorefname{m\d{u}c}%
  3399.   \def\paragraphautorefname{\dj{}o\d{a}n}%
  3400.   \def\subparagraphautorefname{\dj{}o\d{a}n}%
  3401.   \def\FancyVerbLineautorefname{d\`ong}%
  3402.   \def\theoremautorefname{\DJ{}\d{i}nh l\'y}%
  3403.   \def\pageautorefname{Trang}%
  3404. }
  3405. \def\HyLang@greek{%
  3406.     \def\equationautorefname{\textEpsilon\textxi\acctonos\textiota\textsigma\textomega\textsigma\texteta}%
  3407.     \def\footnoteautorefname{\textupsilon\textpi\textomicron\textsigma\texteta\textmu\textepsilon\acctonos\textiota\textomega\textsigma\texteta}%
  3408.     \def\itemautorefname{\textalpha\textnu\texttau\textiota\textkappa\textepsilon\acctonos\textiota\textmu\textepsilon\textnu\textomicron}%
  3409.     \def\figureautorefname{\textSigma\textchi\acctonos\texteta\textmu\textalpha}%
  3410.     \def\tableautorefname{\textPi\acctonos\textiota\textnu\textalpha\textkappa\textalpha}%
  3411.     \def\partautorefname{\textMu\acctonos\textepsilon\textrho\textomicron\textvarsigma}%
  3412.     \def\appendixautorefname{\textPi\textalpha\textrho\acctonos\textalpha\textrho\texttau\texteta\textmu\textalpha}%
  3413.     \def\chapterautorefname{\textkappa\textepsilon\textphi\acctonos\textalpha\textlambda\textalpha\textiota\textomicron}%
  3414.     \def\sectionautorefname{\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}%
  3415.     \def\subsectionautorefname{\textupsilon\textpi\textomicron\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}%
  3416.     \def\subsubsectionautorefname{\textupsilon\textpi\textomicron-\textupsilon\textpi\textomicron\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}%
  3417.     \def\paragraphautorefname{\textpi\textalpha\textrho\acctonos\textalpha\textgamma\textrho\textalpha\textphi\textomicron\textvarsigma}%
  3418.     \def\subparagraphautorefname{\textupsilon\textpi\textomicron\textpi\textalpha\textrho\acctonos\textalpha\textgamma\textrho\textalpha\textphi\textomicron\textvarsigma}%
  3419.     \def\FancyVerbLineautorefname{\textgamma\textrho\textalpha\textmu\textmu\acctonos\texteta}%
  3420.     \def\theoremautorefname{\textTheta\textepsilon\acctonos\textomega\textrho\texteta\textmu\textalpha}%
  3421.     \def\pageautorefname{\textsigma\textepsilon\textlambda\acctonos\textiota\textdelta\textalpha}%
  3422. }
  3423. \def\HyLang@addto#1#2{%
  3424.   #2%
  3425.   \@temptokena{#2}%
  3426.   \ifx#1\relax
  3427.     \let#1\@empty
  3428.   \fi
  3429.   \ifx#1\@undefined
  3430.     \edef#1{\the\@temptokena}%
  3431.   \else
  3432.     \toks@\expandafter{#1}%
  3433.     \edef#1{\the\toks@\the\@temptokena}%
  3434.   \fi
  3435.   \@temptokena{}\toks@\@temptokena
  3436. }
  3437. \def\HyLang@DeclareLang#1#2#3{%
  3438.   \@ifpackagewith{babel}{#1}{%
  3439.     \expandafter\HyLang@addto
  3440.         \csname extras#1\expandafter\endcsname
  3441.         \csname HyLang@#2\endcsname
  3442.     \begingroup
  3443.       \edef\x{\endgroup
  3444.         #3%
  3445.       }%
  3446.     \x
  3447.     \@namedef{HyLang@#1@done}{}%
  3448.   }{}%
  3449.   \begingroup
  3450.     \edef\x##1##2{%
  3451.       \noexpand\ifx##2\relax
  3452.         \errmessage{No definitions for language #2' found!}%
  3453.       \noexpand\fi
  3454.       \endgroup
  3455.       \noexpand\define@key{Hyp}{#1}[]{%
  3456.         \noexpand\@ifundefined{HyLang@#1@done}{%
  3457.           \noexpand\HyLang@addto{\noexpand##1}{\noexpand##2}%
  3458.           #3%
  3459.           \noexpand\@namedef{HyLang@#1@done}{}%
  3460.         }{}%
  3461.       }%
  3462.     }%
  3463.   \expandafter\x\csname extras#1\expandafter\endcsname
  3464.                 \csname HyLang@#2\endcsname
  3465. }
  3466. \HyLang@DeclareLang{english}{english}{}
  3467. \HyLang@DeclareLang{UKenglish}{english}{}
  3468. \HyLang@DeclareLang{british}{english}{}
  3469. \HyLang@DeclareLang{USenglish}{english}{}
  3470. \HyLang@DeclareLang{american}{english}{}
  3471. \HyLang@DeclareLang{german}{german}{}
  3472. \HyLang@DeclareLang{austrian}{german}{}
  3473. \HyLang@DeclareLang{ngerman}{german}{}
  3474. \HyLang@DeclareLang{naustrian}{german}{}
  3475. \HyLang@DeclareLang{russian}{russian}{\noexpand\hypersetup{unicode}}
  3476. \HyLang@DeclareLang{brazil}{portuges}{}
  3477. \HyLang@DeclareLang{brazilian}{portuges}{}
  3478. \HyLang@DeclareLang{portuguese}{portuges}{}
  3479. \HyLang@DeclareLang{spanish}{spanish}{}
  3480. \HyLang@DeclareLang{catalan}{catalan}{}
  3481. \HyLang@DeclareLang{afrikaans}{afrikaans}{}
  3482. \HyLang@DeclareLang{french}{french}{}
  3483. \HyLang@DeclareLang{frenchb}{french}{}
  3484. \HyLang@DeclareLang{francais}{french}{}
  3485. \HyLang@DeclareLang{acadian}{french}{}
  3486. \HyLang@DeclareLang{canadien}{french}{}
  3487. \HyLang@DeclareLang{italian}{italian}{}
  3488. \HyLang@DeclareLang{magyar}{magyar}{}
  3489. \HyLang@DeclareLang{hungarian}{magyar}{}
  3490. \HyLang@DeclareLang{greek}{greek}{}
  3491. \DeclareVoidOption{vietnamese}{%
  3492.   \HyLang@addto\extrasvietnamese\HyLang@vietnamese
  3493.   \Hy@AtEndOfPackage{%
  3494.     \@ifundefined{T@PU}{}{%
  3495.       \input{puvnenc.def}%
  3496.     }%
  3497.   }%
  3498. }
  3499. \DeclareVoidOption{vietnam}{%
  3500.   \HyLang@addto\extrasvietnam\HyLang@vietnamese
  3501.   \Hy@AtEndOfPackage{%
  3502.     \@ifundefined{T@PU}{}{%
  3503.       \input{puvnenc.def}%
  3504.     }%
  3505.   }%
  3506. }
  3507. \DeclareVoidOption{arabic}{%
  3508.   \Hy@AtEndOfPackage{%
  3509.     \@ifundefined{T@PU}{}{%
  3510.       \input{puarenc.def}%
  3511.     }%
  3512.   }%
  3513. }
  3514. \define@key{Hyp}{colorlinks}[true]{%
  3515.   \Hy@boolkey{colorlinks}{#1}%
  3516. }
  3517. \DeclareVoidOption{hidelinks}{%
  3518.   \Hy@colorlinksfalse
  3519.   \Hy@ocgcolorlinksfalse
  3520.   \Hy@frenchlinksfalse
  3521.   \def\Hy@colorlink##1{\begingroup}%
  3522.   \def\Hy@endcolorlink{\endgroup}%
  3523.   \def\@pdfborder{0 0 0}%
  3524.   \let\@pdfborderstyle\ltx@empty
  3525. }
  3526. \define@key{Hyp}{ocgcolorlinks}[true]{%
  3527.   \Hy@boolkey{ocgcolorlinks}{#1}%
  3528. }
  3529. \Hy@AtBeginDocument{%
  3530.   \begingroup
  3531.     \@ifundefined{OBJ@OCG@view}{%
  3532.       \ifHy@ocgcolorlinks
  3533.         \Hy@Warning{%
  3534.           Driver does not support `ocgcolorlinks',\MessageBreak
  3535.           using `colorlinks' instead%
  3536.         }%
  3537.       \fi
  3538.     }{}%
  3539.   \endgroup
  3540. }
  3541. \define@key{Hyp}{frenchlinks}[true]{%
  3542.   \Hy@boolkey{frenchlinks}{#1}%
  3543. }
  3544. \begingroup\expandafter\expandafter\expandafter\endgroup
  3545. \expandafter\ifx\csname chapter\endcsname\relax
  3546.   \def\toclevel@part{0}%
  3547. \else
  3548.   \def\toclevel@part{-1}%
  3549. \fi
  3550. \def\toclevel@chapter{0}
  3551. \def\toclevel@section{1}
  3552. \def\toclevel@subsection{2}
  3553. \def\toclevel@subsubsection{3}
  3554. \def\toclevel@paragraph{4}
  3555. \def\toclevel@subparagraph{5}
  3556. \def\toclevel@figure{0}
  3557. \def\toclevel@table{0}
  3558. \@ifpackageloaded{listings}{%
  3559.   \providecommand*\theHlstlisting{\thelstlisting}%
  3560.   \providecommand*\toclevel@lstlisting{0}%
  3561. }{}
  3562. \@ifpackageloaded{listing}{%
  3563.   \providecommand*\theHlisting{\thelisting}%
  3564.   \providecommand*\toclevel@listing{0}%
  3565. }{}
  3566. \define@key{Hyp}{bookmarks}[true]{%
  3567.   \Hy@boolkey{bookmarks}{#1}%
  3568. }
  3569. \define@key{Hyp}{bookmarksopen}[true]{%
  3570.   \Hy@boolkey{bookmarksopen}{#1}%
  3571. }
  3572. \let\Hy@bookmarksdepth\c@tocdepth
  3573. \define@key{Hyp}{bookmarksdepth}[]{%
  3574.   \begingroup
  3575.     \edef\x{#1}%
  3576.     \ifx\x\empty
  3577.       \global\let\Hy@bookmarksdepth\c@tocdepth
  3578.     \else
  3579.       \@ifundefined{toclevel@\x}{%
  3580.         \@onelevel@sanitize\x
  3581.         \edef\y{\expandafter\@car\x\@nil}%
  3582.         \ifcase 0\expandafter\ifx\y-1\fi
  3583.                  \expandafter\ifnum\expandafter`\y>47 %
  3584.                    \expandafter\ifnum\expandafter`\y<58 1\fi\fi\relax
  3585.           \Hy@Warning{Unknown document division name (\x)}%
  3586.         \else
  3587.           \setbox\z@=\hbox{%
  3588.             \count@=\x
  3589.             \xdef\Hy@bookmarksdepth{\the\count@}%
  3590.           }%
  3591.         \fi
  3592.       }{%
  3593.         \setbox\z@=\hbox{%
  3594.           \count@=\csname toclevel@\x\endcsname
  3595.           \xdef\Hy@bookmarksdepth{\the\count@}%
  3596.         }%
  3597.       }%
  3598.     \fi
  3599.   \endgroup
  3600. }
  3601. \define@key{Hyp}{bookmarksopenlevel}{%
  3602.   \def\@bookmarksopenlevel{#1}%
  3603. }
  3604. \def\@bookmarksopenlevel{\maxdimen}
  3605. \define@key{Hyp}{bookmarkstype}{%
  3606.   \def\Hy@bookmarkstype{#1}%
  3607. }
  3608. \def\Hy@bookmarkstype{toc}
  3609. \define@key{Hyp}{bookmarksnumbered}[true]{%
  3610.   \Hy@boolkey{bookmarksnumbered}{#1}%
  3611. }
  3612. \define@key{Hyp}{CJKbookmarks}[true]{%
  3613.   \Hy@boolkey{CJKbookmarks}{#1}%
  3614. }
  3615. \def\Hy@temp#1{%
  3616.   \expandafter\Hy@@temp\csname @#1color\endcsname{#1}%
  3617. }
  3618. \def\Hy@@temp#1#2#3{%
  3619.   \define@key{Hyp}{#2color}{%
  3620.     \HyColor@HyperrefColor{##1}#1%
  3621.   }%
  3622.   \def#1{#3}%
  3623. }
  3624. \Hy@temp{link}{red}
  3625. \Hy@temp{anchor}{black}
  3626. \Hy@temp{cite}{green}
  3627. \Hy@temp{file}{cyan}
  3628. \Hy@temp{url}{magenta}
  3629. \Hy@temp{menu}{red}
  3630. \Hy@temp{run}{\@filecolor}
  3631. \define@key{Hyp}{pagecolor}{%
  3632.   \Hy@WarningPageColor
  3633. }
  3634. \def\Hy@WarningPageColor{%
  3635.   \Hy@WarningNoLine{Option `pagecolor' is not available anymore}%
  3636.   \global\let\Hy@WarningPageColor\relax
  3637. }
  3638. \define@key{Hyp}{allcolors}{%
  3639.   \HyColor@HyperrefColor{#1}\@linkcolor
  3640.  \HyColor@HyperrefColor{#1}\@anchorcolor
  3641.  \HyColor@HyperrefColor{#1}\@citecolor
  3642.  \HyColor@HyperrefColor{#1}\@filecolor
  3643.  \HyColor@HyperrefColor{#1}\@urlcolor
  3644.  \HyColor@HyperrefColor{#1}\@menucolor
  3645.  \HyColor@HyperrefColor{#1}\@runcolor
  3646. }
  3647. \def\hyperbaseurl#1{\def\@baseurl{#1}}
  3648. \define@key{Hyp}{baseurl}{\hyperbaseurl{#1}}
  3649. \let\@baseurl\@empty
  3650. \def\hyperlinkfileprefix#1{\def\Hy@linkfileprefix{#1}}
  3651. \define@key{Hyp}{linkfileprefix}{\hyperlinkfileprefix{#1}}
  3652. \hyperlinkfileprefix{file:}
  3653. \let\@pdfpagetransition\relax
  3654. \define@key{Hyp}{pdfpagetransition}{%
  3655.   \def\@pdfpagetransition{#1}%
  3656. }
  3657. \let\@pdfpageduration\relax
  3658. \define@key{Hyp}{pdfpageduration}{%
  3659.   \def\@pdfpageduration{#1}%
  3660.   \Hy@Match\@pdfpageduration{}{%
  3661.     ^(|[0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)$%
  3662.   }{}{%
  3663.     \Hy@Warning{%
  3664.       Invalid value `\@pdfpageduration'\MessageBreak
  3665.       of option `pdfpageduration'\MessageBreak
  3666.       is replaced by an empty value%
  3667.     }%
  3668.     \let\@pdfpageduration\ltx@empty
  3669.   }%
  3670. }
  3671. \newif\ifHy@useHidKey
  3672. \Hy@useHidKeyfalse
  3673. \define@key{Hyp}{pdfpagehidden}[true]{%
  3674.   \Hy@boolkey{pdfpagehidden}{#1}%
  3675.   \ifHy@pdfpagehidden
  3676.     \global\Hy@useHidKeytrue
  3677.   \fi
  3678. }
  3679. \def\Hy@ColorList{cite,file,link,menu,run,url}
  3680. \@for\Hy@temp:=\Hy@ColorList\do{%
  3681.   \edef\Hy@temp{%
  3682.     \noexpand\define@key{Hyp}{\Hy@temp bordercolor}{%
  3683.       \noexpand\HyColor@HyperrefBorderColor
  3684.           {##1}%
  3685.           \expandafter\noexpand\csname @\Hy@temp bordercolor\endcsname
  3686.           {hyperref}%
  3687.           {\Hy@temp bordercolor}%
  3688.     }%
  3689.   }%
  3690.   \Hy@temp
  3691. }
  3692. \define@key{Hyp}{pagebordercolor}{%
  3693.   \Hy@WarningPageBorderColor
  3694. }
  3695. \def\Hy@WarningPageBorderColor{%
  3696.   \Hy@WarningNoLine{Option `pagebordercolor' is not available anymore}%
  3697.   \global\let\Hy@WarningPageBorderColor\relax
  3698. }
  3699. \define@key{Hyp}{allbordercolors}{%
  3700.   \def\Hy@temp##1##2{%
  3701.     \HyColor@HyperrefBorderColor{#1}##1{hyperref}{##2bordercolor}%
  3702.   }%
  3703.   \Hy@temp\@citebordercolor{cite}%
  3704.   \Hy@temp\@filebordercolor{file}%
  3705.   \Hy@temp\@linkbordercolor{link}%
  3706.   \Hy@temp\@menubordercolor{menu}%
  3707.   \Hy@temp\@runbordercolor{run}%
  3708.   \Hy@temp\@urlbordercolor{url}%
  3709. }
  3710. \define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}}
  3711. \Hy@DefNameKey{pdfhighlight}{%
  3712.   \do{/I}{Invert}%
  3713.   \do{/N}{None}%
  3714.   \do{/O}{Outline}%
  3715.   \do{/P}{Push}%
  3716. }
  3717. \def\Hy@setpdfhighlight{%
  3718.   \ifx\@pdfhighlight\@empty
  3719.   \else
  3720.     /H\@pdfhighlight
  3721.   \fi
  3722. }
  3723. \define@key{Hyp}{pdfborder}{%
  3724.   \let\Hy@temp\@pdfborder
  3725.   \def\@pdfborder{#1}%
  3726.   \Hy@Match\@pdfborder{}{%
  3727.     ^\HyPat@NonNegativeReal/ %
  3728.      \HyPat@NonNegativeReal/ %
  3729.      \HyPat@NonNegativeReal/%
  3730.      ( ?\[\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)*])?$%
  3731.   }{}{%
  3732.     \Hy@Warning{%
  3733.       Invalid value `\@pdfborder'\MessageBreak
  3734.       for option `pdfborder'.\MessageBreak
  3735.       Option setting is ignored%
  3736.     }%
  3737.     \let\@pdfborder\Hy@temp
  3738.   }%
  3739. }
  3740. \define@key{Hyp}{pdfborderstyle}{%
  3741.   \let\Hy@temp\@pdfborderstyle
  3742.   \def\@pdfborderstyle{#1}%
  3743.   \Hy@Match\@pdfborderstyle{}{%
  3744.     ^%
  3745.     ( */Type */Border%
  3746.     | */W +\HyPat@NonNegativeReal/%
  3747.     | */S */[SDBIU]%
  3748.     | */D *\[ *(\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)?)?]%
  3749.     )* *$%
  3750.   }{}{%
  3751.     \Hy@Warning{%
  3752.       Invalid value `\@pdfborderstyle'\MessageBreak
  3753.       for option `pdfborderstyle'.\MessageBreak
  3754.       Option setting is ignored%
  3755.     }%
  3756.     \let\@pdfborderstyle\Hy@temp
  3757.   }%
  3758. }
  3759. \def\Hy@setpdfborder{%
  3760.   \ifx\@pdfborder\@empty
  3761.   \else
  3762.     /Border[\@pdfborder]%
  3763.   \fi
  3764.   \ifx\@pdfborderstyle\@empty
  3765.   \else
  3766.     /BS<<\@pdfborderstyle>>%
  3767.   \fi
  3768. }
  3769. \Hy@DefNameKey{pdfpagemode}{%
  3770.   \do{UseNone}{}%
  3771.   \do{UseOutlines}{}%
  3772.   \do{UseThumbs}{}%
  3773.   \do{FullScreen}{}%
  3774.   \do{UseOC}{PDF 1.5}%
  3775.   \do{UseAttachments}{PDF 1.6}%
  3776. }
  3777. \Hy@DefNameKey{pdfnonfullscreenpagemode}{%
  3778.   \do{UseNone}{}%
  3779.   \do{UseOutlines}{}%
  3780.   \do{UseThumbs}{}%
  3781.   \do{FullScreen}{}%
  3782.   \do{UseOC}{PDF 1.5}%
  3783.   \do{UseAttachments}{PDF 1.6}%
  3784. }
  3785. \Hy@DefNameKey{pdfdirection}{%
  3786.   \do{L2R}{Left to right}%
  3787.   \do{R2L}{Right to left}%
  3788. }
  3789. \Hy@DefNameKey{pdfviewarea}{%
  3790.   \do{MediaBox}{}%
  3791.   \do{CropBox}{}%
  3792.   \do{BleedBox}{}%
  3793.   \do{TrimBox}{}%
  3794.   \do{ArtBox}{}%
  3795. }
  3796. \Hy@DefNameKey{pdfviewclip}{%
  3797.   \do{MediaBox}{}%
  3798.   \do{CropBox}{}%
  3799.   \do{BleedBox}{}%
  3800.   \do{TrimBox}{}%
  3801.   \do{ArtBox}{}%
  3802. }
  3803. \Hy@DefNameKey{pdfprintarea}{%
  3804.   \do{MediaBox}{}%
  3805.   \do{CropBox}{}%
  3806.   \do{BleedBox}{}%
  3807.   \do{TrimBox}{}%
  3808.   \do{ArtBox}{}%
  3809. }
  3810. \Hy@DefNameKey{pdfprintclip}{%
  3811.   \do{MediaBox}{}%
  3812.   \do{CropBox}{}%
  3813.   \do{BleedBox}{}%
  3814.   \do{TrimBox}{}%
  3815.   \do{ArtBox}{}%
  3816. }
  3817. \Hy@DefNameKey{pdfprintscaling}{%
  3818.   \do{AppDefault}{}%
  3819.   \do{None}{}%
  3820. }
  3821. \Hy@DefNameKey{pdfduplex}{%
  3822.   \do{Simplex}{}%
  3823.   \do{DuplexFlipShortEdge}{}%
  3824.   \do{DuplexFlipLongEdge}{}%
  3825. }
  3826. \Hy@DefNameKey{pdfpicktraybypdfsize}{%
  3827.   \do{true}{}%
  3828.   \do{false}{}%
  3829. }
  3830. \define@key{Hyp}{pdfprintpagerange}{%
  3831.   \def\@pdfprintpagerange{#1}%
  3832. }
  3833. \Hy@DefNameKey{pdfnumcopies}{%
  3834.   \do{2}{two copies}%
  3835.   \do{3}{three copies}%
  3836.   \do{4}{four copies}%
  3837.   \do{5}{five copies}%
  3838. }
  3839. \define@key{Hyp}{pdfusetitle}[true]{%
  3840.   \Hy@boolkey{pdfusetitle}{#1}%
  3841. }
  3842. \def\HyXeTeX@CheckUnicode{%
  3843.   \ifxetex
  3844.     \ifHy@unicode
  3845.     \else
  3846.       \Hy@WarningNoLine{%
  3847.         XeTeX driver only supports unicode.\MessageBreak
  3848.         Enabling option `unicode'%
  3849.       }%
  3850.       \kvsetkeys{Hyp}{unicode}%
  3851.     \fi
  3852.   \else
  3853.     \let\HyXeTeX@CheckUnicode\relax
  3854.   \fi
  3855. }
  3856. \def\HyPsd@PrerenderUnicode#1{%
  3857.   \begingroup
  3858.     \expandafter\ifx\csname PrerenderUnicode\endcsname\relax
  3859.     \else
  3860.       \sbox0{%
  3861.         \let\GenericInfo\@gobbletwo
  3862.         \let\GenericWarning\@gobbletwo
  3863.         \let\GenericError\@gobblefour
  3864.         \PrerenderUnicode{#1}%
  3865.        }%
  3866.     \fi
  3867.   \endgroup
  3868. }
  3869. \define@key{Hyp}{pdftitle}{%
  3870.   \HyXeTeX@CheckUnicode
  3871.   \HyPsd@XeTeXBigCharstrue
  3872.   \HyPsd@PrerenderUnicode{#1}%
  3873.   \pdfstringdef\@pdftitle{#1}%
  3874. }
  3875. \define@key{Hyp}{pdfauthor}{%
  3876.   \HyXeTeX@CheckUnicode
  3877.   \HyPsd@XeTeXBigCharstrue
  3878.   \HyPsd@PrerenderUnicode{#1}%
  3879.   \pdfstringdef\@pdfauthor{#1}%
  3880. }
  3881. \define@key{Hyp}{pdfproducer}{%
  3882.   \HyXeTeX@CheckUnicode
  3883.   \HyPsd@XeTeXBigCharstrue
  3884.   \HyPsd@PrerenderUnicode{#1}%
  3885.   \pdfstringdef\@pdfproducer{#1}%
  3886. }
  3887. \define@key{Hyp}{pdfcreator}{%
  3888.   \HyXeTeX@CheckUnicode
  3889.   \HyPsd@XeTeXBigCharstrue
  3890.   \HyPsd@PrerenderUnicode{#1}%
  3891.   \pdfstringdef\@pdfcreator{#1}%
  3892. }
  3893. \define@key{Hyp}{addtopdfcreator}{%
  3894.  \HyXeTeX@CheckUnicode
  3895.  \HyPsd@XeTeXBigCharstrue
  3896.  \HyPsd@PrerenderUnicode{#1}%
  3897.  \pdfstringdef\@pdfcreator{\@pdfcreator, #1}%
  3898. }
  3899. \define@key{Hyp}{pdfcreationdate}{%
  3900.   \begingroup
  3901.     \Hy@unicodefalse
  3902.     \pdfstringdef\@pdfcreationdate{#1}%
  3903.   \endgroup
  3904. }
  3905. \define@key{Hyp}{pdfmoddate}{%
  3906.   \begingroup
  3907.     \Hy@unicodefalse
  3908.     \pdfstringdef\@pdfmoddate{#1}%
  3909.   \endgroup
  3910. }
  3911. \define@key{Hyp}{pdfsubject}{%
  3912.   \HyXeTeX@CheckUnicode
  3913.   \HyPsd@XeTeXBigCharstrue
  3914.   \HyPsd@PrerenderUnicode{#1}%
  3915.   \pdfstringdef\@pdfsubject{#1}%
  3916. }
  3917. \define@key{Hyp}{pdfkeywords}{%
  3918.   \HyXeTeX@CheckUnicode
  3919.   \HyPsd@XeTeXBigCharstrue
  3920.   \HyPsd@PrerenderUnicode{#1}%
  3921.   \pdfstringdef\@pdfkeywords{#1}%
  3922. }
  3923. \define@key{Hyp}{pdftrapped}{%
  3924.   \lowercase{\edef\Hy@temp{#1}}%
  3925.   \ifx\Hy@temp\HyInfo@trapped@true
  3926.     \def\@pdftrapped{True}%
  3927.   \else
  3928.     \ifx\Hy@temp\HyInfo@trapped@false
  3929.       \def\@pdftrapped{False}%
  3930.     \else
  3931.       \ifx\Hy@temp\HyInfo@trapped@unknown
  3932.         \def\@pdftrapped{Unknown}%
  3933.       \else
  3934.         \ifx\Hy@temp\@empty
  3935.         \else
  3936.           \Hy@Warning{%
  3937.             Unsupported value `#1'\MessageBreak
  3938.             for option `pdftrapped'%
  3939.           }%
  3940.         \fi
  3941.         \def\@pdftrapped{}%
  3942.       \fi
  3943.     \fi
  3944.   \fi
  3945. }
  3946. \def\HyInfo@trapped@true{true}
  3947. \def\HyInfo@trapped@false{false}
  3948. \def\HyInfo@trapped@unknown{unknown}
  3949. \def\HyInfo@TrappedUnsupported{%
  3950.   \ifx\@pdftrapped\@empty
  3951.   \else
  3952.     \Hy@WarningNoLine{`pdftrapped' is not supported by this driver}%
  3953.     \gdef\HyInfo@TrappedUnsupported{}%
  3954.   \fi
  3955. }
  3956. \define@key{Hyp}{pdfinfo}{%
  3957.   \kvsetkeys{pdfinfo}{#1}%
  3958. }
  3959. \def\Hy@temp#1{%
  3960.   \lowercase{\Hy@temp@A{#1}}{#1}%
  3961. }
  3962. \def\Hy@temp@A#1#2{%
  3963.   \define@key{pdfinfo}{#2}{%
  3964.     \hypersetup{pdf#1={##1}}%
  3965.   }%
  3966. }
  3967. \Hy@temp{Title}
  3968. \Hy@temp{Author}
  3969. \Hy@temp{Keywords}
  3970. \Hy@temp{Subject}
  3971. \Hy@temp{Creator}
  3972. \Hy@temp{Producer}
  3973. \Hy@temp{CreationDate}
  3974. \Hy@temp{ModDate}
  3975. \Hy@temp{Trapped}
  3976. \newif\ifHyInfo@AddonUnsupported
  3977. \kv@set@family@handler{pdfinfo}{%
  3978.   \HyInfo@AddonHandler{#1}{#2}%
  3979. }
  3980. \let\HyInfo@do\relax
  3981. \def\HyInfo@AddonHandler#1#2{%
  3982.   \ifx\kv@value\relax
  3983.     \Hy@Warning{%
  3984.       Option `pdfinfo': ignoring key `\kv@key' without value%
  3985.     }%
  3986.   \else
  3987.     \EdefEscapeName\HyInfo@KeyEscaped{\kv@key}%
  3988.     \EdefUnescapeName\HyInfo@Key{\HyInfo@KeyEscaped}%
  3989.     \expandafter\ifx\csname KV@pdfinfo@\HyInfo@Key\endcsname\relax
  3990.       \ifHyInfo@AddonUnsupported
  3991.         \Hy@Warning{%
  3992.           This driver does not support additional\MessageBreak
  3993.           information entries, therefore\MessageBreak
  3994.           `\kv@key' is ignored%
  3995.         }%
  3996.       \else
  3997.         \def\HyInfo@tmp##1{%
  3998.           \kv@define@key{pdfinfo}{##1}{%
  3999.             \HyXeTeX@CheckUnicode
  4000.             \HyPsd@XeTeXBigCharstrue
  4001.             \HyPsd@PrerenderUnicode{####1}%
  4002.             \pdfstringdef\HyInfo@Value{####1}%
  4003.             \global\expandafter
  4004.             \let\csname HyInfo@Value@##1\endcsname
  4005.                 \HyInfo@Value
  4006.           }%
  4007.         }%
  4008.         \expandafter\HyInfo@tmp\expandafter{\HyInfo@Key}%
  4009.         \global\expandafter
  4010.         \let\csname KV@pdfinfo@\HyInfo@Key\expandafter\endcsname
  4011.             \csname KV@pdfinfo@\HyInfo@Key\endcsname
  4012.         \xdef\HyInfo@AddonList{%
  4013.           \HyInfo@AddonList
  4014.           \HyInfo@do{\HyInfo@Key}%
  4015.         }%
  4016.         \kv@parse@normalized{%
  4017.           \HyInfo@Key={#2}%
  4018.         }{%
  4019.           \kv@processor@default{pdfinfo}%
  4020.         }%
  4021.       \fi
  4022.     \else
  4023.       \kv@parse@normalized{%
  4024.         \HyInfo@Key={#2}%
  4025.       }{%
  4026.         \kv@processor@default{pdfinfo}%
  4027.       }%
  4028.     \fi
  4029.   \fi
  4030. }
  4031. \def\HyInfo@GenerateAddons{%
  4032.   \ifHyInfo@AddonUnsupported
  4033.     \def\HyInfo@Addons{}%
  4034.   \else
  4035.     \begingroup
  4036.       \toks@{}%
  4037.       \def\HyInfo@do##1{%
  4038.         \EdefEscapeName\HyInfo@Key{##1}%
  4039.         \edef\x{%
  4040.           \toks@{%
  4041.             \the\toks@
  4042.             /\HyInfo@Key(\csname HyInfo@Value@##1\endcsname)%
  4043.           }%
  4044.         }%
  4045.         \x
  4046.       }%
  4047.       \HyInfo@AddonList
  4048.       \edef\x{\endgroup
  4049.        \def\noexpand\HyInfo@Addons{\the\toks@}%
  4050.       }%
  4051.     \x
  4052.   \fi
  4053. }
  4054. \global\let\HyInfo@AddonList\ltx@empty
  4055. \define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
  4056. \define@key{Hyp}{pdflinkmargin}{\setpdflinkmargin{#1}}
  4057. \let\setpdflinkmargin\@gobble
  4058. \def\calculate@pdfview#1 #2\\{%
  4059.   \def\@pdfview{#1}%
  4060.   \ifx\\#2\\%
  4061.     \def\@pdfviewparams{ -32768}%
  4062.   \else
  4063.     \def\@pdfviewparams{ #2}%
  4064.   \fi
  4065. }
  4066. \begingroup\expandafter\expandafter\expandafter\endgroup
  4067. \expandafter\ifx\csname numexpr\endcsname\relax
  4068.   \def\Hy@number#1{%
  4069.     \expandafter\@firstofone\expandafter{\number#1}%
  4070.   }%
  4071. \else
  4072.   \def\Hy@number#1{%
  4073.     \the\numexpr#1\relax
  4074.   }%
  4075. \fi
  4076. \define@key{Hyp}{pdfstartpage}{%
  4077.   \ifx\\#1\\%
  4078.     \let\@pdfstartpage\ltx@empty
  4079.   \else
  4080.     \edef\@pdfstartpage{\Hy@number{#1}}%
  4081.   \fi
  4082. }%
  4083. \define@key{Hyp}{pdfstartview}{%
  4084.   \ifx\\#1\\%
  4085.     \let\@pdfstartview\ltx@empty
  4086.   \else
  4087.     \hypercalcbpdef\@pdfstartview{/#1}%
  4088.   \fi
  4089. }
  4090. \def\HyPat@NonNegativeReal/{%
  4091.   \ *([0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+) *%
  4092. }
  4093. \define@key{Hyp}{pdfremotestartview}{%
  4094.   \ifx\\#1\\%
  4095.     \def\@pdfremotestartview{/Fit}%
  4096.   \else
  4097.     \hypercalcbpdef\@pdfremotestartview{#1}%
  4098.     \edef\@pdfremotestartview{\@pdfremotestartview}%
  4099.     \Hy@Match\@pdfremotestartview{}{%
  4100.       ^(XYZ(%
  4101.             ()| %
  4102.             (null|-?\HyPat@NonNegativeReal/) %
  4103.             (null|-?\HyPat@NonNegativeReal/) %
  4104.             (null|\HyPat@NonNegativeReal/)%
  4105.           )|% end of "XYZ"
  4106.         Fit(%
  4107.             ()|%
  4108.             B|%
  4109.             (H|V|BH|BV)(%
  4110.                 ()| %
  4111.                 (null|\HyPat@NonNegativeReal/)%
  4112.               )|%
  4113.             R %
  4114.                 \HyPat@NonNegativeReal/ %
  4115.                 \HyPat@NonNegativeReal/ %
  4116.                 \HyPat@NonNegativeReal/ %
  4117.                 \HyPat@NonNegativeReal/%
  4118.           )% end of "Fit"
  4119.       )$%
  4120.     }{}{%
  4121.       \Hy@Warning{%
  4122.          Invalid value `\@pdfremotestartview'\MessageBreak
  4123.          of `pdfremotestartview'\MessageBreak
  4124.          is replaced by `Fit'%
  4125.       }%
  4126.       \let\@pdfremotestartview\@empty
  4127.     }%
  4128.     \ifx\@pdfremotestartview\@empty
  4129.       \def\@pdfremotestartview{/Fit}%
  4130.     \else
  4131.       \edef\@pdfremotestartview{/\@pdfremotestartview}%
  4132.     \fi
  4133.   \fi
  4134. }
  4135. \define@key{Hyp}{pdfpagescrop}{\edef\@pdfpagescrop{#1}}
  4136. \define@key{Hyp}{pdftoolbar}[true]{%
  4137.   \Hy@boolkey{pdftoolbar}{#1}%
  4138. }
  4139. \define@key{Hyp}{pdfmenubar}[true]{%
  4140.   \Hy@boolkey{pdfmenubar}{#1}%
  4141. }
  4142. \define@key{Hyp}{pdfwindowui}[true]{%
  4143.   \Hy@boolkey{pdfwindowui}{#1}%
  4144. }
  4145. \define@key{Hyp}{pdffitwindow}[true]{%
  4146.   \Hy@boolkey{pdffitwindow}{#1}%
  4147. }
  4148. \define@key{Hyp}{pdfcenterwindow}[true]{%
  4149.   \Hy@boolkey{pdfcenterwindow}{#1}%
  4150. }
  4151. \define@key{Hyp}{pdfdisplaydoctitle}[true]{%
  4152.   \Hy@boolkey{pdfdisplaydoctitle}{#1}%
  4153. }
  4154. \define@key{Hyp}{pdfa}[true]{%
  4155.   \Hy@boolkey{pdfa}{#1}%
  4156. }
  4157. \define@key{Hyp}{pdfnewwindow}[true]{%
  4158.   \def\Hy@temp{#1}%
  4159.   \ifx\Hy@temp\@empty
  4160.     \Hy@pdfnewwindowsetfalse
  4161.   \else
  4162.     \Hy@pdfnewwindowsettrue
  4163.     \Hy@boolkey{pdfnewwindow}{#1}%
  4164.   \fi
  4165. }
  4166. \def\Hy@SetNewWindow{%
  4167.   \ifHy@pdfnewwindowset
  4168.     /NewWindow %
  4169.     \ifHy@pdfnewwindow true\else false\fi
  4170.   \fi
  4171. }
  4172. \Hy@DefNameKey{pdfpagelayout}{%
  4173.   \do{SinglePage}{}%
  4174.   \do{OneColumn}{}%
  4175.   \do{TwoColumnLeft}{}%
  4176.   \do{TwoColumnRight}{}%
  4177.   \do{TwoPageLeft}{PDF 1.5}%
  4178.   \do{TwoPageRight}{PDF 1.5}%
  4179. }
  4180. \define@key{Hyp}{pdflang}{%
  4181.   \edef\@pdflang{#1}%
  4182.   \def\Hy@temp{\relax}%
  4183.   \ifx\@pdflang\Hy@temp
  4184.     \let\@pdflang\relax
  4185.   \fi
  4186.   \ifx\@pdflang\relax
  4187.   \else
  4188.     \ifx\@pdflang\ltx@empty
  4189.     \else
  4190.       \Hy@Match\@pdflang{icase}{%
  4191.         ^%
  4192.         [a-z]{1,8}%
  4193.         (-[a-z0-9]{1,8})*%
  4194.         $%
  4195.       }{%
  4196.         \Hy@Match\@pdflang{icase}{%
  4197.           ^%
  4198.           (%
  4199.           % langtag
  4200.             (% language
  4201.               [a-z]{2,3}%
  4202.               ([a-z]{3}(-[a-z]{3}){0,2})?% extlang
  4203.               |[a-z]{4}% reserved for future use
  4204.               |[a-z]{5,8}% registered language subtag
  4205.             )%
  4206.             (-[a-z]{4})?% script
  4207.             (-([a-z]{2}|[0-9]{3}))?% region
  4208.             (-([a-z]{5,8}|[0-9][a-z0-9]{3}))*% variant
  4209.             (-[0-9a-wyz](-[a-z0-9]{2,8})+)*% extension
  4210.             (-x(-[a-z0-9]{1,8})+)?% privateuse
  4211.           % privateuse
  4212.             |x-([a-z0-9]{1,8})+%
  4213.           % grandfathered/irregular
  4214.             |en-GB-oed%
  4215.             |i-(ami|bnn|default|enochian|hak|klingon|lux|%
  4216.                 mingo|navajo|pwn|tao|tay|tsu)%
  4217.             |sgn-(BE-FR|BE-NL|CH-DE)%
  4218.           % grandfathered/regular
  4219.             |art-lojban%
  4220.             |cel-gaulish%
  4221.             |no-(bok|nyn)%
  4222.             |zh-(guoyu|hakka|min|min-nan|xiang)%
  4223.           )%
  4224.           $%
  4225.         }{%
  4226.           \Hy@Match{-\@pdflang}{icase}{-[a-wyz0-9]-}{%
  4227.             \Hy@Match\@pdflang{icase}{^x-}{}{%
  4228.               % remove privateuse
  4229.               \edef\Hy@temp{-\@pdflang}%
  4230.               \Hy@Match\Hy@temp{icase}{%
  4231.                 ^%
  4232.                 (%
  4233.                   (-[a-wyz0-9]|-[a-z0-9]{2,8})*%
  4234.                 )%
  4235.                 -x-%
  4236.               }{%
  4237.                 \edef\Hy@temp{%
  4238.                   \expandafter\strip@prefix\pdflastmatch1%
  4239.                 }%
  4240.               }{}%
  4241.               \Hy@Match\Hy@temp{icase}{%
  4242.                 (-[a-wyz0-9]-).*\ltx@backslashchar1%
  4243.               }{%
  4244.                 \Hy@Warning{%
  4245.                   Invalid language identifier `#1'\MessageBreak
  4246.                   for option `pdflang', because it violates\MessageBreak
  4247.                   well-formedness defined in RFC 4646\MessageBreak
  4248.                   by duplicate singleton subtags%
  4249.                 }%
  4250.                 \let\@pdflang\relax
  4251.               }{}%
  4252.             }%
  4253.           }{}%
  4254.           \ifx\@pdflang\relax
  4255.           \else
  4256.             \Hy@Match\@pdflang{icase}{%
  4257.               ^%
  4258.               [a-zA-Z]{2}-%
  4259.               (%
  4260.                 aa|AA|%
  4261.                 [qQ][m-zM-Z]|%
  4262.                 [xX][a-zA-Z]|%
  4263.                 zz|ZZ%
  4264.               )%
  4265.               (-|$)%
  4266.             }{%
  4267.               \Hy@Warning{%
  4268.                 Invalid language identifier `#1'\MessageBreak
  4269.                 for option `pdflang' because of invalid country code%
  4270.                 \MessageBreak
  4271.                 in second subtag (RFC 3066)%
  4272.               }%
  4273.               \let\@pdflang\relax
  4274.             }{}%
  4275.           \fi
  4276.         }{%
  4277.           \Hy@Warning{%
  4278.             Invalid language identifier `#1'\MessageBreak
  4279.             for option `pdflang', because it violates\MessageBreak
  4280.             well-formedness defined in RFC 5646%
  4281.           }%
  4282.           \let\@pdflang\relax
  4283.         }%
  4284.       }{%
  4285.         \Hy@Warning{%
  4286.           Invalid language identifier `#1'\MessageBreak
  4287.           for option `pdflang' (RFC 3066)%
  4288.         }%
  4289.         \let\@pdflang\relax
  4290.       }%
  4291.     \fi
  4292.   \fi
  4293. }
  4294. \define@key{Hyp}{pdfpagelabels}[true]{%
  4295.   \Hy@boolkey{pdfpagelabels}{#1}%
  4296. }
  4297. \define@key{Hyp}{pdfescapeform}[true]{%
  4298.   \Hy@boolkey{pdfescapeform}{#1}%
  4299. }
  4300. \def\@linkbordercolor{1 0 0}
  4301. \def\@urlbordercolor{0 1 1}
  4302. \def\@menubordercolor{1 0 0}
  4303. \def\@filebordercolor{0 .5 .5}
  4304. \def\@runbordercolor{0 .7 .7}
  4305. \def\@citebordercolor{0 1 0}
  4306. \def\@pdfhighlight{/I}
  4307. \let\@pdftitle\ltx@empty
  4308. \let\@pdfauthor\ltx@empty
  4309. \let\@pdfproducer\relax
  4310. \def\@pdfcreator{LaTeX with hyperref}
  4311. \let\@pdfcreationdate\ltx@empty
  4312. \let\@pdfmoddate\ltx@empty
  4313. \let\@pdfsubject\ltx@empty
  4314. \let\@pdfkeywords\ltx@empty
  4315. \let\@pdftrapped\ltx@empty
  4316. \let\@pdfpagescrop\ltx@empty
  4317. \def\@pdfstartview{/Fit}
  4318. \def\@pdfremotestartview{/Fit}
  4319. \def\@pdfstartpage{1}
  4320. \let\@pdfprintpagerange\ltx@empty
  4321. \let\@pdflang\relax
  4322. \let\PDF@SetupDoc\@empty
  4323. \let\PDF@FinishDoc\@empty
  4324. \let\phantomsection\@empty
  4325. \let\special@paper\@empty
  4326. \def\HyperDestNameFilter#1{#1}
  4327. \Hy@AtBeginDocument{%
  4328.   \begingroup
  4329.     \edef\x{\@ifundefined{stockheight}\paperheight\stockheight}%
  4330.     \dimen@=\x\relax
  4331.     \ifdim\dimen@>\z@
  4332.     \else
  4333.       \dimen@=11in\relax
  4334.       \Hy@WarningNoLine{%
  4335.         Height of page (\expandafter\string\x) %
  4336.         is invalid (\the\x),\MessageBreak
  4337.         using 11in%
  4338.       }%
  4339.     \fi
  4340.     \dimen@=0.99626401\dimen@
  4341.     \xdef\Hy@pageheight{\strip@pt\dimen@}%
  4342.   \endgroup
  4343. }
  4344. \def\HyInd@EncapChar{\|}
  4345. \let\hyper@normalise\ExecuteOptions
  4346. \let\ExecuteOptions\hypersetup
  4347. \Hy@RestoreCatcodes
  4348. \InputIfFileExists{hyperref.cfg}{}{}
  4349. \Hy@SetCatcodes
  4350. \let\ExecuteOptions\hyper@normalise
  4351. \ifx\Hy@MaybeStopNow\relax
  4352. \else
  4353.  \Hy@stoppedearlytrue
  4354.  \expandafter\Hy@MaybeStopNow
  4355. \fi
  4356. \Hy@stoppedearlyfalse
  4357. \SetupKeyvalOptions{family=Hyp}
  4358. \DeclareLocalOptions{%
  4359.   a4paper,a5paper,b5paper,letterpaper,legalpaper,executivepaper%
  4360. }
  4361. \@ifpackagewith{hyperref}{tex4ht}{%
  4362. }{%
  4363.   \@ifpackageloaded{tex4ht}{%
  4364.     \PassOptionsToPackage{tex4ht}{hyperref}%
  4365.   }{%
  4366.     \ltx@IfUndefined{HCode}{%
  4367.     }{%
  4368.       \begingroup
  4369.         \def\Hy@pkg{tex4ht}%
  4370.         \def\Hy@temp@A#1\RequirePackage[#2]#3#4\Hy@NIL{%
  4371.           \def\Hy@param{#2#3}%
  4372.           \ifx\Hy@param\ltx@empty
  4373.             \expandafter\ltx@gobble
  4374.           \else
  4375.             \def\Hy@param{#3}%
  4376.             \ifx\Hy@param\Hy@pkg
  4377.               \PassOptionsToPackage{#2}{tex4ht}%
  4378.               \expandafter\expandafter\expandafter\@gobble
  4379.             \else
  4380.               \expandafter\expandafter\expandafter\ltx@firstofone
  4381.             \fi
  4382.           \fi
  4383.           {\Hy@temp@A#4\Hy@NIL}%
  4384.         }%
  4385.         \expandafter
  4386.         \Hy@temp@A\@documentclasshook\RequirePackage[]{}\Hy@NIL
  4387.      \endgroup
  4388.      \PassOptionsToPackage{tex4ht}{hyperref}%
  4389.     }%
  4390.   }%
  4391. }
  4392. \let\ReadBookmarks\relax
  4393. \ProcessKeyvalOptions{Hyp}
  4394. \def\Hy@xspace@end{}
  4395. \ltx@IfUndefined{xspaceaddexceptions}{%
  4396.   \Hy@AtBeginDocument{%
  4397.     \ltx@IfUndefined{xspaceaddexceptions}{%
  4398.     }{%
  4399.       \def\Hy@xspace@end{%
  4400.         \ltx@gobble{end for xspace}%
  4401.       }%
  4402.       \xspaceaddexceptions{%
  4403.         \Hy@xspace@end,\hyper@linkend,\hyper@anchorend
  4404.       }%
  4405.     }%
  4406.   }%
  4407. }{%
  4408.   \def\Hy@xspace@end{%
  4409.     \ltx@gobble{end for xspace}%
  4410.   }%
  4411.   \xspaceaddexceptions{\Hy@xspace@end,\hyper@linkend,\hyper@anchorend}%
  4412. }
  4413. \Hy@AtBeginDocument{%
  4414.   \ifHy@draft
  4415.     \let\hyper@@anchor\@gobble
  4416.     \gdef\hyper@link#1#2#3{#3\Hy@xspace@end}%
  4417.     \def\hyper@anchorstart#1#2{#2\Hy@xspace@end}%
  4418.     \def\hyper@anchorend{\Hy@xspace@end}%
  4419.     \let\hyper@linkstart\@gobbletwo
  4420.     \def\hyper@linkend{\Hy@xspace@end}%
  4421.     \def\hyper@linkurl#1#2{#1\Hy@xspace@end}%
  4422.     \def\hyper@linkfile#1#2#3{#1\Hy@xspace@end}%
  4423.     \def\hyper@link@[#1]#2#3#4{#4\Hy@xspace@end}%
  4424.     \def\Acrobatmenu#1#2{\leavevmode#2\Hy@xspace@end}%
  4425.     \let\PDF@SetupDoc\@empty
  4426.     \let\PDF@FinishDoc\@empty
  4427.     \let\@fifthoffive\@secondoftwo
  4428.     \let\@secondoffive\@secondoftwo
  4429.     \let\ReadBookmarks\relax
  4430.     \let\WriteBookmarks\relax
  4431.     \Hy@WarningNoLine{Draft mode on}%
  4432.   \fi
  4433.   \Hy@DisableOption{draft}%
  4434.   \Hy@DisableOption{nolinks}%
  4435.   \Hy@DisableOption{final}%
  4436. }
  4437. \Hy@DisableOption{pdfa}
  4438. \ifHy@pdfa
  4439.  \ifnum \Hy@pdfversion < 4
  4440.  \kvsetkeys{Hyp}{pdfversion=1.4}%
  4441.   \fi
  4442.   \Hy@DisableOption{pdfversion}%
  4443.   \def\Hy@Acrobatmenu#1#2{%
  4444.     \leavevmode
  4445.     \begingroup
  4446.       \edef\x{#1}%
  4447.       \@onelevel@sanitize\x
  4448.       \ifx\x\Hy@NextPage
  4449.         \let\y=Y%
  4450.       \else
  4451.         \ifx\x\Hy@PrevPage
  4452.           \let\y=Y%
  4453.         \else
  4454.           \ifx\x\Hy@FirstPage
  4455.             \let\y=Y%
  4456.           \else
  4457.             \ifx\x\Hy@LastPage
  4458.               \let\y=Y%
  4459.             \else
  4460.               \let\y=N%
  4461.             \fi
  4462.           \fi
  4463.         \fi
  4464.       \fi
  4465.     \expandafter\endgroup
  4466.     \ifx\y Y%
  4467.     \else
  4468.       \Hy@Error{%
  4469.         PDF/A: Named action `#1' is not permitted%
  4470.       }\@ehc
  4471.       {#2}%
  4472.       \expandafter\@gobble
  4473.     \fi
  4474.   }%
  4475.   \def\Hy@temp#1{%
  4476.     \expandafter\def\csname Hy@#1\endcsname{#1}%
  4477.     \expandafter\@onelevel@sanitize\csname Hy@#1\endcsname
  4478.   }%
  4479.   \Hy@temp{NextPage}%
  4480.   \Hy@temp{PrevPage}%
  4481.   \Hy@temp{FirstPage}%
  4482.   \Hy@temp{LastPage}%
  4483. \else
  4484.   \def\Hy@Acrobatmenu#1#2{\leavevmode}%
  4485. \fi
  4486. \Hy@nextfalse
  4487. \ltx@IfUndefined{spanish@sh@"@sel}{}{\Hy@nexttrue}
  4488. \ltx@IfUndefined{galician@sh@"@sel}{}{\Hy@nexttrue}
  4489. \ltx@IfUndefined{estonian@sh@"@sel}{}{\Hy@nexttrue}
  4490. \ifHy@next
  4491.   \let\texttilde\~%
  4492. \fi
  4493. \def\Hy@wrapper@babel#1#2{%
  4494.   \begingroup
  4495.     \Hy@safe@activestrue
  4496.     \set@display@protect
  4497.     \edef\x{#2}%
  4498.     \@onelevel@sanitize\x
  4499.     \toks@{#1}%
  4500.     \edef\x{\endgroup\the\toks@{\x}}%
  4501.   \x
  4502. }
  4503. \def\Hy@WrapperDef#1{%
  4504.   \begingroup
  4505.     \escapechar=\m@ne
  4506.     \xdef\Hy@gtemp{%
  4507.       \expandafter\noexpand\csname HyWrap@\string#1\endcsname
  4508.     }%
  4509.   \endgroup
  4510.   \edef#1{%
  4511.     \noexpand\Hy@wrapper@babel
  4512.     \expandafter\noexpand\Hy@gtemp
  4513.   }%
  4514.   \expandafter\def\Hy@gtemp
  4515. }
  4516. \ifHy@hyperfigures
  4517.   \Hy@Info{Hyper figures ON}%
  4518. \else
  4519.   \Hy@Info{Hyper figures OFF}%
  4520. \fi
  4521. \ifHy@nesting
  4522.   \Hy@Info{Link nesting ON}%
  4523. \else
  4524.   \Hy@Info{Link nesting OFF}%
  4525. \fi
  4526. \ifHy@hyperindex
  4527.   \Hy@Info{Hyper index ON}%
  4528. \else
  4529.   \Hy@Info{Hyper index OFF}%
  4530. \fi
  4531. \ifHy@plainpages
  4532.   \Hy@Info{Plain pages ON}%
  4533. \else
  4534.   \Hy@Info{Plain pages OFF}%
  4535. \fi
  4536. \ifHy@backref
  4537.   \Hy@Info{Backreferencing ON}%
  4538. \else
  4539.   \Hy@Info{Backreferencing OFF}%
  4540. \fi
  4541. \ifHy@typexml
  4542.   \Hy@AtEndOfPackage{%
  4543.     \RequirePackage{color}%
  4544.     \RequirePackage{nameref}[2012/07/28]%
  4545.   }%
  4546. \fi
  4547. \Hy@DisableOption{typexml}
  4548. \ifHy@implicit
  4549.  \Hy@InfoNoLine{Implicit mode ON; LaTeX internals redefined}%
  4550. \else
  4551.   \Hy@InfoNoLine{Implicit mode OFF; no redefinition of LaTeX internals}%
  4552.   \def\MaybeStopEarly{%
  4553.     \Hy@Message{Stopped early}%
  4554.     \Hy@AtBeginDocument{%
  4555.       \PDF@FinishDoc
  4556.       \gdef\PDF@FinishDoc{}%
  4557.     }%
  4558.     \endinput
  4559.   }%
  4560.   \Hy@AtBeginDocument{%
  4561.     \let\autoref\ref
  4562.     \let\autopageref\pageref
  4563.     \ifx\@pdfpagemode\@empty
  4564.       \gdef\@pdfpagemode{UseNone}%
  4565.     \fi
  4566.     \global\Hy@backreffalse
  4567.   }%
  4568.   \Hy@AtEndOfPackage{%
  4569.     \global\let\ReadBookmarks\relax
  4570.     \global\let\WriteBookmarks\relax
  4571.   }%
  4572. \fi
  4573. \Hy@DisableOption{implicit}
  4574. \Hy@AtEndOfPackage{%
  4575.   \@ifpackageloaded{tex4ht}{%
  4576.     \def\Hy@driver{htex4ht}%
  4577.     \Hy@texhttrue
  4578.   }{}%
  4579.   \ifx\Hy@driver\@empty
  4580.   \else
  4581.      \ifx\pdfextension\@undefined
  4582.        \def\Hy@temp{hpdftex}%
  4583.      \else
  4584.        \def\Hy@temp{hluatex}%
  4585.      \fi
  4586.     \ifpdf
  4587.       \ifx\Hy@driver\Hy@temp
  4588.       \else
  4589.         \Hy@WarningNoLine{%
  4590.           Wrong driver `\Hy@driver.def';\MessageBreak
  4591.           pdfTeX is running in PDF mode.\MessageBreak
  4592.           Forcing driver `\Hy@temp.def'%
  4593.         }%
  4594.         \let\Hy@driver\Hy@temp
  4595.       \fi
  4596.     \else
  4597.       \ifx\Hy@driver\Hy@temp
  4598.         \Hy@WarningNoLine{%
  4599.           Wrong driver `\Hy@driver.def';\MessageBreak
  4600.           pdfTeX is not running in PDF mode.\MessageBreak
  4601.           Using default driver%
  4602.         }%
  4603.         \let\Hy@driver\@empty
  4604.       \fi
  4605.     \fi
  4606.   \fi
  4607.   \ifHy@texht
  4608.   \else
  4609.     \ifx\Hy@driver\@empty
  4610.     \else
  4611.       \def\Hy@temp{hxetex}%
  4612.       \ifxetex
  4613.         \ifx\Hy@driver\Hy@temp
  4614.         \else
  4615.           \Hy@WarningNoLine{%
  4616.             Wrong driver `\Hy@driver.def';\MessageBreak
  4617.             XeTeX is running.\MessageBreak
  4618.             Forcing driver `\Hy@temp.def' for XeTeX%
  4619.           }%
  4620.           \let\Hy@driver\Hy@temp
  4621.         \fi
  4622.       \fi
  4623.     \fi
  4624.   \fi
  4625.   \ifx\Hy@driver\@empty
  4626.   \else
  4627.     \def\Hy@temp{hvtexhtm}%
  4628.     \ifvtexhtml
  4629.       \ifx\Hy@driver\Hy@temp
  4630.       \else
  4631.         \Hy@WarningNoLine{%
  4632.           Wrong driver `\Hy@driver.def';\MessageBreak
  4633.           VTeX is running in HTML mode.\MessageBreak
  4634.           Forcing driver `\Hy@temp.def'%
  4635.         }%
  4636.         \let\Hy@driver\Hy@temp
  4637.       \fi
  4638.     \else
  4639.       \ifx\Hy@driver\Hy@temp
  4640.         \Hy@WarningNoLine{%
  4641.           Wrong driver `\Hy@driver.def';\MessageBreak
  4642.           VTeX is not running in HTML mode.\MessageBreak
  4643.           Using default driver%
  4644.         }%
  4645.         \let\Hy@driver\@empty
  4646.       \fi
  4647.     \fi
  4648.   \fi
  4649.   \let\HyOpt@DriverType\ltx@empty
  4650.   \ifx\HyOpt@CustomDriver\ltx@empty
  4651.     \ifx\Hy@driver\@empty
  4652.       \def\HyOpt@DriverType{ (autodetected)}%
  4653.       \providecommand*{\Hy@defaultdriver}{hypertex}%
  4654.       \ifpdf
  4655.         \ifx\pdfextension\@undefined
  4656.           \def\Hy@driver{hpdftex}%
  4657.         \else
  4658.           \def\Hy@driver{hluatex}%
  4659.         \fi
  4660.       \else
  4661.         \ifxetex
  4662.           \def\Hy@driver{hxetex}%
  4663.         \else
  4664.           \ifvtexhtml
  4665.             \def\Hy@driver{hvtexhtm}%
  4666.             \def\MaybeStopEarly{%
  4667.               \Hy@Message{Stopped early}%
  4668.               \Hy@AtBeginDocument{%
  4669.                 \PDF@FinishDoc
  4670.                 \gdef\PDF@FinishDoc{}%
  4671.               }%
  4672.               \endinput
  4673.             }%
  4674.           \else
  4675.             \ifvtexpdf
  4676.               \def\Hy@driver{hvtex}%
  4677.             \else
  4678.               \ifvtexps
  4679.                 \def\Hy@driver{hvtex}%
  4680.               \else
  4681.                 \ifx\HyOpt@DriverFallback\ltx@empty
  4682.                   \let\Hy@driver\Hy@defaultdriver
  4683.                   \def\HyOpt@DriverType{ (default)}%
  4684.                 \else
  4685.                   \begingroup
  4686.                     \toks@\expandafter{\HyOpt@DriverFallback}%
  4687.                     \edef\x{\endgroup
  4688.                      \noexpand\kvsetkeys{Hyp}{\the\toks@}%
  4689.                     }%
  4690.                   \x
  4691.                   \ifx\Hy@driver\ltx@empty
  4692.                     \let\Hy@driver\Hy@defaultdriver
  4693.                     \def\HyOpt@DriverType{ (default)}%
  4694.                   \else
  4695.                     \def\HyOpt@DriverType{ (fallback)}%
  4696.                   \fi
  4697.                 \fi
  4698.               \fi
  4699.             \fi
  4700.           \fi
  4701.         \fi
  4702.       \fi
  4703.       \ifx\Hy@driver\Hy@defaultdriver
  4704.         \def\Hy@temp{hdviwind}%
  4705.         \ifx\Hy@temp\Hy@driver
  4706.           \kvsetkeys{Hyp}{colorlinks}%
  4707.           \PassOptionsToPackage{dviwindo}{color}%
  4708.         \fi
  4709.       \fi
  4710.     \fi
  4711.   \else
  4712.     \def\HyOpt@DriverType{ (custom)}%
  4713.     \let\Hy@driver\HyOpt@CustomDriver
  4714.   \fi
  4715.   \Hy@InfoNoLine{Driver\HyOpt@DriverType: \Hy@driver}%
  4716.   \chardef\Hy@VersionChecked=0 %
  4717.   \input{\Hy@driver.def}%
  4718.   \ifcase\Hy@VersionChecked
  4719.     \Hy@VersionCheck{\Hy@driver.def}%
  4720.   \fi
  4721.   \let\@unprocessedoptions\relax
  4722.   \Hy@RestoreCatcodes
  4723.   \Hy@DisableOption{tex4ht}%
  4724.   \Hy@DisableOption{pdftex}%
  4725.   \Hy@DisableOption{nativepdf}%
  4726.   \Hy@DisableOption{dvipdfm}%
  4727.   \Hy@DisableOption{dvipdfmx}%
  4728.   \Hy@DisableOption{dvipdfmx-outline-open}%
  4729.   \Hy@DisableOption{pdfmark}%
  4730.   \Hy@DisableOption{dvips}%
  4731.   \Hy@DisableOption{hypertex}%
  4732.   \Hy@DisableOption{vtex}%
  4733.   \Hy@DisableOption{vtexpdfmark}%
  4734.   \Hy@DisableOption{dviwindo}%
  4735.   \Hy@DisableOption{dvipsone}%
  4736.   \Hy@DisableOption{textures}%
  4737.   \Hy@DisableOption{latex2html}%
  4738.   \Hy@DisableOption{ps2pdf}%
  4739.   \Hy@DisableOption{xetex}%
  4740.   \Hy@DisableOption{driverfallback}%
  4741.   \Hy@DisableOption{customdriver}%
  4742.   \Hy@DisableOption{pdfversion}%
  4743. }
  4744. \newif\ifHy@DvipdfmxOutlineOpen
  4745. \ifxetex
  4746.   \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
  4747.   \else
  4748.     \chardef\SpecialDvipdfmxOutlineOpen\@ne
  4749.     \Hy@DvipdfmxOutlineOpentrue
  4750.   \fi
  4751. \fi
  4752. \begingroup\expandafter\expandafter\expandafter\endgroup
  4753. \expandafter\ifx\csname SpecialDvipdfmxOutlineOpen\endcsname\relax
  4754. \else
  4755.   \ifnum\SpecialDvipdfmxOutlineOpen>\z@
  4756.     \Hy@DvipdfmxOutlineOpentrue
  4757.   \fi
  4758. \fi
  4759. \def\WriteBookmarks{0}
  4760. \def\@bookmarkopenstatus#1{%
  4761.   \ifHy@bookmarksopen
  4762.     \ifnum#1<\expandafter\@firstofone\expandafter
  4763.              {\number\@bookmarksopenlevel} % explicit space
  4764.     \else
  4765.       -%
  4766.     \fi
  4767.   \else
  4768.     -%
  4769.   \fi
  4770. }
  4771. \ifHy@bookmarks
  4772.   \Hy@Info{Bookmarks ON}%
  4773.   \ifx\@pdfpagemode\@empty
  4774.     \def\@pdfpagemode{UseOutlines}%
  4775.   \fi
  4776. \else
  4777.   \let\@bookmarkopenstatus\ltx@gobble
  4778.   \Hy@Info{Bookmarks OFF}%
  4779.   \Hy@AtEndOfPackage{%
  4780.     \global\let\ReadBookmarks\relax
  4781.     \global\let\WriteBookmarks\relax
  4782.   }%
  4783.   \ifx\@pdfpagemode\@empty
  4784.     \def\@pdfpagemode{UseNone}%
  4785.   \fi
  4786. \fi
  4787. \Hy@DisableOption{bookmarks}
  4788. \def\Hy@CatcodeWrapper#1{%
  4789.   \let\Hy@EndWrap\ltx@empty
  4790.   \def\TMP@EnsureCode##1##2{%
  4791.     \edef\Hy@EndWrap{%
  4792.       \Hy@EndWrap
  4793.       \catcode##1 \the\catcode##1\relax
  4794.     }%
  4795.     \catcode##1 ##2\relax
  4796.   }%
  4797.   \TMP@EnsureCode{10}{12}% ^^J
  4798.   \TMP@EnsureCode{33}{12}% !
  4799.   \TMP@EnsureCode{34}{12}% "
  4800.   \TMP@EnsureCode{36}{3}% $ (math)
  4801.   \TMP@EnsureCode{38}{4}% & (alignment)
  4802.   \TMP@EnsureCode{39}{12}% '
  4803.   \TMP@EnsureCode{40}{12}% (
  4804.   \TMP@EnsureCode{41}{12}% )
  4805.   \TMP@EnsureCode{42}{12}% *
  4806.   \TMP@EnsureCode{43}{12}% +
  4807.   \TMP@EnsureCode{44}{12}% ,
  4808.   \TMP@EnsureCode{45}{12}% -
  4809.   \TMP@EnsureCode{46}{12}% .
  4810.   \TMP@EnsureCode{47}{12}% /
  4811.   \TMP@EnsureCode{58}{12}% :
  4812.   \TMP@EnsureCode{59}{12}% ;
  4813.   \TMP@EnsureCode{60}{12}% <
  4814.   \TMP@EnsureCode{61}{12}% =
  4815.   \TMP@EnsureCode{62}{12}% >
  4816.   \TMP@EnsureCode{63}{12}% ?
  4817.   \TMP@EnsureCode{91}{12}% [
  4818.   \TMP@EnsureCode{93}{12}% ]
  4819.   \TMP@EnsureCode{94}{7}% ^ (superscript)
  4820.   \TMP@EnsureCode{95}{8}% _ (subscript)
  4821.   \TMP@EnsureCode{96}{12}% `
  4822.   \TMP@EnsureCode{124}{12}% |
  4823.   \TMP@EnsureCode{126}{13}% ~ (active)
  4824.   #1\relax
  4825.   \Hy@EndWrap
  4826. }
  4827. \Hy@AtBeginDocument{%
  4828.   \ifHy@ocgcolorlinks
  4829.     \kvsetkeys{Hyp}{colorlinks}%
  4830.     \ifHy@pdfa
  4831.       \Hy@Warning{%
  4832.         PDF/A: Optional Content Groups are prohibited,\MessageBreak
  4833.         using `colorlinks' instead of `ocgcolorlinks'%
  4834.       }%
  4835.       \Hy@ocgcolorlinksfalse
  4836.     \fi
  4837.   \fi
  4838.   \ifHy@ocgcolorlinks
  4839.   \else
  4840.     \Hy@DisableOption{ocgcolorlinks}%
  4841.   \fi
  4842.   \ifHy@colorlinks
  4843.     \def\@pdfborder{0 0 0}%
  4844.     \let\@pdfborderstyle\@empty
  4845.     \ifHy@typexml
  4846.     \else
  4847.       \Hy@CatcodeWrapper{%
  4848.         \RequirePackage{color}%
  4849.       }%
  4850.     \fi
  4851.     \def\Hy@colorlink#1{%
  4852.       \begingroup
  4853.       \HyColor@UseColor#1%
  4854.     }%
  4855.     \def\Hy@endcolorlink{\endgroup}%
  4856.     \Hy@Info{Link coloring ON}%
  4857.   \else
  4858.     \ifHy@frenchlinks
  4859.       \def\Hy@colorlink#1{\begingroup\fontshape{\scdefault}\selectfont}%
  4860.       \def\Hy@endcolorlink{\endgroup}%
  4861.       \Hy@Info{French linking ON}%
  4862.     \else
  4863.       \def\Hy@colorlink#1{\begingroup}%
  4864.       \def\Hy@endcolorlink{\endgroup}%
  4865.       \Hy@Info{Link coloring OFF}%
  4866.     \fi
  4867.   \fi
  4868.   \Hy@DisableOption{colorlinks}%
  4869.   \Hy@DisableOption{frenchlinks}%
  4870.   \ifHy@texht
  4871.     \long\def\@firstoffive#1#2#3#4#5{#1}%
  4872.     \long\def\@secondoffive#1#2#3#4#5{#2}%
  4873.     \long\def\@thirdoffive#1#2#3#4#5{#3}%
  4874.     \long\def\@fourthoffive#1#2#3#4#5{#4}%
  4875.     \long\def\@fifthoffive#1#2#3#4#5{#5}%
  4876.     \providecommand*\@safe@activestrue{}%
  4877.     \providecommand*\@safe@activesfalse{}%
  4878.     \def\T@ref#1{%
  4879.       \Hy@safe@activestrue
  4880.       \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
  4881.       \Hy@safe@activesfalse
  4882.     }%
  4883.     \def\T@pageref#1{%
  4884.       \Hy@safe@activestrue
  4885.       \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
  4886.       \Hy@safe@activesfalse
  4887.     }%
  4888.   \else
  4889.     \ifHy@typexml
  4890.     \else
  4891.       \Hy@CatcodeWrapper{%
  4892.         \RequirePackage{nameref}[2012/07/28]%
  4893.       }%
  4894.     \fi
  4895.   \fi
  4896.   \DeclareRobustCommand\ref{%
  4897.     \@ifstar\@refstar\T@ref
  4898.   }%
  4899.   \DeclareRobustCommand\pageref{%
  4900.     \@ifstar\@pagerefstar\T@pageref
  4901.   }%
  4902.     \DeclareRobustCommand*{\nameref}{%
  4903.       \@ifstar\@namerefstar\T@nameref
  4904.     }%
  4905. }
  4906. \Hy@AtBeginDocument{%
  4907.   \ifHy@texht
  4908.   \else
  4909.     \Hy@CatcodeWrapper\ReadBookmarks
  4910.   \fi
  4911. }
  4912. \ifHy@backref
  4913.   \RequirePackage{backref}%
  4914. \else
  4915.   \let\Hy@backout\@gobble
  4916. \fi
  4917. \Hy@DisableOption{backref}
  4918. \Hy@DisableOption{pagebackref}
  4919. \Hy@activeanchorfalse
  4920. \begingroup
  4921.   \endlinechar=-1 %
  4922.   \catcode`\^^A=14 %
  4923.   \catcode`\^^M\active
  4924.   \catcode`\%\active
  4925.   \catcode`\#\active
  4926.   \catcode`\_\active
  4927.   \catcode`\$\active
  4928.   \catcode`\&\active
  4929.   \gdef\hyper@normalise{^^A
  4930.    \begingroup
  4931.    \catcode`\^^M\active
  4932.    \def^^M{ }^^A
  4933.     \catcode`\%\active
  4934.     \let%\@percentchar
  4935.     \let\%\@percentchar
  4936.     \catcode`\#\active
  4937.     \def#{\hyper@hash}^^A
  4938.    \def\#{\hyper@hash}^^A
  4939.    \@makeother\&^^A
  4940.    \edef&{\string&}^^A
  4941.    \edef\&{\string&}^^A
  4942.    \edef\textunderscore{\string_}^^A
  4943.    \let\_\textunderscore
  4944.    \catcode`\_\active
  4945.    \let_\textunderscore
  4946.    \let~\hyper@tilde
  4947.    \let\~\hyper@tilde
  4948.    \let\textasciitilde\hyper@tilde
  4949.    \let\\\@backslashchar
  4950.    \edef${\string$}^^A
  4951.    \Hy@safe@activestrue
  4952.    \hyper@n@rmalise
  4953.  }^^A
  4954.  \catcode`\#=6 ^^A
  4955.  \gdef\Hy@ActiveCarriageReturn{^^M}^^A
  4956.  \gdef\hyper@n@rmalise#1#2{^^A
  4957.    \def\Hy@tempa{#2}^^A
  4958.    \ifx\Hy@tempa\Hy@ActiveCarriageReturn
  4959.      \ltx@ReturnAfterElseFi{^^A
  4960.        \hyper@@normalise{#1}^^A
  4961.      }^^A
  4962.    \else
  4963.      \ltx@ReturnAfterFi{^^A
  4964.        \hyper@@normalise{#1}{#2}^^A
  4965.      }^^A
  4966.    \fi
  4967.  }^^A
  4968.   \gdef\hyper@@normalise#1#2{^^A
  4969.     \edef\Hy@tempa{^^A
  4970.       \endgroup
  4971.       \noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}^^A
  4972.     }^^A
  4973.     \Hy@tempa
  4974.   }^^A
  4975.   \gdef\Hy@RemovePercentCr#1%^^M#2\@nil{^^A
  4976.     #1^^A
  4977.     \ifx\limits#2\limits
  4978.     \else
  4979.       \ltx@ReturnAfterFi{^^A
  4980.        \Hy@RemovePercentCr #2\@nil
  4981.      }^^A
  4982.    \fi
  4983.  }^^A
  4984. \endgroup
  4985. \providecommand*\hyper@chars{%
  4986.   \let\#\hyper@hash
  4987.   \let\%\@percentchar
  4988.   \Hy@safe@activestrue
  4989. }
  4990. \def\hyperlink#1#2{%
  4991.   \hyper@@link{}{#1}{#2}%
  4992. }
  4993. \def\Hy@VerboseLinkStart#1#2{%
  4994.   \ifHy@verbose
  4995.     \begingroup
  4996.       \Hy@safe@activestrue
  4997.       \xdef\Hy@VerboseGlobalTemp{(#1) `#2'}%
  4998.       \Hy@Info{Reference \Hy@VerboseGlobalTemp}%
  4999.       \xdef\Hy@VerboseGlobalTemp{%
  5000.         \Hy@VerboseGlobalTemp, %
  5001.         line \the\inputlineno
  5002.       }%
  5003.     \endgroup
  5004.     \let\Hy@VerboseLinkInfo\Hy@VerboseGlobalTemp
  5005.     \@onelevel@sanitize\Hy@VerboseLinkInfo
  5006.   \fi
  5007. }
  5008. \def\Hy@VerboseLinkInfo{<VerboseLinkInfo>}
  5009. \def\Hy@VerboseLinkStop{%
  5010.   \ifHy@verbose
  5011.     \begingroup
  5012.       \edef\x{\endgroup
  5013.         \write\m@ne{%
  5014.           Package `hyperref' Info: %
  5015.           End of reference \Hy@VerboseLinkInfo.%
  5016.         }%
  5017.       }%
  5018.     \x
  5019.   \fi
  5020. }
  5021. \def\Hy@VerboseAnchor#1{%
  5022.   \ifHy@verbose
  5023.     \begingroup
  5024.       \Hy@safe@activestrue
  5025.       \Hy@Info{Anchor `\HyperDestNameFilter{#1}'}%
  5026.     \endgroup
  5027.   \fi
  5028. }
  5029. \def\Hy@AllowHyphens{%
  5030.   \relax
  5031.   \ifhmode
  5032.     \penalty\@M
  5033.     \hskip\z@skip
  5034.   \fi
  5035. }
  5036. \DeclareRobustCommand*{\href}[1][]{%
  5037.   \begingroup
  5038.   \setkeys{href}{#1}%
  5039.   \@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}%
  5040. }
  5041. \def\Hy@href#{%
  5042.   \hyper@normalise\href@
  5043. }
  5044. \begingroup
  5045.   \catcode`\$=6 %
  5046.   \catcode`\#=12 %
  5047.   \gdef\href@$1{\expandafter\href@split$1##\\}%
  5048.   \gdef\href@split$1#$2#$3\\$4{%
  5049.     \hyper@@link{$1}{$2}{$4}%
  5050.     \endgroup
  5051.   }%
  5052. \endgroup
  5053. \define@key{href}{page}{%
  5054.   \def\Hy@href@page{#1}%
  5055. }
  5056. \let\Hy@href@page\@empty
  5057. \newcount\c@Hy@tempcnt
  5058. \def\theHy@tempcnt{\the\c@Hy@tempcnt}
  5059. \def\Hy@MakeRemoteAction{%
  5060.   \ifx\Hy@href@page\@empty
  5061.     \def\Hy@href@page{0}%
  5062.   \else
  5063.     \setcounter{Hy@tempcnt}{\Hy@href@page}%
  5064.     \ifnum\c@Hy@tempcnt<\@ne
  5065.       \Hy@Warning{%
  5066.         Invalid page number (\theHy@tempcnt)\MessageBreak
  5067.         for remote PDF file.\MessageBreak
  5068.         Using page 1%
  5069.       }%
  5070.       \def\Hy@href@page{0}%
  5071.     \else
  5072.       \global\advance\c@Hy@tempcnt\m@ne
  5073.       \edef\Hy@href@page{\theHy@tempcnt}%
  5074.     \fi
  5075.   \fi
  5076.   \ifx\Hy@href@nextactionraw\@empty
  5077.   \else
  5078.     \Hy@pdfnewwindowsettrue
  5079.     \Hy@pdfnewwindowtrue
  5080.   \fi
  5081. }
  5082. \define@key{href}{pdfremotestartview}{%
  5083.   \setkeys{Hyp}{pdfremotestartview={#1}}%
  5084. }
  5085. \let\KV@href@pdfnewwindow\KV@Hyp@pdfnewwindow
  5086. \let\KV@href@pdfnewwindow@default\KV@Hyp@pdfnewwindow@default
  5087. \newif\ifHy@href@ismap
  5088. \define@key{href}{ismap}[true]{%
  5089.   \ltx@IfUndefined{Hy@href@ismap#1}{%
  5090.     \Hy@Error{%
  5091.       Invalid value (#1) for key `ismap'.\MessageBreak
  5092.       Permitted values are `true' or `false'.\MessageBreak
  5093.       Ignoring `ismap'%
  5094.     }\@ehc
  5095.   }{%
  5096.     \csname Hy@href@ismap#1\endcsname
  5097.   }%
  5098. }
  5099. \let\Hy@href@nextactionraw\@empty
  5100. \define@key{href}{nextactionraw}{%
  5101.   \edef\Hy@href@nextactionraw{#1}%
  5102.   \ifx\Hy@href@nextactionraw\@empty
  5103.   \else
  5104.     \Hy@Match\Hy@href@nextactionraw{}{%
  5105.       ^(\HyPat@ObjRef/|<<.*/S[ /].+>>|%
  5106.        \[( ?\HyPat@ObjRef/|<<.*/S[ /].+>>)+ ?])$%
  5107.     }{}{%
  5108.       \Hy@Warning{Invalid value for `nextactionraw':\MessageBreak
  5109.         \Hy@href@nextactionraw\MessageBreak
  5110.         The action is discarded%
  5111.       }%
  5112.     }%
  5113.     \ifx\Hy@href@nextactionraw\@empty
  5114.     \else
  5115.       \edef\Hy@href@nextactionraw{/Next \Hy@href@nextactionraw}%
  5116.     \fi
  5117.   \fi
  5118. }
  5119. \def\HyPat@ObjRef/{.+}
  5120. \RequirePackage{url}
  5121. \let\HyOrg@url\url
  5122. \def\Hurl{\begingroup \Url}
  5123. \DeclareRobustCommand*{\nolinkurl}{\hyper@normalise\nolinkurl@}
  5124. \def\nolinkurl@#1{\Hurl{#1}}
  5125. \DeclareRobustCommand*{\url}{\hyper@normalise\url@}
  5126. \def\url@#1{\hyper@linkurl{\Hurl{#1}}{#1}}
  5127. \DeclareRobustCommand*{\hyperimage}{\hyper@normalise\hyper@image}
  5128. \providecommand\hyper@image[2]{#2}
  5129. \def\hypertarget#1#2{%
  5130.   \ifHy@nesting
  5131.     \hyper@@anchor{#1}{#2}%
  5132.   \else
  5133.     \hyper@@anchor{#1}{\relax}#2%
  5134.   \fi
  5135. }
  5136. \DeclareRobustCommand*{\hyperref}{%
  5137.   \@ifnextchar[{\Hy@babelnormalise\label@hyperref}\@hyperref
  5138. }
  5139. \def\Hy@babelnormalise#1[#2]{%
  5140.   \begingroup
  5141.     \Hy@safe@activestrue
  5142.     \edef\Hy@tempa{%
  5143.       \endgroup
  5144.       \noexpand#1[{#2}]%
  5145.     }%
  5146.   \Hy@tempa
  5147. }
  5148. \def\@hyperref{\hyper@normalise\@@hyperref}
  5149. \def\@@hyperref#1#2#3{%
  5150.   \edef\ref@one{\ifx\\#2\\\else#2.\fi#3}%
  5151.   \expandafter\tryhyper@link\ref@one\\{#1}%
  5152. }
  5153. \def\tryhyper@link#1\\#2{%
  5154.   \hyper@@link{#2}{#1}%
  5155. }
  5156. \def\hyperdef{\@ifnextchar[{\label@hyperdef}{\@hyperdef}}
  5157. \def\@hyperdef#1#2#3{%, category, name, text
  5158.   \ifx\\#1\\%
  5159.     \def\Hy@AnchorName{#2}%
  5160.   \else
  5161.     \def\Hy@AnchorName{#1.#2}%
  5162.   \fi
  5163.   \ifHy@nesting
  5164.     \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{#3}%
  5165.   \else
  5166.     \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{\relax}#3%
  5167.   \fi
  5168. }
  5169. \let\hyperrefundefinedlink\@firstofone
  5170. \def\label@hyperref[#1]{%
  5171.   \expandafter\label@@hyperref\csname r@#1\endcsname{#1}%
  5172. }%
  5173. \def\label@@hyperref#1#2#3{%
  5174.   \ifx#1\relax
  5175.     \protect\G@refundefinedtrue
  5176.     \@latex@warning{%
  5177.       Hyper reference `#2' on page \thepage \space undefined%
  5178.     }%
  5179.     \begingroup
  5180.       \hyperrefundefinedlink{#3}%
  5181.     \endgroup
  5182.   \else
  5183.     \hyper@@link{\expandafter\@fifthoffive#1}%
  5184.       {\expandafter\@fourthoffive#1\@empty\@empty}{#3}%
  5185.   \fi
  5186. }
  5187. \def\label@hyperdef[#1]#2#3#4{% label name, category, name,
  5188.                                 % anchor text
  5189.   \@bsphack
  5190.   \ifx\\#2\\%
  5191.     \def\Hy@AnchorName{#3}%
  5192.   \else
  5193.     \def\Hy@AnchorName{#2.#3}%
  5194.   \fi
  5195.   \if@filesw
  5196.     \protected@write\@auxout{}{%
  5197.       \string\newlabel{#1}{{}{}{}{\Hy@AnchorName}{}}%
  5198.     }%
  5199.   \fi
  5200.   \@esphack
  5201.   \ifHy@nesting
  5202.     \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{#4}%
  5203.   \else
  5204.     \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{\relax}#4%
  5205.   \fi
  5206. }
  5207. \newdimen\XeTeXLinkMargin
  5208. \setlength{\XeTeXLinkMargin}{2pt}
  5209. \ifxetex
  5210.  \font\XeTeXLink@font=pzdr at 1sp\relax
  5211.  \newcommand*{\XeTeXLink@space}{%
  5212.     \begingroup
  5213.       \XeTeXLink@font
  5214.       \@xxxii
  5215.     \endgroup
  5216.   }%
  5217.   \newcommand{\XeTeXLinkBox}[1]{%
  5218.     \begingroup
  5219.       \leavevmode
  5220.       \sbox\z@{#1}%
  5221.       \begingroup
  5222.         \dimen@=\dp\z@
  5223.         \advance\dimen@\XeTeXLinkMargin
  5224.         \setbox\tw@=\llap{%
  5225.           \hb@xt@\XeTeXLinkMargin{%
  5226.             \lower\dimen@\hbox{\XeTeXLink@space}%
  5227.             \hss
  5228.           }%
  5229.         }%
  5230.         \dp\tw@=\dp\z@
  5231.         \ht\tw@=\ht\z@
  5232.         \copy\tw@
  5233.       \endgroup
  5234.       \copy\z@
  5235.       \dimen@=\ht\z@
  5236.       \advance\dimen@\XeTeXLinkMargin
  5237.       \setbox\tw@=\rlap{%
  5238.         \hb@xt@\XeTeXLinkMargin{%
  5239.           \hss
  5240.           \raise\dimen@\hbox{\XeTeXLink@space}%
  5241.         }%
  5242.       }%
  5243.       \dp\tw@=\dp\z@
  5244.       \ht\tw@=\ht\z@
  5245.       \copy\tw@
  5246.     \endgroup
  5247.   }%
  5248. \else
  5249.   \newcommand*{\XeTeXLinkBox}[1]{%
  5250.     \begingroup
  5251.       \leavevmode
  5252.       \sbox\z@{#1}%
  5253.       \copy\z@
  5254.     \endgroup
  5255.   }%
  5256. \fi
  5257. \def\hyper@@link{\let\Hy@reserved@a\relax
  5258.  \@ifnextchar[{\hyper@link@}{\hyper@link@[link]}%
  5259. }
  5260. \def\hyper@link@[#1]#2#3#4{%
  5261.   \ltx@ifempty{#4}{% link text
  5262.     \Hy@Warning{Suppressing empty link}%
  5263.   }{%
  5264.     \begingroup
  5265.       \protected@edef\Hy@tempa{#2}%
  5266.       \edef\Hy@tempb{#3}%
  5267.       \ifx\Hy@tempa\ltx@empty
  5268.         \ifx\Hy@tempb\ltx@empty
  5269.           \Hy@Warning{Suppressing link with empty target}%
  5270.           \toks@{%
  5271.             \endgroup
  5272.             \ltx@secondoftwo
  5273.           }%
  5274.         \else
  5275.           \toks@{%
  5276.             \endgroup
  5277.             \hyper@link{#1}%
  5278.           }%
  5279.         \fi
  5280.       \else
  5281.         \toks@{%
  5282.           \endgroup
  5283.           \expandafter\hyper@readexternallink#2\\{#1}%
  5284.         }%
  5285.       \fi
  5286.       \Hy@safe@activesfalse
  5287.       \toks@\expandafter{%
  5288.         \the\expandafter\toks@
  5289.         \expandafter{\Hy@tempb}{#4}%
  5290.       }%
  5291.     \the\toks@
  5292.   }%
  5293. }
  5294. \def\hyper@readexternallink#1\\#2#3#4{%
  5295.   \begingroup
  5296.     \let\\\relax
  5297.   \expandafter\endgroup
  5298.   \expandafter\@@hyper@@readexternallink#1\\{#2}{#3}{#4}%
  5299. }
  5300. \def\@@hyper@@readexternallink#1\\#2#3#4{%
  5301.   \@hyper@readexternallink{#2}{#3}{#4}#1::\\{#1}%
  5302. }
  5303. \def\@pdftempwordfile{file}%
  5304. \def\@pdftempwordrun{run}%
  5305. \def\@hyper@readexternallink#1#2#3#4:#5:#6\\#7{%
  5306.   \ifx\\#6\\%
  5307.     \@hyper@linkfile file:#7\\{#3}{#2}{#7}%
  5308.   \else
  5309.     \ifx\\#4\\%
  5310.       \@hyper@linkfile file:#7\\{#3}{#2}{#7}%
  5311.     \else
  5312.       \def\@pdftempa{#4}%
  5313.       \ifx\@pdftempa\@pdftempwordfile
  5314.         \@hyper@linkfile#7\\{#3}{#2}{#7}%
  5315.       \else
  5316.         \ifx\@pdftempa\@pdftempwordrun
  5317.           \ifHy@pdfa
  5318.             \Hy@Error{%
  5319.               PDF/A: Launch action is prohibited%
  5320.             }\@ehc
  5321.             \begingroup
  5322.               \leavevmode
  5323.               #2%
  5324.             \endgroup
  5325.           \else
  5326.             \@hyper@launch#7\\{#3}{#2}%
  5327.           \fi
  5328.         \else
  5329.           \hyper@linkurl{#3}{#7\ifx\\#2\\\else\hyper@hash#2\fi}%
  5330.         \fi
  5331.       \fi
  5332.     \fi
  5333.   \fi
  5334. }
  5335. \def\@hyper@launch run:#1\\#2#3{% filename, anchor text, linkname
  5336.   \hyper@linkurl{#2}{%
  5337.     \Hy@linkfileprefix
  5338.     #1%
  5339.     \ifx\\#3\\%
  5340.     \else
  5341.       \hyper@hash
  5342.       #3%
  5343.     \fi
  5344.   }%
  5345. }
  5346. \def\@hyper@linkfile file:#1\\#2#3#4{%
  5347.      %file url,link string, name, original uri
  5348.   \filename@parse{#1}%
  5349.   \ifx\filename@ext\relax
  5350.     \edef\filename@ext{\XR@ext}%
  5351.   \fi
  5352.   \def\use@file{\filename@area\filename@base.\filename@ext}%
  5353.   \Hy@IfStringEndsWith\filename@ext\XR@ext{%
  5354.     \hyper@linkfile{#2}{\use@file}{#3}%
  5355.   }{%
  5356.     \ifx\@baseurl\@empty
  5357.       \hyper@linkurl{#2}{%
  5358.         #4\ifx\\#3\\\else\hyper@hash#3\fi
  5359.       }%
  5360.     \else
  5361.       \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\hyper@hash#3\fi}%
  5362.     \fi
  5363.   }%
  5364. }
  5365. \def\Hy@IfStringEndsWith#1#2{%
  5366.   \begingroup
  5367.     \edef\x{#1}%
  5368.     \@onelevel@sanitize\x
  5369.     \edef\x{.\x$}%
  5370.     \edef\y{#2}%
  5371.     \@onelevel@sanitize\y
  5372.     \edef\y{.\y$}%
  5373.     \expandafter\def\expandafter\z\expandafter##\expandafter1\y##2\@nil{%
  5374.       \endgroup
  5375.       \ifx\relax##2\relax
  5376.         \expandafter\ltx@secondoftwo
  5377.       \else
  5378.         \expandafter\ltx@firstoftwo
  5379.       \fi
  5380.     }%
  5381.   \expandafter\expandafter\expandafter\z\expandafter\x\y\@nil
  5382. }
  5383. \def\Hy@StringLocalhost{localhost}
  5384. \@onelevel@sanitize\Hy@StringLocalhost
  5385. \def\Hy@CleanupFile#1{%
  5386.   \edef#1{#1}%
  5387.   \expandafter\Hy@@CleanupFile#1\hbox///\hbox\@nil{#1}%
  5388. }
  5389. \def\Hy@@CleanupFile#1//#2/#3\hbox#4\@nil#5{%
  5390.   \begingroup
  5391.     \toks@{\endgroup}%
  5392.     \def\x{#1}%
  5393.     \ifx\x\@empty
  5394.       \def\x{#2}%
  5395.       \ifx\x\@empty
  5396.         \toks@{\endgroup\def#5{/#3}}%
  5397.       \else
  5398.         \@onelevel@sanitize\x
  5399.         \ifx\x\Hy@StringLocalhost
  5400.           \toks@{\endgroup\def#5{/#3}}%
  5401.         \fi
  5402.       \fi
  5403.     \fi
  5404.   \the\toks@
  5405. }
  5406. \long\def\hyper@@anchor#1#2{\@hyper@@anchor#1\relax#2\relax}
  5407. \long\def\@hyper@@anchor#1\relax#2#3\relax{%
  5408.   \ifx\\#1\\%
  5409.     #2\Hy@Warning{Ignoring empty anchor}%
  5410.   \else
  5411.     \def\anchor@spot{#2#3}%
  5412.     \let\put@me@back\@empty
  5413.     \ifx\relax#2\relax
  5414.     \else
  5415.       \ifHy@nesting
  5416.       \else
  5417.         \ifcat a\noexpand#2\relax
  5418.         \else
  5419.           \ifcat 0\noexpand#2 \relax
  5420.           \else
  5421.             \let\anchor@spot\@empty
  5422.             \def\put@me@back{#2#3}%
  5423.           \fi
  5424.         \fi
  5425.       \fi
  5426.     \fi
  5427.     \ifHy@activeanchor
  5428.       \anchor@spot
  5429.     \else
  5430.       \hyper@anchor{#1}%
  5431.     \fi
  5432.     \expandafter\put@me@back
  5433.   \fi
  5434.   \let\anchor@spot\@empty
  5435. }
  5436. \let\anchor@spot\ltx@empty
  5437. \ifHy@destlabel
  5438.   \def\hyper@newdestlabel#1#2{%
  5439.     \begingroup
  5440.       \Hy@safe@activestrue
  5441.       \edef\x{\endgroup
  5442.        \noexpand\@newl@bel{HyDL}{#1}{#2}%
  5443.       }%
  5444.     \x
  5445.   }%
  5446.   \providecommand*{\hyper@destlabel@hook}{}%
  5447.   \newcommand*{\Hy@DestRename}[2]{%
  5448.     \ltx@IfUndefined{HyDL!#1}{%
  5449.       \begingroup
  5450.         \Hy@safe@activestrue
  5451.         \edef\dest@name{#1}%
  5452.         \edef\label@name{#2}%
  5453.         \hyper@destlabel@hook
  5454.         \Hy@IsNotEmpty{dest@name}{%
  5455.           \Hy@IsNotEmpty{label@name}{%
  5456.             \global\expandafter
  5457.             \let\csname HyDL!#1\endcsname\ltx@empty
  5458.             \if@filesw
  5459.               \protected@write\@auxout{}{%
  5460.                 \string\hyper@newdestlabel
  5461.                 {#1}%
  5462.                 {\label@name}%
  5463.               }%
  5464.             \fi
  5465.           }%
  5466.         }%
  5467.       \endgroup
  5468.     }{}%
  5469.   }%
  5470.   \newcommand*{\HyperDestRename}[2]{%
  5471.     \AtBeginDocument{%
  5472.       \Hy@DestRename{#1}{#2}%
  5473.     }%
  5474.   }%
  5475.   \AtBeginDocument{%
  5476.     \let\HyperDestRename\Hy@DestRename
  5477.   }%
  5478.   \def\Hy@IsNotEmpty#1{%
  5479.     \ltx@IfUndefined{#1}\ltx@gobble{%
  5480.       \expandafter\ifx\csname#1\endcsname\ltx@empty
  5481.         \expandafter\ltx@gobble
  5482.       \else
  5483.         \expandafter\ltx@firstofone
  5484.       \fi
  5485.     }%
  5486.   }%
  5487.   \ltx@GlobalAppendToMacro\label@hook{%
  5488.     \HyperDestRename\@currentHref\label@name
  5489.   }%
  5490.   \def\HyperDestLabelReplace#1{%
  5491.     \ltx@ifundefined{HyDL@#1}{%
  5492.       #1%
  5493.     }{%
  5494.       \csname HyDL@#1\endcsname
  5495.     }%
  5496.   }%
  5497. \let\HyperDestNameFilter\HyperDestLabelReplace
  5498. \else
  5499.   \let\hyper@newdestlabel\ltx@gobbletwo
  5500.   \let\HyperDestLabelReplace\ltx@firstofone
  5501.   \let\HyperDestRename\ltx@gobbletwo
  5502. \fi
  5503. \Hy@DisableOption{destlabel}
  5504. \AddLineBeginAux{%
  5505.   \string\providecommand\string\hyper@newdestlabel[2]{}%
  5506. }
  5507. \let\htmladdimg\hyperimage
  5508. \def\htmladdnormallink#1#2{\href{#2}{#1}}
  5509. \def\htmladdnormallinkfoot#1#2{\href{#2}{#1}\footnote{#2}}
  5510. \def\htmlref#1#2{% anchor text, label
  5511.   \label@hyperref[{#2}]{#1}%
  5512. }
  5513. \def\@@latextohtmlX{%
  5514.   \let\hhyperref\hyperref
  5515.   \def\hyperref##1##2##3##4{% anchor text for HTML
  5516.                      % text to print before label in print
  5517.                      % label
  5518.                      % post-label text in print
  5519.     ##2\ref{##4}##3%
  5520.   }%
  5521. }
  5522. \RequirePackage{bitset}
  5523. \def\HyField@NewFlag#1#2{%
  5524.   \lowercase{\HyField@NewOption{#2}}%
  5525.   \lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}%
  5526. }
  5527. \def\HyField@NewFlagOnly#1#2{%
  5528.   \lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}%
  5529. }
  5530. \def\HyField@NewOption#1{%
  5531.   \expandafter\newif\csname ifFld@#1\endcsname
  5532.   \define@key{Field}{#1}[true]{%
  5533.     \lowercase{\Field@boolkey{##1}}{#1}%
  5534.   }%
  5535. }
  5536. \def\HyField@NewBitsetFlag#1#2#3#4{%
  5537.   \begingroup
  5538.     \count@=#4\relax
  5539.     \advance\count@\m@ne
  5540.     \def\x##1{%
  5541.       \endgroup
  5542.       \expandafter\def\csname HyField@#3@#1\endcsname{##1}%
  5543.       \expandafter\ifx\csname HyField@#3@##1\endcsname\relax
  5544.         \expandafter\edef\csname HyField@#3@##1\endcsname{%
  5545.           (\number#4) #2%
  5546.         }%
  5547.       \else
  5548.         \expandafter\edef\csname HyField@#3@##1\endcsname{%
  5549.           \csname HyField@#3@##1\endcsname
  5550.           /#2%
  5551.         }%
  5552.       \fi
  5553.     }%
  5554.   \expandafter\x\expandafter{\the\count@}%
  5555. }
  5556. \def\HyField@UseFlag#1#2{%
  5557.   \lowercase{\HyField@@UseFlag{#2}}{#1}%
  5558. }
  5559. \def\HyField@@UseFlag#1#2{%
  5560.   \bitsetSetValue{HyField@#2}{%
  5561.     \csname HyField@#2@#1\endcsname
  5562.   }{%
  5563.     \csname ifFld@#1\endcsname 1\else 0\fi
  5564.   }%
  5565. }
  5566. \def\HyField@SetFlag#1#2{%
  5567.   \lowercase{\HyField@@SetFlag{#2}}{#1}%
  5568. }
  5569. \def\HyField@@SetFlag#1#2{%
  5570.   \bitsetSetValue{HyField@#2}{%
  5571.     \csname HyField@#2@#1\endcsname
  5572.   }{1}%
  5573. }
  5574. \def\HyField@PrintFlags#1#2{%
  5575.   \ifHy@verbose
  5576.     \begingroup
  5577.       \let\Hy@temp\@empty
  5578.       \let\MessageBreak\relax
  5579.       \expandafter\@for\expandafter\x\expandafter:\expandafter=%
  5580.       \bitsetGetSetBitList{HyField@#1}\do{%
  5581.         \edef\Hy@temp{%
  5582.           \Hy@temp
  5583.           \csname HyField@#1@\x\endcsname\MessageBreak
  5584.         }%
  5585.       }%
  5586.     \edef\x{\endgroup
  5587.       \noexpand\Hy@Info{%
  5588.         Field flags: %
  5589.           \expandafter\ifx\@car#1\@nil S\else/\fi
  5590.           #1 %
  5591.           \bitsetGetDec{HyField@#1} %
  5592.           (0x\bitsetGetHex{HyField@#1}{32})\MessageBreak
  5593.         \Hy@temp
  5594.         for #2%
  5595.       }%
  5596.     }\x
  5597.   \fi
  5598. }
  5599. \HyField@NewFlag{Ff}{ReadOnly}{1}
  5600. \HyField@NewFlag{Ff}{Required}{2}
  5601. \HyField@NewFlag{Ff}{NoExport}{3}
  5602. \HyField@NewFlag{Ff}{NoToggleToOff}{15}
  5603. \HyField@NewFlag{Ff}{Radio}{16}
  5604. \HyField@NewFlag{Ff}{Pushbutton}{17}
  5605. \HyField@NewFlag{Ff}{RadiosInUnison}{26}
  5606. \HyField@NewFlag{Ff}{Multiline}{13}
  5607. \HyField@NewFlag{Ff}{Password}{14}
  5608. \HyField@NewFlag{Ff}{FileSelect}{21}% PDF 1.4
  5609. \HyField@NewFlag{Ff}{DoNotSpellCheck}{23}% PDF 1.4
  5610. \HyField@NewFlag{Ff}{DoNotScroll}{24}% PDF 1.4
  5611. \HyField@NewFlag{Ff}{Comb}{25}% PDF 1.4
  5612. \HyField@NewFlag{Ff}{RichText}{26}% PDF 1.5
  5613. \HyField@NewFlag{Ff}{Combo}{18}
  5614. \HyField@NewFlag{Ff}{Edit}{19}
  5615. \HyField@NewFlag{Ff}{Sort}{20}
  5616. \HyField@NewFlag{Ff}{MultiSelect}{22}% PDF 1.4
  5617. \HyField@NewFlag{Ff}{CommitOnSelChange}{27}% PDF 1.5
  5618. \newif\ifFld@popdown
  5619. \define@key{Field}{popdown}[true]{%
  5620.   \lowercase{\Field@boolkey{#1}}{popdown}%
  5621. }
  5622. \HyField@NewFlag{F}{Invisible}{1}
  5623. \HyField@NewFlag{F}{Hidden}{2}% PDF 1.2
  5624. \HyField@NewFlag{F}{Print}{3}% PDF 1.2
  5625. \HyField@NewFlag{F}{NoZoom}{4}% PDF 1.2
  5626. \HyField@NewFlag{F}{NoRotate}{5}% PDF 1.3
  5627. \HyField@NewFlag{F}{NoView}{6}% PDF 1.3
  5628. \HyField@NewFlag{F}{Locked}{8}% PDF 1.4
  5629. \HyField@NewFlag{F}{ToggleNoView}{9}% PDF 1.5
  5630. \HyField@NewFlag{F}{LockedContents}{10}% PDF 1.7
  5631. \ifHy@pdfa
  5632.   \def\HyField@PDFAFlagWarning#1#2{%
  5633.     \Hy@Warning{%
  5634.       PDF/A: Annotation flag `#1' must\MessageBreak
  5635.       be set to `#2'%
  5636.     }%
  5637.   }%
  5638.   \Fld@invisiblefalse
  5639.   \def\Fld@invisibletrue{%
  5640.     \HyField@PDFAFlagWarning{invisible}{false}%
  5641.   }%
  5642.   \Fld@hiddenfalse
  5643.   \def\Fld@hiddentrue{%
  5644.     \HyField@PDFAFlagWarning{hidden}{false}%
  5645.   }%
  5646.   \Fld@printtrue
  5647.   \def\Fld@printfalse{%
  5648.     \HyField@PDFAFlagWarning{print}{true}%
  5649.   }%
  5650.   \Fld@nozoomtrue
  5651.   \def\Fld@nozoomfalse{%
  5652.     \HyField@PDFAFlagWarning{nozoom}{true}%
  5653.   }%
  5654.   \Fld@norotatetrue
  5655.   \def\Fld@norotatefalse{%
  5656.     \HyField@PDFAFlagWarning{norotate}{true}%
  5657.   }%
  5658.   \Fld@noviewfalse
  5659.   \def\Fld@noviewtrue{%
  5660.     \HyField@PDFAFlagWarning{noview}{false}%
  5661.   }%
  5662. \fi
  5663. \HyField@NewFlag{Submit}{IncludeNoValueFields}{2}
  5664. \HyField@NewFlagOnly{Submit}{ExportFormat}{3}
  5665. \HyField@NewFlag{Submit}{GetMethod}{4}
  5666. \HyField@NewFlag{Submit}{SubmitCoordinates}{5}
  5667. \HyField@NewFlagOnly{Submit}{XFDF}{6}
  5668. \HyField@NewFlag{Submit}{IncludeAppendSaves}{7}
  5669. \HyField@NewFlag{Submit}{IncludeAnnotations}{8}
  5670. \HyField@NewFlagOnly{Submit}{SubmitPDF}{9}
  5671. \HyField@NewFlag{Submit}{CanonicalFormat}{10}
  5672. \HyField@NewFlag{Submit}{ExclNonUserAnnots}{11}
  5673. \HyField@NewFlag{Submit}{ExclFKey}{12}
  5674. \HyField@NewFlag{Submit}{EmbedForm}{14}
  5675. \define@key{Field}{export}{%
  5676.   \lowercase{\def\Hy@temp{#1}}%
  5677.   \@ifundefined{Fld@export@\Hy@temp}{%
  5678.     \@onelevel@sanitize\Hy@temp
  5679.     \Hy@Error{%
  5680.       Unknown export format `\Hy@temp'.\MessageBreak
  5681.       Known formats are `FDF', `HTML', `XFDF', and `PDF'%
  5682.     }\@ehc
  5683.   }{%
  5684.     \let\Fld@export\Hy@temp
  5685.   }%
  5686. }
  5687. \def\Fld@export{fdf}
  5688. \@namedef{Fld@export@fdf}{0}%
  5689. \@namedef{Fld@export@html}{1}%
  5690. \@namedef{Fld@export@xfdf}{2}%
  5691. \@namedef{Fld@export@pdf}{3}%
  5692. \def\HyField@FlagsSubmit{%
  5693.   \bitsetReset{HyField@Submit}%
  5694.   \ifcase\@nameuse{Fld@export@\Fld@export} %
  5695.     % FDF
  5696.     \HyField@UseFlag{Submit}{IncludeNoValueFields}%
  5697.     \HyField@UseFlag{Submit}{SubmitCoordinates}%
  5698.     \HyField@UseFlag{Submit}{IncludeAppendSaves}%
  5699.     \HyField@UseFlag{Submit}{IncludeAnnotations}%
  5700.     \HyField@UseFlag{Submit}{CanonicalFormat}%
  5701.     \HyField@UseFlag{Submit}{ExclNonUserAnnots}%
  5702.     \HyField@UseFlag{Submit}{ExclFKey}%
  5703.     \HyField@UseFlag{Submit}{EmbedForm}%
  5704.   \or % HTML
  5705.     \HyField@SetFlag{Submit}{ExportFormat}%
  5706.     \HyField@UseFlag{Submit}{IncludeNoValueFields}%
  5707.     \HyField@UseFlag{Submit}{GetMethod}%
  5708.     \HyField@UseFlag{Submit}{SubmitCoordinates}%
  5709.     \HyField@UseFlag{Submit}{CanonicalFormat}%
  5710.   \or % XFDF
  5711.     \HyField@SetFlag{Submit}{XFDF}%
  5712.     \HyField@UseFlag{Submit}{IncludeNoValueFields}%
  5713.     \HyField@UseFlag{Submit}{SubmitCoordinates}%
  5714.     \HyField@UseFlag{Submit}{CanonicalFormat}%
  5715.   \or % PDF
  5716.     \HyField@SetFlag{Submit}{SubmitPDF}%
  5717.     \HyField@UseFlag{Submit}{GetMethod}%
  5718.   \fi
  5719.   \HyField@PrintFlags{Submit}{submit button field}%
  5720.   \bitsetIsEmpty{HyField@Submit}{%
  5721.     \let\Fld@submitflags\ltx@empty
  5722.   }{%
  5723.     \edef\Fld@submitflags{/Flags \bitsetGetDec{HyField@Submit}}%
  5724.   }%
  5725. }
  5726. \def\HyField@FlagsAnnot#1{%
  5727.   \bitsetReset{HyField@F}%
  5728.   \HyField@UseFlag{F}{Invisible}%
  5729.   \HyField@UseFlag{F}{Hidden}%
  5730.   \HyField@UseFlag{F}{Print}%
  5731.   \HyField@UseFlag{F}{NoZoom}%
  5732.   \HyField@UseFlag{F}{NoRotate}%
  5733.   \HyField@UseFlag{F}{NoView}%
  5734.   \HyField@UseFlag{F}{Locked}%
  5735.   \HyField@UseFlag{F}{ToggleNoView}%
  5736.   \HyField@UseFlag{F}{LockedContents}%
  5737.   \HyField@PrintFlags{F}{#1}%
  5738.   \bitsetIsEmpty{HyField@F}{%
  5739.     \let\Fld@annotflags\ltx@empty
  5740.   }{%
  5741.     \edef\Fld@annotflags{/F \bitsetGetDec{HyField@F}}%
  5742.   }%
  5743. }
  5744. \def\HyField@FlagsPushButton{%
  5745.   \HyField@FlagsAnnot{push button field}%
  5746.   \bitsetReset{HyField@Ff}%
  5747.   \HyField@UseFlag{Ff}{ReadOnly}%
  5748.   \HyField@UseFlag{Ff}{Required}%
  5749.   \HyField@UseFlag{Ff}{NoExport}%
  5750.   \HyField@SetFlag{Ff}{Pushbutton}%
  5751.   \HyField@PrintFlags{Ff}{push button field}%
  5752.   \bitsetIsEmpty{HyField@Ff}{%
  5753.     \let\Fld@flags\ltx@empty
  5754.   }{%
  5755.     \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
  5756.   }%
  5757. }
  5758. \def\HyField@FlagsCheckBox{%
  5759.   \HyField@FlagsAnnot{check box field}%
  5760.   \bitsetReset{HyField@Ff}%
  5761.   \HyField@UseFlag{Ff}{ReadOnly}%
  5762.   \HyField@UseFlag{Ff}{Required}%
  5763.   \HyField@UseFlag{Ff}{NoExport}%
  5764.   \HyField@PrintFlags{Ff}{check box field}%
  5765.   \bitsetIsEmpty{HyField@Ff}{%
  5766.     \let\Fld@flags\ltx@empty
  5767.   }{%
  5768.     \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
  5769.   }%
  5770. }
  5771. \def\HyField@FlagsRadioButton{%
  5772.   \HyField@FlagsAnnot{radio button field}%
  5773.   \bitsetReset{HyField@Ff}%
  5774.   \HyField@UseFlag{Ff}{ReadOnly}%
  5775.   \HyField@UseFlag{Ff}{Required}%
  5776.   \HyField@UseFlag{Ff}{NoExport}%
  5777.   \HyField@UseFlag{Ff}{NoToggleToOff}%
  5778.   \HyField@SetFlag{Ff}{Radio}%
  5779.   \HyField@UseFlag{Ff}{RadiosInUnison}%
  5780.   \HyField@PrintFlags{Ff}{radio button field}%
  5781.   \bitsetIsEmpty{HyField@Ff}{%
  5782.     \let\Fld@flags\ltx@empty
  5783.   }{%
  5784.     \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
  5785.   }%
  5786. }
  5787. \def\HyField@FlagsText{%
  5788.   \HyField@FlagsAnnot{text field}%
  5789.   \bitsetReset{HyField@Ff}%
  5790.   \HyField@UseFlag{Ff}{ReadOnly}%
  5791.   \HyField@UseFlag{Ff}{Required}%
  5792.   \HyField@UseFlag{Ff}{NoExport}%
  5793.   \HyField@UseFlag{Ff}{Multiline}%
  5794.   \HyField@UseFlag{Ff}{Password}%
  5795.   \HyField@UseFlag{Ff}{FileSelect}%
  5796.   \HyField@UseFlag{Ff}{DoNotSpellCheck}%
  5797.   \HyField@UseFlag{Ff}{DoNotScroll}%
  5798.   \ifFld@comb
  5799.     \ifcase0\ifFld@multiline
  5800.             \else\ifFld@password
  5801.             \else\ifFld@fileselect
  5802.             \else 1\fi\fi\fi\relax
  5803.       \Hy@Error{%
  5804.         Field option `comb' cannot used together with\MessageBreak
  5805.         `multiline', `password', or `fileselect'%
  5806.       }\@ehc
  5807.     \else
  5808.       \HyField@UseFlag{Ff}{Comb}%
  5809.     \fi
  5810.   \fi
  5811.   \HyField@UseFlag{Ff}{RichText}%
  5812.   \HyField@PrintFlags{Ff}{text field}%
  5813.   \bitsetIsEmpty{HyField@Ff}{%
  5814.     \let\Fld@flags\ltx@empty
  5815.   }{%
  5816.     \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
  5817.   }%
  5818. }
  5819. \def\HyField@FlagsChoice{%
  5820.   \HyField@FlagsAnnot{choice field}%
  5821.   \bitsetReset{HyField@Ff}%
  5822.   \HyField@UseFlag{Ff}{ReadOnly}%
  5823.   \HyField@UseFlag{Ff}{Required}%
  5824.   \HyField@UseFlag{Ff}{NoExport}%
  5825.   \HyField@UseFlag{Ff}{Combo}%
  5826.   \ifFld@combo
  5827.     \HyField@UseFlag{Ff}{Edit}%
  5828.   \fi
  5829.   \HyField@UseFlag{Ff}{Sort}%
  5830.   \HyField@UseFlag{Ff}{MultiSelect}%
  5831.   \ifFld@combo
  5832.     \ifFld@edit
  5833.       \HyField@UseFlag{Ff}{DoNotSpellCheck}%
  5834.     \fi
  5835.   \fi
  5836.   \HyField@UseFlag{Ff}{CommitOnSelChange}%
  5837.   \HyField@PrintFlags{Ff}{choice field}%
  5838.   \bitsetIsEmpty{HyField@Ff}{%
  5839.     \let\Fld@flags\ltx@empty
  5840.   }{%
  5841.     \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
  5842.   }%
  5843. }
  5844. \def\HyField@PDFChoices#1{%
  5845.   \begingroup
  5846.     \global\let\Fld@choices\ltx@empty
  5847.     \let\HyTmp@optlist\ltx@empty
  5848.     \let\HyTmp@optitem\relax
  5849.     \count@=0 %
  5850.     \kv@parse{#1}{%
  5851.       \Hy@pdfstringdef\kv@key\kv@key
  5852.       \ifx\kv@value\relax
  5853.         \ifnum\Hy@pdfversion<3 % implementation note 122, PDF spec 1.7
  5854.           \xdef\Fld@choices{\Fld@choices[(\kv@key)(\kv@key)]}%
  5855.         \else
  5856.           \xdef\Fld@choices{\Fld@choices(\kv@key)}%
  5857.         \fi
  5858.       \else
  5859.         \Hy@pdfstringdef\kv@value\kv@value
  5860.         \xdef\Fld@choices{\Fld@choices[(\kv@value)(\kv@key)]}%
  5861.       \fi
  5862.       \edef\HyTmp@optlist{%
  5863.         \HyTmp@optlist
  5864.         \HyTmp@optitem{\the\count@}{\kv@key}0%
  5865.       }%
  5866.       \advance\count@ by 1 %
  5867.       \@gobbletwo
  5868.     }%
  5869.     \xdef\Fld@choices{/Opt[\Fld@choices]}%
  5870.     \ifFld@multiselect
  5871.       \HyField@@PDFChoices{DV}\Fld@default
  5872.      \HyField@@PDFChoices{V}\Fld@value
  5873.    \else
  5874.      \ifx\Fld@default\relax
  5875.      \else
  5876.        \pdfstringdef\Hy@gtemp\Fld@default
  5877.        \xdef\Fld@choices{\Fld@choices/DV(\Hy@gtemp)}%
  5878.       \fi
  5879.       \ifx\Fld@value\relax
  5880.       \else
  5881.         \pdfstringdef\Hy@gtemp\Fld@value
  5882.         \xdef\Fld@choices{\Fld@choices/V(\Hy@gtemp)}%
  5883.       \fi
  5884.     \fi
  5885.   \endgroup
  5886. }
  5887. \def\HyField@@PDFChoices#1#2{%
  5888.   \ifx#2\relax
  5889.   \else
  5890.     \count@=0 %
  5891.     \def\HyTmp@optitem##1##2##3{%
  5892.       \def\HyTmp@key{##2}%
  5893.       \ifx\HyTmp@key\Hy@gtemp
  5894.         \expandafter\def\expandafter\HyTmp@optlist\expandafter{%
  5895.           \HyTmp@optlist
  5896.           \HyTmp@optitem{##1}{##2}1%
  5897.         }%
  5898.         \let\HyTmp@found=Y%
  5899.       \else
  5900.         \expandafter\def\expandafter\HyTmp@optlist\expandafter{%
  5901.           \HyTmp@optlist
  5902.           \HyTmp@optitem{##1}{##2}##3%
  5903.         }%
  5904.       \fi
  5905.     }%
  5906.     \expandafter\comma@parse\expandafter{#2}{%
  5907.       \pdfstringdef\Hy@gtemp\comma@entry
  5908.       \let\HyTmp@found=N %
  5909.       \expandafter\let\expandafter\HyTmp@optlist\expandafter\@empty
  5910.       \HyTmp@optlist
  5911.       \ifx\HyTmp@found Y%
  5912.         \advance\count@ by 1 %
  5913.       \else
  5914.         \@onelevel@sanitize\comma@entry
  5915.         \PackageWarning{hyperref}{%
  5916.           \string\ChoiceBox: Ignoring value `\comma@entry',%
  5917.           \MessageBreak
  5918.           it cannot be found in the choices%
  5919.         }%
  5920.       \fi
  5921.       \@gobble
  5922.     }%
  5923.     \def\HyTmp@optitem##1##2##3{%
  5924.       \ifnum##3=1 %
  5925.         (##2)%
  5926.       \fi
  5927.     }%
  5928.     \ifcase\count@
  5929.     \or
  5930.       \xdef\Fld@choices{\Fld@choices/#1\HyTmp@optlist}%
  5931.     \else
  5932.       \xdef\Fld@choices{\Fld@choices/#1[\HyTmp@optlist]}%
  5933.       \ifx#1V%
  5934.         \def\HyTmp@optitem##1##2##3{%
  5935.           \ifnum##3=1 %
  5936.             \@firstofone{ ##1}%
  5937.           \fi
  5938.         }%
  5939.         \edef\HyTmp@optlist{\HyTmp@optlist}%
  5940.         \xdef\Fld@choices{%
  5941.           \Fld@choices
  5942.           /I[\expandafter\@firstofone\HyTmp@optlist]%
  5943.         }%
  5944.       \fi
  5945.     \fi
  5946.   \fi
  5947. }
  5948. \def\HyField@SetKeys{%
  5949.   \kvsetkeys{Field}%
  5950. }
  5951. \newif\ifFld@checked
  5952. \newif\ifFld@disabled
  5953. \Fld@checkedfalse
  5954. \Fld@disabledfalse
  5955. \newcount\Fld@menulength
  5956. \newdimen\Field@Width
  5957. \newdimen\Fld@charsize
  5958. \Fld@charsize=10\p@
  5959. \def\Fld@maxlen{0}
  5960. \def\Fld@align{0}
  5961. \def\Fld@color{0 0 0 rg}
  5962. \def\Fld@bcolor{1 1 1}
  5963. \def\Fld@bordercolor{1 0 0}
  5964. \def\Fld@bordersep{1\p@}
  5965. \def\Fld@borderwidth{1}
  5966. \def\Fld@borderstyle{S}
  5967. \def\Fld@cbsymbol{4}
  5968. \def\Fld@radiosymbol{H}
  5969. \def\Fld@rotation{0}
  5970. \def\Form{\@ifnextchar[{\@Form}{\@Form[]}}
  5971. \def\endForm{\@endForm}
  5972. \newif\ifForm@html
  5973. \Form@htmlfalse
  5974. \def\Form@boolkey#1#2{%
  5975.   \csname Form@#2\ifx\relax#1\relax true\else#1\fi\endcsname
  5976. }
  5977. \define@key{Form}{action}{%
  5978.   \hyper@normalise\Hy@DefFormAction{#1}%
  5979. }
  5980. \def\Hy@DefFormAction{\def\Form@action}
  5981. \def\enc@@html{html}
  5982. \define@key{Form}{encoding}{%
  5983.   \def\Hy@tempa{#1}%
  5984.   \ifx\Hy@tempa\enc@@html
  5985.     \Form@htmltrue
  5986.     \def\Fld@export{html}%
  5987.   \else
  5988.     \Hy@Warning{%
  5989.        Form `encoding' key with \MessageBreak
  5990.        unknown value `#1'%
  5991.     }%
  5992.     \Form@htmlfalse
  5993.   \fi
  5994. }
  5995. \define@key{Form}{method}{%
  5996.   \lowercase{\def\Hy@temp{#1}}%
  5997.   \@ifundefined{Form@method@\Hy@temp}{%
  5998.     \@onelevel@sanitize\Hy@temp
  5999.     \Hy@Error{%
  6000.       Unknown method `\Hy@temp'.\MessageBreak
  6001.       Known values are `post' and `get'%
  6002.     }\@ehc
  6003.   }{%
  6004.     \let\Form@method\Hy@temp
  6005.     \ifcase\@nameuse{Form@method@\Hy@temp} %
  6006.       \Fld@getmethodfalse
  6007.     \else
  6008.       \Fld@getmethodtrue
  6009.     \fi
  6010.   }%
  6011. }
  6012. \def\Form@method{}
  6013. \@namedef{Form@method@post}{0}
  6014. \@namedef{Form@method@get}{1}
  6015. \newif\ifHyField@NeedAppearances
  6016. \def\HyField@NeedAppearancesfalse{%
  6017.   \global\let\ifHyField@NeedAppearances\iffalse
  6018. }
  6019. \def\HyField@NeedAppearancestrue{%
  6020.   \global\let\ifHyField@NeedAppearances\iftrue
  6021. }
  6022. \HyField@NeedAppearancestrue
  6023. \define@key{Form}{NeedAppearances}[true]{%
  6024.   \edef\Hy@tempa{#1}%
  6025.   \ifx\Hy@tempa\Hy@true
  6026.     \HyField@NeedAppearancestrue
  6027.   \else
  6028.     \ifx\Hy@tempa\Hy@false
  6029.       \HyField@NeedAppearancesfalse
  6030.     \else
  6031.       \Hy@Error{%
  6032.         Unexpected value `\Hy@tempa'\MessageBreak
  6033.         of option `NeedAppearances' instead of\MessageBreak
  6034.         `true' or `false'%
  6035.       }\@ehc
  6036.     \fi
  6037.   \fi
  6038. }
  6039. \def\Field@boolkey#1#2{%
  6040.   \csname Fld@#2\ifx\relax#1\relax true\else#1\fi\endcsname
  6041. }
  6042. \ifHy@texht
  6043.   \newtoks\Field@toks
  6044.   \Field@toks={ }%
  6045.   \def\Field@addtoks#1#2{%
  6046.     \edef\@processme{\Field@toks{\the\Field@toks\space #1="#2"}}%
  6047.     \@processme
  6048.   }%
  6049. \else
  6050.   \def\Hy@WarnHTMLFieldOption#1{%
  6051.     \Hy@Warning{%
  6052.       HTML field option `#1'\MessageBreak
  6053.       is ignored%
  6054.     }%
  6055.   }%
  6056. \fi
  6057. \def\Fld@checkequals#1=#2=#3\\{%
  6058.   \def\@currDisplay{#1}%
  6059.   \ifx\\#2\\%
  6060.     \def\@currValue{#1}%
  6061.   \else
  6062.     \def\@currValue{#2}%
  6063.   \fi
  6064. }
  6065. \define@key{Field}{loc}{%
  6066.   \def\Fld@loc{#1}%
  6067. }
  6068. \define@key{Field}{checked}[true]{%
  6069.   \lowercase{\Field@boolkey{#1}}{checked}%
  6070. }
  6071. \define@key{Field}{disabled}[true]{%
  6072.   \lowercase{\Field@boolkey{#1}}{disabled}%
  6073. }
  6074. \ifHy@texht
  6075.   \define@key{Field}{accesskey}{%
  6076.     \Field@addtoks{accesskey}{#1}%
  6077.   }%
  6078.   \define@key{Field}{tabkey}{%
  6079.     \Field@addtoks{tabkey}{#1}%
  6080.   }%
  6081. \else
  6082.   \define@key{Field}{accesskey}{%
  6083.     \Hy@WarnHTMLFieldOption{accesskey}%
  6084.   }%
  6085.   \define@key{Field}{tabkey}{%
  6086.     \Hy@WarnHTMLFieldOption{tabkey}%
  6087.   }%
  6088. \fi
  6089. \define@key{Field}{name}{%
  6090.   \def\Fld@name{#1}%
  6091. }
  6092. \let\Fld@altname\relax
  6093. \define@key{Field}{altname}{%
  6094.   \def\Fld@altname{#1}%
  6095. }
  6096. \let\Fld@mappingname\relax
  6097. \define@key{Field}{mappingname}{%
  6098.   \def\Fld@mappingname{#1}%
  6099. }
  6100. \define@key{Field}{width}{%
  6101.   \def\Fld@width{#1}%
  6102.   \Field@Width#1\setbox0=\hbox{m}%
  6103. }
  6104. \define@key{Field}{maxlen}{%
  6105.   \def\Fld@maxlen{#1}%
  6106. }
  6107. \define@key{Field}{menulength}{%
  6108.   \Fld@menulength=#1\relax
  6109. }
  6110. \define@key{Field}{height}{%
  6111.   \def\Fld@height{#1}%
  6112. }
  6113. \define@key{Field}{charsize}{%
  6114.   \setlength{\Fld@charsize}{#1}%
  6115. }
  6116. \define@key{Field}{borderwidth}{%
  6117.   \Hy@defaultbp\Fld@borderwidth{#1}%
  6118. }
  6119. \def\Hy@defaultbp#1#2{%
  6120.   \begingroup
  6121.   \afterassignment\Hy@defaultbpAux
  6122.   \dimen@=#2bp\relax{#1}{#2}%
  6123. }
  6124. \begingroup\expandafter\expandafter\expandafter\endgroup
  6125. \expandafter\ifx\csname dimexpr\endcsname\relax
  6126.   \def\Hy@defaultbpAux#1\relax#2#3{%
  6127.     \ifx!#1!%
  6128.       \endgroup
  6129.       \def#2{#3}%
  6130.     \else
  6131.       \dimen@=.99626\dimen@
  6132.       \edef\x{\endgroup
  6133.         \def\noexpand#2{%
  6134.           \strip@pt\dimen@
  6135.         }%
  6136.       }\x
  6137.     \fi
  6138.   }%
  6139. \else
  6140.   \def\Hy@defaultbpAux#1\relax#2#3{%
  6141.     \ifx!#1!%
  6142.       \endgroup
  6143.       \def#2{#3}%
  6144.     \else
  6145.       \edef\x{\endgroup
  6146.         \def\noexpand#2{%
  6147.           \strip@pt\dimexpr\dimen@*800/803\relax
  6148.         }%
  6149.       }\x
  6150.     \fi
  6151.   }%
  6152. \fi
  6153. \define@key{Field}{borderstyle}{%
  6154.   \let\Hy@temp\Fld@borderstyle
  6155.   \def\Fld@borderstyle{#1}%
  6156.   \Hy@Match\Fld@borderstyle{}{%
  6157.     ^[SDBIU]$%
  6158.   }{}{%
  6159.     \Hy@Warning{%
  6160.       Invalid value `\@pdfborderstyle'\MessageBreak
  6161.       for option `pdfborderstyle'. Valid values:\MessageBreak
  6162.       \space\space S (Solid), D (Dashed), B (Beveled),\MessageBreak
  6163.       \space\space I (Inset), U (Underline)\MessageBreak
  6164.       Option setting is ignored%
  6165.     }%
  6166.     \let\Fld@borderstyle\Hy@temp
  6167.   }%
  6168. }
  6169. \define@key{Field}{bordersep}{%
  6170.   \def\Fld@bordersep{#1}%
  6171. }
  6172. \define@key{Field}{default}{%
  6173.   \def\Fld@default{#1}%
  6174. }
  6175. \define@key{Field}{align}{%
  6176.   \def\Fld@align{#1}%
  6177. }
  6178. \define@key{Field}{value}{%
  6179.   \Hy@pdfstringdef\Fld@value{#1}%
  6180. }
  6181. \define@key{Field}{checkboxsymbol}{%
  6182.   \Fld@DingDef\Fld@cbsymbol{#1}%
  6183. }
  6184. \define@key{Field}{radiosymbol}{%
  6185.   \Fld@DingDef\Fld@radiosymbol{#1}%
  6186. }
  6187. \def\Fld@DingDef#1#2{%
  6188.   \let\Fld@temp\ltx@empty
  6189.   \Fld@@DingDef#2\ding{}\@nil
  6190.  \let#1\Fld@temp
  6191. }
  6192. \def\Fld@@DingDef#1\ding#2#3\@nil{%
  6193.   \expandafter\def\expandafter\Fld@temp\expandafter{%
  6194.     \Fld@temp
  6195.     #1%
  6196.   }%
  6197.   \ifx\\#3\\%
  6198.     \expandafter\@gobble
  6199.   \else
  6200.     \begingroup
  6201.       \lccode`0=#2\relax
  6202.     \lowercase{\endgroup
  6203.       \expandafter\def\expandafter\Fld@temp\expandafter{%
  6204.         \Fld@temp
  6205.         0%
  6206.       }%
  6207.     }%
  6208.     \expandafter\@firstofone
  6209.   \fi
  6210.   {%
  6211.     \Fld@@DingDef#3\@nil
  6212.   }%
  6213. }
  6214. \define@key{Field}{rotation}{%
  6215.   \def\Fld@rotation{#1}%
  6216. }
  6217. \define@key{Field}{backgroundcolor}{%
  6218.   \HyColor@FieldBColor{#1}\Fld@bcolor{hyperref}{backgroundcolor}%
  6219. }
  6220. \define@key{Field}{bordercolor}{%
  6221.   \HyColor@FieldBColor{#1}\Fld@bordercolor{hyperref}{bordercolor}%
  6222. }
  6223. \define@key{Field}{color}{%
  6224.   \HyColor@FieldColor{#1}\Fld@color{hyperref}{color}%
  6225. }
  6226. \let\Fld@onclick@code\ltx@empty
  6227. \let\Fld@format@code\ltx@empty
  6228. \let\Fld@validate@code\ltx@empty
  6229. \let\Fld@calculate@code\ltx@empty
  6230. \let\Fld@keystroke@code\ltx@empty
  6231. \let\Fld@onfocus@code\ltx@empty
  6232. \let\Fld@onblur@code\ltx@empty
  6233. \let\Fld@onmousedown@code\ltx@empty
  6234. \let\Fld@onmouseup@code\ltx@empty
  6235. \let\Fld@onenter@code\ltx@empty
  6236. \let\Fld@onexit@code\ltx@empty
  6237. \def\Hy@temp#1{%
  6238.   \expandafter\Hy@@temp\csname Fld@#1@code\endcsname{#1}%
  6239. }
  6240. \def\Hy@@temp#1#2{%
  6241.   \ifHy@pdfa
  6242.     \define@key{Field}{#2}{%
  6243.       \Hy@Error{%
  6244.         PDF/A: Additional action `#2' is prohibited%
  6245.       }\@ehc
  6246.     }%
  6247.   \else
  6248.     \define@key{Field}{#2}{%
  6249.       \def#1{##1}%
  6250.     }%
  6251.   \fi
  6252. }
  6253. \Hy@temp{keystroke}
  6254. \Hy@temp{format}
  6255. \Hy@temp{validate}
  6256. \Hy@temp{calculate}
  6257. \Hy@temp{onfocus}
  6258. \Hy@temp{onblur}
  6259. \Hy@temp{onenter}
  6260. \Hy@temp{onexit}
  6261. \let\Fld@calculate@sortkey\ltx@empty
  6262. \define@key{Field}{calculatesortkey}[1]{%
  6263.   \def\Fld@calculate@sortkey{#1}%
  6264. }
  6265. \ifHy@texht
  6266.   \def\Hy@temp#1{%
  6267.     \define@key{Field}{#1}{%
  6268.       \Field@addtoks{#1}{##1}%
  6269.     }%
  6270.   }%
  6271. \else
  6272.   \def\Hy@temp#1{%
  6273.     \define@key{Field}{#1}{%
  6274.       \Hy@WarnHTMLFieldOption{#1}%
  6275.     }%
  6276.   }%
  6277. \fi
  6278. \Hy@temp{ondblclick}
  6279. \Hy@temp{onmousedown}
  6280. \Hy@temp{onmouseup}
  6281. \Hy@temp{onmouseover}
  6282. \Hy@temp{onmousemove}
  6283. \Hy@temp{onmouseout}
  6284. \Hy@temp{onkeydown}
  6285. \Hy@temp{onkeyup}
  6286. \Hy@temp{onselect}
  6287. \Hy@temp{onchange}
  6288. \Hy@temp{onkeypress}
  6289. \ifHy@texht
  6290.  \define@key{Field}{onclick}{%
  6291.     \Field@addtoks{onclick}{#1}%
  6292.   }%
  6293. \else
  6294.   \ifHy@pdfa
  6295.     \define@key{Field}{onclick}{%
  6296.       \Hy@Error{%
  6297.         PDF/A: Action `onclick' is prohibited%
  6298.       }\@ehc
  6299.     }%
  6300.   \else
  6301.     \define@key{Field}{onclick}{%
  6302.       \def\Fld@onclick@code{#1}%
  6303.     }%
  6304.   \fi
  6305. \fi
  6306. \DeclareRobustCommand\TextField{%
  6307.   \@ifnextchar[{\@TextField}{\@TextField[]}%
  6308. }
  6309. \DeclareRobustCommand\ChoiceMenu{%
  6310.   \@ifnextchar[{\@ChoiceMenu}{\@ChoiceMenu[]}%
  6311. }
  6312. \DeclareRobustCommand\CheckBox{%
  6313.   \@ifnextchar[{\@CheckBox}{\@CheckBox[]}%
  6314. }
  6315. \DeclareRobustCommand\PushButton{%
  6316.   \@ifnextchar[{\@PushButton}{\@PushButton[]}%
  6317. }
  6318. \DeclareRobustCommand\Gauge{%
  6319.   \@ifnextchar[{\@Gauge}{\@Gauge[]}%
  6320. }
  6321. \DeclareRobustCommand\Submit{%
  6322.   \@ifnextchar[{\@Submit}{\@Submit[]}%
  6323. }
  6324. \DeclareRobustCommand\Reset{%
  6325.   \@ifnextchar[{\@Reset}{\@Reset[]}%
  6326. }
  6327. \def\LayoutTextField#1#2{% label, field
  6328.   #1 #2%
  6329. }
  6330. \def\LayoutChoiceField#1#2{% label, field
  6331.   #1 #2%
  6332. }
  6333. \def\LayoutCheckField#1#2{% label, field
  6334.   #1 #2%
  6335. }
  6336. \def\LayoutPushButtonField#1{% button
  6337.   #1%
  6338. }
  6339. \def\MakeRadioField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
  6340. \def\MakeCheckField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
  6341. \def\MakeTextField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
  6342. \def\MakeChoiceField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
  6343. \def\MakeButtonField#1{%
  6344.   \sbox0{%
  6345.     \hskip\Fld@borderwidth bp#1\hskip\Fld@borderwidth bp%
  6346.   }%
  6347.   \@tempdima\ht0 %
  6348.   \advance\@tempdima by \Fld@borderwidth bp %
  6349.   \advance\@tempdima by \Fld@borderwidth bp %
  6350.   \ht0\@tempdima
  6351.   \@tempdima\dp0 %
  6352.   \advance\@tempdima by \Fld@borderwidth bp %
  6353.   \advance\@tempdima by \Fld@borderwidth bp %
  6354.   \dp0\@tempdima
  6355.   \box0\relax
  6356. }
  6357. \def\DefaultHeightofSubmit{14pt}
  6358. \def\DefaultWidthofSubmit{2cm}
  6359. \def\DefaultHeightofReset{14pt}
  6360. \def\DefaultWidthofReset{2cm}
  6361. \def\DefaultHeightofCheckBox{\baselineskip}
  6362. \def\DefaultWidthofCheckBox{\baselineskip}
  6363. \def\DefaultHeightofChoiceMenu{\baselineskip}
  6364. \def\DefaultWidthofChoiceMenu{\baselineskip}
  6365. \def\DefaultHeightofText{\baselineskip}
  6366. \def\DefaultHeightofTextMultiline{4\baselineskip}
  6367. \def\DefaultWidthofText{3cm}
  6368. \def\DefaultOptionsofSubmit{print,name=Submit,noexport}
  6369. \def\DefaultOptionsofReset{print,name=Reset,noexport}
  6370. \def\DefaultOptionsofPushButton{print}
  6371. \def\DefaultOptionsofCheckBox{print}
  6372. \def\DefaultOptionsofText{print}
  6373. \def\DefaultOptionsofListBox{print}
  6374. \def\DefaultOptionsofComboBox{print,edit,sort}
  6375. \def\DefaultOptionsofPopdownBox{print}
  6376. \def\DefaultOptionsofRadio{print,notoggletooff}
  6377. \ifHy@hyperfigures
  6378.  \Hy@Info{Hyper figures ON}%
  6379. \else
  6380.   \Hy@Info{Hyper figures OFF}%
  6381. \fi
  6382. \ifHy@nesting
  6383.   \Hy@Info{Link nesting ON}%
  6384. \else
  6385.   \Hy@Info{Link nesting OFF}%
  6386. \fi
  6387. \ifHy@hyperindex
  6388.   \Hy@Info{Hyper index ON}%
  6389. \else
  6390.   \Hy@Info{Hyper index OFF}%
  6391. \fi
  6392. \ifHy@backref
  6393.   \Hy@Info{backreferencing ON}%
  6394. \else
  6395.   \Hy@Info{backreferencing OFF}%
  6396. \fi
  6397. \ifHy@colorlinks
  6398.   \Hy@Info{Link coloring ON}%
  6399. \else
  6400.   \Hy@Info{Link coloring OFF}%
  6401. \fi
  6402. \ifHy@ocgcolorlinks
  6403.   \Hy@Info{Link coloring with OCG ON}%
  6404. \else
  6405.   \Hy@Info{Link coloring with OCG OFF}%
  6406. \fi
  6407. \ifHy@pdfa
  6408.   \Hy@Info{PDF/A mode ON}%
  6409. \else
  6410.   \Hy@Info{PDF/A mode OFF}%
  6411. \fi
  6412. \edef\hyper@hash{\string#}
  6413. \edef\hyper@tilde{\string~}
  6414. \edef\hyper@quote{\string"}
  6415. \def\@currentHref{Doc-Start}
  6416. \let\Hy@footnote@currentHref\@empty
  6417. \Hy@AtBeginDocument{%
  6418.   \Hy@pdfstringtrue
  6419.   \PDF@SetupDoc
  6420.   \let\PDF@SetupDoc\@empty
  6421.   \Hy@DisableOption{pdfpagescrop}%
  6422.   \Hy@DisableOption{pdfpagemode}%
  6423.   \Hy@DisableOption{pdfnonfullscreenpagemode}%
  6424.   \Hy@DisableOption{pdfdirection}%
  6425.   \Hy@DisableOption{pdfviewarea}%
  6426.   \Hy@DisableOption{pdfviewclip}%
  6427.   \Hy@DisableOption{pdfprintarea}%
  6428.   \Hy@DisableOption{pdfprintclip}%
  6429.   \Hy@DisableOption{pdfprintscaling}%
  6430.   \Hy@DisableOption{pdfduplex}%
  6431.   \Hy@DisableOption{pdfpicktraybypdfsize}%
  6432.   \Hy@DisableOption{pdfprintpagerange}%
  6433.   \Hy@DisableOption{pdfnumcopies}%
  6434.   \Hy@DisableOption{pdfstartview}%
  6435.   \Hy@DisableOption{pdfstartpage}%
  6436.   \Hy@DisableOption{pdftoolbar}%
  6437.   \Hy@DisableOption{pdfmenubar}%
  6438.   \Hy@DisableOption{pdfwindowui}%
  6439.   \Hy@DisableOption{pdffitwindow}%
  6440.   \Hy@DisableOption{pdfcenterwindow}%
  6441.   \Hy@DisableOption{pdfdisplaydoctitle}%
  6442.   \Hy@DisableOption{pdfpagelayout}%
  6443.   \Hy@DisableOption{pdflang}%
  6444.   \Hy@DisableOption{baseurl}%
  6445.   \ifHy@texht\else\hyper@anchorstart{Doc-Start}\hyper@anchorend\fi
  6446.  \Hy@pdfstringfalse
  6447. }
  6448.  
  6449. \LetLtxMacro\NoHy@OrgRef\ref
  6450. \DeclareRobustCommand*{\ref}{%
  6451.   \@ifstar\NoHy@OrgRef\NoHy@OrgRef
  6452. }
  6453. \LetLtxMacro\NoHy@OrgPageRef\pageref
  6454. \DeclareRobustCommand*{\pageref}{%
  6455.   \@ifstar\NoHy@OrgPageRef\NoHy@OrgPageRef
  6456. }
  6457. \def\NoHyper{%
  6458.   \def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}%
  6459.   \def\hyper@@anchor##1##2{##2\Hy@xspace@end}%
  6460.   \global\let\hyper@livelink\hyper@link
  6461.   \gdef\hyper@link##1##2##3{##3\Hy@xspace@end}%
  6462.   \let\hyper@anchor\ltx@gobble
  6463.   \let\hyper@anchorstart\ltx@gobble
  6464.   \def\hyper@anchorend{\Hy@xspace@end}%
  6465.   \let\hyper@linkstart\ltx@gobbletwo
  6466.   \def\hyper@linkend{\Hy@xspace@end}%
  6467.   \def\hyper@linkurl##1##2{##1\Hy@xspace@end}%
  6468.   \def\hyper@linkfile##1##2##3{##1\Hy@xspace@end}%
  6469.   \let\Hy@backout\@gobble
  6470. }
  6471. \def\stop@hyper{%
  6472.   \def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}%
  6473.   \let\Hy@backout\@gobble
  6474.   \let\hyper@@anchor\ltx@gobble
  6475.   \def\hyper@link##1##2##3{##3\Hy@xspace@end}%
  6476.   \let\hyper@anchor\ltx@gobble
  6477.   \let\hyper@anchorstart\ltx@gobble
  6478.   \def\hyper@anchorend{\Hy@xspace@end}%
  6479.   \let\hyper@linkstart\ltx@gobbletwo
  6480.   \def\hyper@linkend{\Hy@xspace@end}%
  6481.   \def\hyper@linkurl##1##2{##1\Hy@xspace@end}%
  6482.   \def\hyper@linkfile##1##2##3{##1\Hy@xspace@end}%
  6483. }
  6484. \def\endNoHyper{%
  6485.   \global\let\hyper@link\hyper@livelink
  6486. }
  6487. \Hy@AtBeginDocument{%
  6488.   \if@filesw
  6489.     \ifHy@typexml
  6490.       \immediate\closeout\@mainaux
  6491.       \immediate\openout\@mainaux\jobname.aux\relax
  6492.       \immediate\write\@auxout{<relaxxml>\relax}%
  6493.     \fi
  6494.     \immediate\write\@auxout{%
  6495.       \string\providecommand\string\HyperFirstAtBeginDocument{%
  6496.         \string\AtBeginDocument}^^J%
  6497.       \string\HyperFirstAtBeginDocument{%
  6498.         \string\ifx\string\hyper@anchor\string\@undefined^^J%
  6499.           \string\global\string\let\string\oldcontentsline\string\contentsline^^J%
  6500.           \string\gdef\string\contentsline%
  6501.             \string#1\string#2\string#3\string#4{%
  6502.             \string\oldcontentsline%
  6503.               {\string#1}{\string#2}{\string#3}}^^J%
  6504.           \string\global\string\let\string\oldnewlabel\string\newlabel^^J%
  6505.           \string\gdef\string\newlabel\string#1\string#2{%
  6506.              \string\newlabelxx{\string#1}\string#2}^^J%
  6507.           \string\gdef\string\newlabelxx%
  6508.              \string#1\string#2\string#3\string#4\string#5\string#6{%
  6509.              \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J%
  6510.           \string\AtEndDocument{%
  6511.             \string\ifx\string\hyper@anchor\string\@undefined^^J%
  6512.               \string\let\string\contentsline\string\oldcontentsline^^J%
  6513.               \string\let\string\newlabel\string\oldnewlabel^^J%
  6514.             \string\fi%
  6515.           }^^J%
  6516.         \string\fi%
  6517.       }^^J%
  6518.       \string\global\string\let\string\hyper@last\relax^^J%
  6519.       \string\gdef\string\HyperFirstAtBeginDocument\string#1{\string#1}%
  6520.     }%
  6521.   \fi
  6522.   \let\HyperFirstAtBeginDocument\ltx@firstofone
  6523.   \ifx\hyper@last\@undefined
  6524.     \def\@starttoc#1{%
  6525.       \begingroup
  6526.         \makeatletter
  6527.         \ltx@ifpackageloaded{parskip}{\parskip\z@}{}%
  6528.         \IfFileExists{\jobname.#1}{%
  6529.           \Hy@WarningNoLine{%
  6530.             old #1 file detected, not used; run LaTeX again%
  6531.           }%
  6532.         }{}%
  6533.         \if@filesw
  6534.           \expandafter\newwrite\csname tf@#1\endcsname
  6535.           \immediate\openout\csname tf@#1\endcsname \jobname.#1\relax
  6536.         \fi
  6537.         \@nobreakfalse
  6538.       \endgroup
  6539.     }%
  6540.     \def\newlabel#1#2{\@newl@bel r{#1}{#2{}{}{}{}}}%
  6541.   \fi
  6542. }
  6543. \ifHy@pdfusetitle
  6544.   \let\HyOrg@title\title
  6545.   \let\HyOrg@author\author
  6546.   \def\title{\@ifnextchar[{\Hy@scanopttitle}{\Hy@scantitle}}%
  6547.   \def\Hy@scanopttitle[#1]{%
  6548.     \gdef\Hy@title{#1}%
  6549.     \HyOrg@title[{#1}]%
  6550.   }%
  6551.   \def\Hy@scantitle#1{%
  6552.     \gdef\Hy@title{#1}%
  6553.     \HyOrg@title{#1}%
  6554.   }%
  6555.   \def\author{\@ifnextchar[{\Hy@scanoptauthor}{\Hy@scanauthor}}%
  6556.   \def\Hy@scanoptauthor[#1]{%
  6557.     \gdef\Hy@author{#1}%
  6558.     \HyOrg@author[{#1}]%
  6559.   }%
  6560.   \def\Hy@scanauthor#1{%
  6561.     \gdef\Hy@author{#1}%
  6562.     \HyOrg@author{#1}%
  6563.   }%
  6564.   \begingroup
  6565.     \def\process@me#1\@nil#2{%
  6566.       \expandafter\let\expandafter\x\csname @#2\endcsname
  6567.       \edef\y{\expandafter\strip@prefix\meaning\x}%
  6568.       \def\c##1#1##2\@nil{%
  6569.         \ifx\\##1\\%
  6570.         \else
  6571.          \expandafter\gdef\csname Hy@#2\expandafter\endcsname
  6572.               \expandafter{\x}%
  6573.         \fi
  6574.       }%
  6575.       \expandafter\c\y\relax#1\@nil
  6576.     }%
  6577.     \expandafter\process@me\string\@latex@\@nil{title}%
  6578.     \expandafter\process@me\string\@latex@\@nil{author}%
  6579.   \endgroup
  6580. \fi
  6581. \Hy@DisableOption{pdfusetitle}
  6582. \def\Hy@UseMaketitleString#1{%
  6583.   \ltx@IfUndefined{Hy@#1}{}{%
  6584.     \begingroup
  6585.       \let\Hy@saved@hook\pdfstringdefPreHook
  6586.       \pdfstringdefDisableCommands{%
  6587.         \expandafter\let\expandafter\\\csname Hy@newline@#1\endcsname
  6588.         \let\newline\\%
  6589.         \def\and{; }%
  6590.       }%
  6591.       \expandafter\ifx\csname @pdf#1\endcsname\@empty
  6592.         \expandafter\pdfstringdef\csname @pdf#1\endcsname{%
  6593.           \csname Hy@#1\endcsname\@empty
  6594.         }%
  6595.       \fi
  6596.       \global\let\pdfstringdefPreHook\Hy@saved@hook
  6597.     \endgroup
  6598.   }%
  6599. }
  6600. \def\Hy@newline@title#1{ #1}
  6601. \def\Hy@newline@author#1{, #1}
  6602. \def\Hy@UseMaketitleInfos{%
  6603.   \Hy@UseMaketitleString{title}%
  6604.   \Hy@UseMaketitleString{author}%
  6605. }
  6606. \RequirePackage{atbegshi}[2007/09/09]
  6607. \let\Hy@EveryPageHook\ltx@empty
  6608. \let\Hy@EveryPageBoxHook\ltx@empty
  6609. \let\Hy@FirstPageHook\ltx@empty
  6610. \AtBeginShipout{%
  6611.   \Hy@EveryPageHook
  6612.   \ifx\Hy@EveryPageBoxHook\ltx@empty
  6613.   \else
  6614.     \setbox\AtBeginShipoutBox=\vbox{%
  6615.       \offinterlineskip
  6616.       \Hy@EveryPageBoxHook
  6617.       \box\AtBeginShipoutBox
  6618.     }%
  6619.   \fi
  6620. }
  6621. \ltx@iffileloaded{hpdftex.def}{%
  6622.   \AtBeginShipout{%
  6623.     \Hy@FirstPageHook
  6624.     \global\let\Hy@FirstPageHook\ltx@empty
  6625.   }%
  6626. }{%
  6627.   \AtBeginShipoutFirst{%
  6628.     \Hy@FirstPageHook
  6629.   }%
  6630. }
  6631. \g@addto@macro\Hy@FirstPageHook{%
  6632.   \PDF@FinishDoc
  6633.   \global\let\PDF@FinishDoc\ltx@empty
  6634. }
  6635. \ifHy@pdfpagelabels
  6636.   \begingroup\expandafter\expandafter\expandafter\endgroup
  6637.   \expandafter\ifx\csname thepage\endcsname\relax
  6638.     \Hy@pdfpagelabelsfalse
  6639.     \Hy@WarningNoLine{%
  6640.       Option `pdfpagelabels' is turned off\MessageBreak
  6641.       because \string\thepage\space is undefined%
  6642.     }%
  6643.     \csname fi\endcsname
  6644.     \csname iffalse\expandafter\endcsname
  6645.   \fi
  6646.   \def\thispdfpagelabel#1{%
  6647.     \gdef\HyPL@thisLabel{#1}%
  6648.   }%
  6649.   \global\let\HyPL@thisLabel\relax
  6650.   \let\HyPL@Labels\ltx@empty
  6651.   \newcount\Hy@abspage
  6652.   \Hy@abspage=0 %
  6653.   \def\HyPL@LastType{init}%
  6654.   \def\HyPL@LastNumber{0}%
  6655.   \let\HyPL@LastPrefix\ltx@empty
  6656.   \def\HyPL@arabic{D}%
  6657.   \def\HyPL@Roman{R}%
  6658.   \def\HyPL@roman{r}%
  6659.   \def\HyPL@Alph{A}%
  6660.   \def\HyPL@alph{a}%
  6661.   \let\HyPL@SlidesSetPage\ltx@empty
  6662.   \ltx@ifclassloaded{slides}{%
  6663.     \def\HyPL@SlidesSetPage{%
  6664.       \advance\c@page\ltx@one
  6665.       \ifnum\value{page}>\ltx@one
  6666.         \protected@edef\HyPL@SlidesOptionalPage{%
  6667.           \Hy@SlidesFormatOptionalPage{\thepage}%
  6668.         }%
  6669.       \else
  6670.         \let\HyPL@SlidesOptionalPage\ltx@empty
  6671.       \fi
  6672.       \advance\c@page-\ltx@one
  6673.       \def\HyPL@page{%
  6674.         \csname the\Hy@SlidesPage\endcsname
  6675.         \HyPL@SlidesOptionalPage
  6676.       }%
  6677.     }%
  6678.   }{}%
  6679.   \def\HyPL@EveryPage{%
  6680.     \begingroup
  6681.       \ifx\HyPL@thisLabel\relax
  6682.         \let\HyPL@page\thepage
  6683.         \HyPL@SlidesSetPage
  6684.       \else
  6685.         \let\HyPL@page\HyPL@thisLabel
  6686.         \global\let\HyPL@thisLabel\relax
  6687.       \fi
  6688.       \let\HyPL@Type\relax
  6689.       \ifnum\c@page>0 %
  6690.         \ifx\HyPL@SlidesSetPage\ltx@empty
  6691.           \expandafter\HyPL@CheckThePage\HyPL@page\@nil
  6692.         \fi
  6693.       \fi
  6694.       \let\Hy@temp Y%
  6695.       \ifx\HyPL@Type\HyPL@LastType
  6696.       \else
  6697.         \let\Hy@temp N%
  6698.       \fi
  6699.       \ifx\HyPL@Type\relax
  6700.          \pdfstringdef\HyPL@Prefix{\HyPL@page}%
  6701.       \else
  6702.          \pdfstringdef\HyPL@Prefix\HyPL@Prefix
  6703.       \fi
  6704.       \ifx\HyPL@Prefix\HyPL@LastPrefix
  6705.       \else
  6706.         \let\Hy@temp N%
  6707.       \fi
  6708.       \if Y\Hy@temp
  6709.         \advance\c@page by -1 %
  6710.         \ifnum\HyPL@LastNumber=\the\c@page\relax
  6711.         \else
  6712.           \let\Hy@temp N%
  6713.         \fi
  6714.         \Hy@StepCount\c@page
  6715.       \fi
  6716.       \if N\Hy@temp
  6717.         \ifx\HyPL@Type\relax
  6718.           \HyPL@StorePageLabel{/P(\HyPL@Prefix)}%
  6719.         \else
  6720.           \HyPL@StorePageLabel{%
  6721.             \ifx\HyPL@Prefix\@empty
  6722.             \else
  6723.               /P(\HyPL@Prefix)%
  6724.             \fi
  6725.             /S/\csname HyPL\HyPL@Type\endcsname
  6726.             \ifnum\the\c@page=1 %
  6727.             \else
  6728.               \space/St \the\c@page
  6729.             \fi
  6730.           }%
  6731.         \fi
  6732.       \fi
  6733.       \xdef\HyPL@LastNumber{\the\c@page}%
  6734.       \global\let\HyPL@LastType\HyPL@Type
  6735.       \global\let\HyPL@LastPrefix\HyPL@Prefix
  6736.     \endgroup
  6737.     \Hy@GlobalStepCount\Hy@abspage
  6738.   }%
  6739.   \def\HyPL@CheckThePage#1\@nil{%
  6740.     \HyPL@@CheckThePage{#1}#1\csname\endcsname\c@page\@nil
  6741.  }%
  6742.   \def\HyPL@@CheckThePage#1#2\csname#3\endcsname\c@page#4\@nil{%
  6743.     \def\Hy@tempa{#4}%
  6744.     \def\Hy@tempb{\csname\endcsname\c@page}%
  6745.     \ifx\Hy@tempa\Hy@tempb
  6746.       \expandafter\ifx\csname HyPL#3\endcsname\relax
  6747.       \else
  6748.         \def\HyPL@Type{#3}%
  6749.         \def\HyPL@Prefix{#2}%
  6750.       \fi
  6751.     \else
  6752.       \begingroup
  6753.         \let\Hy@next\endgroup
  6754.         \let\HyPL@found\@undefined
  6755.         \def\arabic{\HyPL@Format{arabic}}%
  6756.         \def\Roman{\HyPL@Format{Roman}}%
  6757.         \def\roman{\HyPL@Format{roman}}%
  6758.         \def\Alph{\HyPL@Format{Alph}}%
  6759.         \def\alph{\HyPL@Format{alph}}%
  6760.         \protected@edef\Hy@temp{#1}%
  6761.         \ifx\HyPL@found\relax
  6762.           \toks@\expandafter{\Hy@temp}%
  6763.           \edef\Hy@next{\endgroup
  6764.            \noexpand\HyPL@@@CheckThePage\the\toks@
  6765.               \noexpand\HyPL@found\relax\noexpand\@nil
  6766.          }%
  6767.         \fi
  6768.       \Hy@next
  6769.     \fi
  6770.   }%
  6771.   \def\HyPL@Format#1#2{%
  6772.     \ifx\HyPL@found\@undefined
  6773.       \expandafter\ifx\csname c@#2\endcsname\c@page
  6774.         \expandafter\noexpand\csname HyPL@found\endcsname{#1}%
  6775.       \else
  6776.         \expandafter\noexpand\csname#1\endcsname{#2}%
  6777.       \fi
  6778.     \else
  6779.       \expandafter\noexpand\csname#1\endcsname{#2}%
  6780.     \fi
  6781.   }%
  6782.   \def\HyPL@@@CheckThePage#1\HyPL@found#2#3\@nil{%
  6783.     \def\Hy@tempa{#3}%
  6784.     \def\Hy@tempb{\HyPL@found\relax}%
  6785.     \ifx\Hy@tempa\Hy@tempb
  6786.       \def\HyPL@Type{@#2}%
  6787.       \def\HyPL@Prefix{#1}%
  6788.     \fi
  6789.   }%
  6790.   \providecommand*{\HyPL@StorePageLabel}[1]{}%
  6791.   \def\HyPL@Useless{0<</S/D>>}%
  6792.   \@onelevel@sanitize\HyPL@Useless
  6793.   \def\HyPL@SetPageLabels{%
  6794.     \@onelevel@sanitize\HyPL@Labels
  6795.     \ifx\HyPL@Labels\@empty
  6796.     \else
  6797.       \ifx\HyPL@Labels\HyPL@Useless
  6798.       \else
  6799.         \Hy@PutCatalog{/PageLabels<</Nums[\HyPL@Labels]>>}%
  6800.       \fi
  6801.     \fi
  6802.   }%
  6803.   \g@addto@macro\Hy@EveryPageHook{\HyPL@EveryPage}%
  6804. \fi
  6805. \Hy@DisableOption{pdfpagelabels}
  6806. \ifx\MaybeStopEarly\relax
  6807. \else
  6808.   \Hy@stoppedearlytrue
  6809.   \expandafter\MaybeStopEarly
  6810. \fi
  6811. \Hy@stoppedearlyfalse
  6812. \def\Hy@CounterExists#1{%
  6813.   \begingroup\expandafter\expandafter\expandafter\endgroup
  6814.   \expandafter\ifx\csname c@#1\endcsname\relax
  6815.     \expandafter\@gobble
  6816.   \else
  6817.     \begingroup\expandafter\expandafter\expandafter\endgroup
  6818.     \expandafter\ifx\csname the#1\endcsname\relax
  6819.       \expandafter\expandafter\expandafter\@gobble
  6820.     \else
  6821.       \expandafter\expandafter\expandafter\@firstofone
  6822.     \fi
  6823.   \fi
  6824. }
  6825. \Hy@CounterExists{section}{%
  6826.   \providecommand\theHequation{\theHsection.\arabic{equation}}%
  6827. }
  6828. \Hy@CounterExists{part}{%
  6829.   \providecommand\theHpart{\arabic{part}}%
  6830. }
  6831. \ltx@IfUndefined{thechapter}{%
  6832.   \providecommand\theHsection    {\arabic{section}}%
  6833.   \providecommand\theHfigure     {\arabic{figure}}%
  6834.   \providecommand\theHtable      {\arabic{table}}%
  6835. }{%
  6836.   \providecommand\theHchapter    {\arabic{chapter}}%
  6837.   \providecommand\theHfigure     {\theHchapter.\arabic{figure}}%
  6838.   \providecommand\theHtable      {\theHchapter.\arabic{table}}%
  6839.   \providecommand\theHsection    {\theHchapter.\arabic{section}}%
  6840. }
  6841. \providecommand\theHsubsection   {\theHsection.\arabic{subsection}}
  6842. \providecommand\theHsubsubsection{\theHsubsection.\arabic{subsubsection}}
  6843. \providecommand\theHparagraph    {\theHsubsubsection.\arabic{paragraph}}
  6844. \providecommand\theHsubparagraph {\theHparagraph.\arabic{subparagraph}}
  6845. \providecommand\theHtheorem      {\theHsection.\arabic{theorem}}
  6846. \providecommand\theHthm          {\theHsection.\arabic{thm}}
  6847. \let\H@item\item
  6848. \newcounter{Item}
  6849. \def\theHItem{\arabic{Item}}
  6850. \def\item{%
  6851.   \@hyper@itemfalse
  6852.   \if@nmbrlist\@hyper@itemtrue\fi
  6853.   \H@item
  6854. }
  6855. \providecommand\theHenumi     {\theHItem}
  6856. \providecommand\theHenumii    {\theHItem}
  6857. \providecommand\theHenumiii   {\theHItem}
  6858. \providecommand\theHenumiv    {\theHItem}
  6859. \providecommand\theHHfootnote {\arabic{Hfootnote}}
  6860. \providecommand\theHmpfootnote{\arabic{mpfootnote}}
  6861. \@ifundefined{theHHmpfootnote}{%
  6862.   \let\theHHmpfootnote\theHHfootnote
  6863. }{}
  6864. \let\H@refstepcounter\refstepcounter
  6865. \edef\name@of@eq{equation}%
  6866. \edef\name@of@slide{slide}%
  6867. \newif\if@hyper@item
  6868. \newif\if@skiphyperref
  6869. \@hyper@itemfalse
  6870. \@skiphyperreffalse
  6871. \def\refstepcounter#1{%
  6872.   \ifHy@pdfstring
  6873.   \else
  6874.     \H@refstepcounter{#1}%
  6875.     \edef\This@name{#1}%
  6876.     \ifx\This@name\name@of@slide
  6877.     \else
  6878.       \if@skiphyperref
  6879.       \else
  6880.         \if@hyper@item
  6881.           \stepcounter{Item}%
  6882.           \hyper@refstepcounter{Item}%
  6883.           \@hyper@itemfalse
  6884.         \else
  6885.           \hyper@refstepcounter{#1}%
  6886.         \fi
  6887.       \fi
  6888.     \fi
  6889.   \fi
  6890. }
  6891. \let\Hy@saved@refstepcounter\refstepcounter
  6892. \@ifpackageloaded{amsmath}{}{\newif\ifmeasuring@\measuring@false}
  6893. \def\hyper@refstepcounter#1{%
  6894.   \edef\This@name{#1}%
  6895.   \ifx\This@name\name@of@eq
  6896.     \@ifundefined{theHequation}{%
  6897.       \make@stripped@name{\theequation}%
  6898.       \let\theHequation\newname
  6899.     }{}%
  6900.   \fi
  6901.   \HyCnt@ProvideTheHCounter{#1}%
  6902.   \hyper@makecurrent{#1}%
  6903.   \ifmeasuring@
  6904.   \else
  6905.     \Hy@raisedlink{%
  6906.       \hyper@anchorstart{\@currentHref}\hyper@anchorend
  6907.    }%
  6908.   \fi
  6909. }
  6910. \def\HyCnt@ProvideTheHCounter#1{%
  6911.   \@ifundefined{theH#1}{%
  6912.     \expandafter\def\csname theH#1\endcsname{}%
  6913.     \def\Hy@temp{\@elt{#1}}%
  6914.     \ltx@onelevel@sanitize\Hy@temp
  6915.     \let\HyOrg@elt\@elt
  6916.     \edef\@elt{%
  6917.       \noexpand\HyCnt@LookForParentCounter
  6918.       \expandafter\noexpand\csname theH#1\endcsname
  6919.     }%
  6920.     \cl@@ckpt
  6921.     \let\@elt\HyOrg@elt
  6922.     \expandafter
  6923.     \ltx@LocalAppendToMacro\csname theH#1\expandafter\endcsname
  6924.     \expandafter{%
  6925.       \expandafter\@arabic\csname c@#1\endcsname
  6926.     }%
  6927.   }{}%
  6928. }
  6929. \def\HyCnt@LookForParentCounter#1#2{%
  6930.   \expandafter\let\expandafter\Hy@temp@A\csname cl@#2\endcsname
  6931.   \ltx@IfUndefined{cl@#2}{%
  6932.   }{%
  6933.     \ltx@onelevel@sanitize\Hy@temp@A
  6934.     \edef\Hy@temp@A{%
  6935.       \noexpand\in@{\Hy@temp}{\Hy@temp@A}%
  6936.     }\Hy@temp@A
  6937.     \ifin@
  6938.       \ltx@IfUndefined{theH#2}{%
  6939.         \expandafter\ltx@LocalAppendToMacro\expandafter#1%
  6940.         \expandafter{%
  6941.           \expandafter\@arabic\csname c@#2\endcsname.%
  6942.         }%
  6943.       }{%
  6944.         \expandafter\ltx@LocalAppendToMacro\expandafter#1%
  6945.         \expandafter{%
  6946.           \csname theH#2\endcsname.%
  6947.         }%
  6948.       }%
  6949.     \fi
  6950.   }%
  6951. }
  6952. \begingroup\expandafter\expandafter\expandafter\endgroup
  6953. \expandafter\ifx\csname chapter\endcsname\relax
  6954.   \def\Hy@chapterstring{section}%
  6955. \else
  6956.   \def\Hy@chapterstring{chapter}%
  6957. \fi
  6958. \def\Hy@appendixstring{appendix}
  6959. \def\Hy@chapapp{\Hy@chapterstring}
  6960. \ltx@IfUndefined{appendix}{%
  6961. }{%
  6962.   \let\HyOrg@appendix\appendix
  6963.   \def\Hy@AlphNoErr#1{%
  6964.     \ifnum\value{#1}>26 %
  6965.       Alph\number\value{#1}%
  6966.     \else
  6967.       \ifnum\value{#1}<1 %
  6968.         Alph\number\value{#1}%
  6969.       \else
  6970.         \Alph{#1}%
  6971.       \fi
  6972.     \fi
  6973.   }%
  6974.   \def\appendix{%
  6975.     \ltx@IfUndefined{chapter}{%
  6976.       \gdef\theHsection{\Hy@AlphNoErr{section}}%
  6977.     }{%
  6978.       \gdef\theHchapter{\Hy@AlphNoErr{chapter}}%
  6979.     }%
  6980.     \xdef\Hy@chapapp{\Hy@appendixstring}%
  6981.     \HyOrg@appendix
  6982.   }%
  6983. }
  6984. \def\Hy@Test@alph#1{%
  6985.   \ifcase#1\or
  6986.     a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or
  6987.     k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or
  6988.     u\or v\or w\or x\or y\or z%
  6989.   \else
  6990.     \@ctrerr
  6991.   \fi
  6992. }
  6993. \def\Hy@Test@Alph#1{%
  6994.   \ifcase#1\or
  6995.     A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or
  6996.     K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or
  6997.     U\or V\or W\or X\or Y\or Z%
  6998.   \else
  6999.     \@ctrerr
  7000.   \fi
  7001. }
  7002. \def\hyper@makecurrent#1{%
  7003.   \begingroup
  7004.     \Hy@safe@activestrue
  7005.     \edef\Hy@param{#1}%
  7006.     \ifx\Hy@param\Hy@chapterstring
  7007.       \let\Hy@param\Hy@chapapp
  7008.     \fi
  7009.     \ifHy@hypertexnames
  7010.       \let\@number\@firstofone
  7011.       \def\@fnsymbol##1{fnsymbol\number##1}%
  7012.       \def\@arabic##1{\number##1}%
  7013.       \ifx\@alph\Hy@Test@alph
  7014.       \else
  7015.         \def\@alph{alph\number}%
  7016.       \fi
  7017.       \ifx\@Alph\Hy@Test@Alph
  7018.       \else
  7019.         \def\@Alph{Alph\number}%
  7020.       \fi
  7021.       \ifHy@naturalnames
  7022.         \let\textlatin\@firstofone
  7023.         \xdef\HyperGlobalCurrentHref{\csname the#1\endcsname}%
  7024.       \else
  7025.         \xdef\HyperGlobalCurrentHref{%
  7026.           \csname
  7027.             the%
  7028.             \expandafter\ifx\csname theH#1\endcsname\relax\else H\fi
  7029.             #1%
  7030.           \endcsname
  7031.         }%
  7032.       \fi
  7033.       \xdef\HyperGlobalCurrentHref{%
  7034.         \Hy@param.\expandafter\strip@prefix\meaning\HyperGlobalCurrentHref
  7035.       }%
  7036.     \else
  7037.       \Hy@GlobalStepCount\Hy@linkcounter
  7038.       \xdef\HyperGlobalCurrentHref{\Hy@param.\the\Hy@linkcounter}%
  7039.     \fi
  7040.   \endgroup
  7041.   \let\HyperLocalCurrentHref\HyperGlobalCurrentHref
  7042.   \ifHy@localanchorname
  7043.     \let\@currentHref\HyperLocalCurrentHref
  7044.   \else
  7045.     \global\let\@currentHref\HyperGlobalCurrentHref
  7046.   \fi
  7047. }
  7048. \def\Hy@MakeCurrentHref#1{%
  7049.   \edef\HyperLocalCurrentHref{#1}%
  7050.   \@onelevel@sanitize\HyperLocalCurrentHref
  7051.   \global\let\HyperGlobalCurrentHref\HyperLocalCurrentHref
  7052.   \let\HyperLocalCurrentHref\HyperGlobalCurrentHref
  7053.   \ifHy@localanchorname
  7054.     \let\@currentHref\HyperLocalCurrentHref
  7055.   \else
  7056.     \global\let\@currentHref\HyperGlobalCurrentHref
  7057.   \fi
  7058. }
  7059. \def\Hy@MakeCurrentHrefAuto#1{%
  7060.   \Hy@GlobalStepCount\Hy@linkcounter
  7061.   \Hy@MakeCurrentHref{#1.\the\Hy@linkcounter}%
  7062. }
  7063. \def\@currentHlabel{\@currentHref}
  7064. \@ifpackageloaded{fancyvrb}{%
  7065.   \@ifpackagelater{fancyvrb}{1998/05/20}{}{%
  7066.     \def\FV@StepLineNo{%
  7067.       \FV@SetLineNo
  7068.       \def\FV@StepLineNo{\H@refstepcounter{FancyVerbLine}}%
  7069.       \FV@StepLineNo
  7070.     }%
  7071.   }%
  7072. }{}
  7073. \Hy@AtBeginDocument{%
  7074.   \@ifclassloaded{revtex4}{%
  7075.     \@namedef{ver@lastpage.sty}{1994/06/25}%
  7076.   }{}%
  7077.   \@ifpackageloaded{lastpage}{%
  7078.     \ifHy@pageanchor
  7079.     \else
  7080.       \Hy@WarningNoLine{%
  7081.         The \string\pageref{LastPage} link doesn't work\MessageBreak
  7082.         with disabled option `pageanchor'%
  7083.       }%
  7084.     \fi
  7085.     \def\lastpage@putlabel{%
  7086.       \addtocounter{page}{-1}%
  7087.       \if@filesw
  7088.         \begingroup
  7089.           \let\@number\@firstofone
  7090.           \ifHy@pageanchor
  7091.             \ifHy@hypertexnames
  7092.               \ifHy@plainpages
  7093.                 \def\Hy@temp{\arabic{page}}%
  7094.               \else
  7095.                 \Hy@unicodefalse
  7096.                 \pdfstringdef\Hy@temp{\thepage}%
  7097.               \fi
  7098.             \else
  7099.               \def\Hy@temp{\the\Hy@pagecounter}%
  7100.             \fi
  7101.           \fi
  7102.           \immediate\write\@auxout{%
  7103.             \string\newlabel
  7104.               {LastPage}{{}{\thepage}{}{%
  7105.                 \ifHy@pageanchor page.\Hy@temp\fi}{}}%
  7106.           }%
  7107.         \endgroup
  7108.       \fi
  7109.       \addtocounter{page}{1}%
  7110.     }%
  7111.     \@ifclassloaded{revtex4}{%
  7112.       \begingroup
  7113.         \toks@\expandafter{\lastpage@putlabel}%
  7114.         \edef\x{\endgroup
  7115.           \def\noexpand\lastpage@putlabel{%
  7116.             \noexpand\stepcounter{page}%
  7117.             \the\toks@
  7118.             \noexpand\addtocounter{page}\noexpand\m@ne
  7119.          }%
  7120.         }%
  7121.       \x
  7122.     }{}%
  7123.   }{}%
  7124. }
  7125. \def\hypergetref#1{\getrefbykeydefault{#1}{}{??}}
  7126. \def\hypergetpageref#1{\getrefbykeydefault{#1}{page}{0}}
  7127. \@ifpackageloaded{titlesec}{%
  7128.   \def\ttl@Hy@steplink#1{%
  7129.     \Hy@MakeCurrentHrefAuto{#1*}%
  7130.     \edef\ttl@Hy@saveanchor{%
  7131.       \noexpand\Hy@raisedlink{%
  7132.         \noexpand\hyper@anchorstart{\@currentHref}%
  7133.         \noexpand\hyper@anchorend
  7134.         \def\noexpand\ttl@Hy@SavedCurrentHref{\@currentHref}%
  7135.         \noexpand\ttl@Hy@PatchSaveWrite
  7136.       }%
  7137.     }%
  7138.   }%
  7139.   \def\ttl@Hy@PatchSaveWrite{%
  7140.     \begingroup
  7141.       \toks@\expandafter{\ttl@savewrite}%
  7142.       \edef\x{\endgroup
  7143.         \def\noexpand\ttl@savewrite{%
  7144.           \let\noexpand\@currentHref
  7145.               \noexpand\ttl@Hy@SavedCurrentHref
  7146.           \the\toks@
  7147.         }%
  7148.       }%
  7149.     \x
  7150.   }%
  7151.   \def\ttl@Hy@refstepcounter#1{%
  7152.     \let\ttl@b\Hy@raisedlink
  7153.     \def\Hy@raisedlink##1{%
  7154.       \def\ttl@Hy@saveanchor{\Hy@raisedlink{##1}}%
  7155.     }%
  7156.     \refstepcounter{#1}%
  7157.     \let\Hy@raisedlink\ttl@b
  7158.   }%
  7159. }{}
  7160. \@ifpackageloaded{titletoc}{%
  7161.   \def\ttl@gobblecontents#1#2#3#4{\ignorespaces}%
  7162. }{}
  7163. \def\Hy@varioref@undefined{{??}{??}{}{}{}}
  7164. \@ifpackageloaded{varioref}{%
  7165.   \def\vref@pagenum#1#2{%
  7166.     \@ifundefined{r@#2}{%
  7167.       \expandafter\let\csname r@#2\endcsname\Hy@varioref@undefined
  7168.     }{}%
  7169.     \edef#1{\getpagerefnumber{#2}}%
  7170.   }%
  7171. }{}
  7172. \def\Hy@varioref@refstepcounter#1{%
  7173.   \stepcounter{#1}%
  7174.   \protected@edef\@currentlabel{%
  7175.     \csname p@#1\expandafter\endcsname\csname the#1\endcsname
  7176.   }%
  7177. }
  7178. \AtBeginDocument{%
  7179.   \ifx\refstepcounter\Hy@varioref@refstepcounter
  7180.     \let\H@refstepcounter\refstepcounter
  7181.     \let\refstepcounter\Hy@saved@refstepcounter
  7182.   \fi
  7183. }
  7184. \@ifpackageloaded{longtable}{%
  7185.   \begingroup
  7186.     \def\y{\LT@array}%
  7187.     \@ifundefined{scr@LT@array}{%
  7188.       \@ifundefined{adl@LT@array}{}{\def\y{\adl@LT@array}}%
  7189.     }{\def\y{\scr@LT@array}}%
  7190.     \long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{%
  7191.       \expandafter\endgroup
  7192.       \expandafter\def\y[##1]##2{%
  7193.         \H@refstepcounter{#1}%
  7194.         \hyper@makecurrent{table}%
  7195.         \let\Hy@LT@currentHref\@currentHref
  7196.         #2\@sharp#####4%
  7197.       }%
  7198.     }%
  7199.   \expandafter\expandafter\expandafter\x\y[{#1}]{#2}\@nil
  7200.   \begingroup
  7201.     \def\x#1\ifvoid\LT@foot#2\fi#3\@nil{%
  7202.       \endgroup
  7203.       \def\LT@start{%
  7204.         #1%
  7205.         \ifvoid\LT@foot#2\fi
  7206.         \let\@currentHref\Hy@LT@currentHref
  7207.         \Hy@raisedlink{%
  7208.           \hyper@anchorstart{\@currentHref}\hyper@anchorend
  7209.        }%
  7210.         #3%
  7211.       }%
  7212.     }%
  7213.   \expandafter\x\LT@start\@nil
  7214. }{}
  7215. \let\new@refstepcounter\refstepcounter
  7216. \let\H@equation\equation
  7217. \let\H@endequation\endequation
  7218. \@ifpackageloaded{amsmath}{%
  7219.   \long\def\Hy@temp{%
  7220.     \incr@eqnum
  7221.     \mathdisplay@push
  7222.     \st@rredfalse \global\@eqnswtrue
  7223.     \mathdisplay{equation}%
  7224.   }%
  7225.   \ifx\Hy@temp\equation
  7226.     \expandafter\ifx\csname if@fleqn\expandafter\endcsname
  7227.                     \csname iftrue\endcsname
  7228.     \else
  7229.       \long\def\equation{%
  7230.         \mathdisplay@push
  7231.         \st@rredfalse \global\@eqnswtrue
  7232.         \mathdisplay{equation}%
  7233.         \incr@eqnum
  7234.       }%
  7235.     \fi
  7236.   \fi
  7237. }{%
  7238.   \def\equation{%
  7239.     \let\refstepcounter\H@refstepcounter
  7240.     \H@equation
  7241.     \@ifundefined{theHequation}{%
  7242.       \make@stripped@name{\theequation}%
  7243.       \let\theHequation\newname
  7244.     }{}%
  7245.     \hyper@makecurrent{equation}%
  7246.     \mathopen{%
  7247.       \Hy@raisedlink{\hyper@anchorstart{\@currentHref}}%
  7248.     }%
  7249.     \let\refstepcounter\new@refstepcounter
  7250.   }%
  7251.   \def\endequation{%
  7252.     \ifx\Hy@raisedlink\ltx@empty
  7253.       \hyper@anchorend
  7254.     \else
  7255.       \mathclose{\Hy@raisedlink{\hyper@anchorend}}%
  7256.     \fi
  7257.     \H@endequation
  7258.   }%
  7259. }
  7260. \newif\if@eqnstar
  7261. \@eqnstarfalse
  7262. \let\H@eqnarray\eqnarray
  7263. \let\H@endeqnarray\endeqnarray
  7264. \def\eqnarray{%
  7265.   \let\Hy@reserved@a\relax
  7266.   \def\@currentHref{}%
  7267.   \H@eqnarray
  7268.   \if@eqnstar
  7269.   \else
  7270.     \ifx\\\@currentHref\\%
  7271.     \else
  7272.       \@ifundefined{theHequation}{%
  7273.         \make@stripped@name{\theequation}%
  7274.         \let\theHequation\newname
  7275.       }{}%
  7276.       \hyper@makecurrent{equation}%
  7277.       \mathopen{%
  7278.         \Hy@raisedlink{%
  7279.           \hyper@anchorstart{\@currentHref}\hyper@anchorend
  7280.        }%
  7281.       }%
  7282.     \fi
  7283.   \fi
  7284. }
  7285. \def\endeqnarray{%
  7286.   \H@endeqnarray
  7287. }
  7288. \@namedef{eqnarray*}{%
  7289.   \def\@eqncr{\nonumber\@seqncr}\@eqnstartrue\eqnarray
  7290. }
  7291. \@namedef{endeqnarray*}{%
  7292.   \nonumber\endeqnarray\@eqnstarfalse
  7293. }
  7294. \ltx@IfUndefined{subeqnarray}{}{%
  7295.   \let\H@subeqnarray\subeqnarray
  7296.   \let\H@endsubeqnarray\endsubeqnarray
  7297.   \def\subeqnarray{%
  7298.     \let\Hy@reserved@a\relax
  7299.     \H@subeqnarray
  7300.     \@ifundefined{theHequation}{%
  7301.       \make@stripped@name{\theequation}%
  7302.       \let\theHequation\newname
  7303.     }{}%
  7304.     \hyper@makecurrent{equation}%
  7305.     \hyper@anchorstart{\@currentHref}{}\hyper@anchorend
  7306.  }%
  7307.   \def\endsubeqnarray{%
  7308.     \H@endsubeqnarray
  7309.   }%
  7310.   \providecommand\theHsubequation{\theHequation\alph{subequation}}%
  7311. }
  7312. \def\make@stripped@name#1{%
  7313.   \begingroup
  7314.     \escapechar\m@ne
  7315.     \global\let\newname\@empty
  7316.     \protected@edef\Hy@tempa{#1}%
  7317.     \edef\@tempb{%
  7318.       \noexpand\@tfor\noexpand\Hy@tempa:=%
  7319.         \expandafter\strip@prefix\meaning\Hy@tempa
  7320.     }%
  7321.     \@tempb\do{%
  7322.       \if{\Hy@tempa\else
  7323.        \if}\Hy@tempa\else
  7324.          \xdef\newname{\newname\Hy@tempa}%
  7325.         \fi
  7326.       \fi
  7327.     }%
  7328.   \endgroup
  7329. }
  7330. \begingroup\expandafter\expandafter\expandafter\endgroup
  7331. \expandafter\ifx\csname subequations\endcsname\relax
  7332. \else
  7333.   \let\HyOrg@subequations\subequations
  7334.   \def\subequations{%
  7335.     \stepcounter{equation}%
  7336.     \protected@edef\theHparentequation{%
  7337.       \@ifundefined{theHequation}\theequation\theHequation
  7338.    }%
  7339.     \addtocounter{equation}{-1}%
  7340.     \HyOrg@subequations
  7341.     \def\theHequation{\theHparentequation\alph{equation}}%
  7342.     \ignorespaces
  7343.   }%
  7344. \fi
  7345. \Hy@AtBeginDocument{%
  7346. \@ifpackageloaded{cleveref}{%
  7347. \let\Hy@savedthm\@thm
  7348. \def\@thm{\ifhmode\unskip\fi\Hy@savedthm}%
  7349. }{%
  7350. \@ifpackageloaded{amsthm}{%
  7351.   \def\Hy@temp#1#2#3{%
  7352.     \ifhmode\unskip\unskip\par\fi
  7353.     \normalfont
  7354.     \trivlist
  7355.     \let\thmheadnl\relax
  7356.     \let\thm@swap\@gobble
  7357.     \let\thm@indent\indent % indent
  7358.     \thm@headfont{\scshape}% heading font small caps
  7359.     \thm@notefont{\fontseries\mddefault\upshape}%
  7360.     \thm@headpunct{.}% add period after heading
  7361.     \thm@headsep 5\p@ plus\p@ minus\p@\relax
  7362.     \thm@space@setup
  7363.     #1% style overrides
  7364.     \@topsep \thm@preskip               % used by thm head
  7365.     \@topsepadd \thm@postskip           % used by \@endparenv
  7366.     \def\@tempa{#2}\ifx\@empty\@tempa
  7367.      \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}%
  7368.     \else
  7369.       \refstepcounter{#2}%
  7370.       \def\@tempa{%
  7371.         \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]%
  7372.       }%
  7373.     \fi
  7374.     \@tempa
  7375.   }%
  7376.   \ifx\Hy@temp\@thm
  7377.     \def\@thm#1#2#3{%
  7378.       \ifhmode
  7379.         \unskip\unskip\par
  7380.       \fi
  7381.       \normalfont
  7382.       \trivlist
  7383.       \let\thmheadnl\relax
  7384.       \let\thm@swap\@gobble
  7385.       \let\thm@indent\indent % indent
  7386.       \thm@headfont{\scshape}% heading font small caps
  7387.       \thm@notefont{\fontseries\mddefault\upshape}%
  7388.       \thm@headpunct{.}% add period after heading
  7389.       \thm@headsep 5\p@ plus\p@ minus\p@\relax
  7390.       \thm@space@setup
  7391.       #1% style overrides
  7392.       \@topsep \thm@preskip               % used by thm head
  7393.       \@topsepadd \thm@postskip           % used by \@endparenv
  7394.       \def\dth@counter{#2}%
  7395.       \ifx\@empty\dth@counter
  7396.         \def\@tempa{%
  7397.           \@oparg{\@begintheorem{#3}{}}[]%
  7398.         }%
  7399.       \else
  7400.         \H@refstepcounter{#2}%
  7401.         \hyper@makecurrent{#2}%
  7402.         \let\Hy@dth@currentHref\@currentHref
  7403.         \def\@tempa{%
  7404.           \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]%
  7405.         }%
  7406.       \fi
  7407.       \@tempa
  7408.     }%
  7409.   \else
  7410.     \def\@thm#1#2#3{%
  7411.       \ifhmode
  7412.         \unskip\unskip\par
  7413.       \fi
  7414.       \normalfont
  7415.       \trivlist
  7416.       \let\thmheadnl\relax
  7417.       \let\thm@swap\@gobble
  7418.       \thm@notefont{\fontseries\mddefault\upshape}%
  7419.       \thm@headpunct{.}% add period after heading
  7420.       \thm@headsep 5\p@ plus\p@ minus\p@\relax
  7421.       \thm@space@setup
  7422.       #1% style overrides
  7423.       \@topsep \thm@preskip               % used by thm head
  7424.       \@topsepadd \thm@postskip           % used by \@endparenv
  7425.       \def\dth@counter{#2}%
  7426.       \ifx\@empty\dth@counter
  7427.         \def\@tempa{%
  7428.           \@oparg{\@begintheorem{#3}{}}[]%
  7429.         }%
  7430.       \else
  7431.         \H@refstepcounter{#2}%
  7432.         \hyper@makecurrent{#2}%
  7433.         \let\Hy@dth@currentHref\@currentHref
  7434.         \def\@tempa{%
  7435.           \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]%
  7436.         }%
  7437.       \fi
  7438.       \@tempa
  7439.     }%
  7440.   \fi
  7441.   \dth@everypar={%
  7442.     \@minipagefalse
  7443.     \global\@newlistfalse
  7444.     \@noparitemfalse
  7445.     \if@inlabel
  7446.       \global\@inlabelfalse
  7447.       \begingroup
  7448.         \setbox\z@\lastbox
  7449.         \ifvoid\z@
  7450.           \kern-\itemindent
  7451.         \fi
  7452.       \endgroup
  7453.       \ifx\@empty\dth@counter
  7454.       \else
  7455.         \Hy@raisedlink{%
  7456.           \hyper@anchorstart{%
  7457.             \ltx@ifundefined{Hy@dth@currentHref}%
  7458.             \@currentHref\Hy@dth@currentHref
  7459.           }\hyper@anchorend
  7460.         }%
  7461.       \fi
  7462.       \unhbox\@labels
  7463.     \fi
  7464.     \if@nobreak
  7465.       \@nobreakfalse \clubpenalty\@M
  7466.     \else
  7467.       \clubpenalty\@clubpenalty \everypar{}%
  7468.     \fi
  7469.   }%
  7470. }%
  7471. {%
  7472. \let\Hy@savedthm\@thm
  7473. \def\@thm{\ifhmode\unskip\fi\Hy@savedthm}%
  7474. }%
  7475. }%
  7476. }
  7477. \ifHy@hyperfootnotes
  7478.   \newcounter{Hfootnote}%
  7479.   \let\H@@footnotetext\@footnotetext
  7480.   \let\H@@footnotemark\@footnotemark
  7481.   \def\@xfootnotenext[#1]{%
  7482.     \begingroup
  7483.       \csname c@\@mpfn\endcsname #1\relax
  7484.       \unrestored@protected@xdef\@thefnmark{\thempfn}%
  7485.     \endgroup
  7486.     \ifx\@footnotetext\@mpfootnotetext
  7487.       \expandafter\H@@mpfootnotetext
  7488.     \else
  7489.       \expandafter\H@@footnotetext
  7490.     \fi
  7491.   }%
  7492.   \def\@xfootnotemark[#1]{%
  7493.     \begingroup
  7494.       \c@footnote #1\relax
  7495.       \unrestored@protected@xdef\@thefnmark{\thefootnote}%
  7496.     \endgroup
  7497.     \H@@footnotemark
  7498.   }%
  7499.   \let\H@@mpfootnotetext\@mpfootnotetext
  7500.   \long\def\@mpfootnotetext#1{%
  7501.     \H@@mpfootnotetext{%
  7502.       \ifHy@nesting
  7503.         \expandafter\ltx@firstoftwo
  7504.       \else
  7505.         \expandafter\ltx@secondoftwo
  7506.       \fi
  7507.       {%
  7508.         \expandafter\hyper@@anchor\expandafter{%
  7509.           \Hy@footnote@currentHref
  7510.          }{\ignorespaces #1}%
  7511.       }{%
  7512.         \Hy@raisedlink{%
  7513.           \expandafter\hyper@@anchor\expandafter{%
  7514.             \Hy@footnote@currentHref
  7515.           }{\relax}%
  7516.         }\ignorespaces #1%
  7517.       }%
  7518.     }%
  7519.   }%
  7520.   \long\def\@footnotetext#1{%
  7521.     \H@@footnotetext{%
  7522.       \ifHy@nesting
  7523.         \expandafter\ltx@firstoftwo
  7524.       \else
  7525.         \expandafter\ltx@secondoftwo
  7526.       \fi
  7527.       {%
  7528.         \expandafter\hyper@@anchor\expandafter{%
  7529.           \Hy@footnote@currentHref
  7530.         }{\ignorespaces #1}%
  7531.       }{%
  7532.         \Hy@raisedlink{%
  7533.           \expandafter\hyper@@anchor\expandafter{%
  7534.             \Hy@footnote@currentHref
  7535.           }{\relax}%
  7536.         }%
  7537.         \let\@currentHref\Hy@footnote@currentHref
  7538.         \let\@currentlabelname\@empty
  7539.         \ignorespaces #1%
  7540.       }%
  7541.     }%
  7542.   }%
  7543.   \def\@footnotemark{%
  7544.     \leavevmode
  7545.     \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
  7546.    \stepcounter{Hfootnote}%
  7547.     \global\let\Hy@saved@currentHref\@currentHref
  7548.     \hyper@makecurrent{Hfootnote}%
  7549.     \global\let\Hy@footnote@currentHref\@currentHref
  7550.     \global\let\@currentHref\Hy@saved@currentHref
  7551.     \hyper@linkstart{link}{\Hy@footnote@currentHref}%
  7552.     \@makefnmark
  7553.     \hyper@linkend
  7554.     \ifhmode\spacefactor\@x@sf\fi
  7555.     \relax
  7556.   }%
  7557.   \@ifpackageloaded{tabularx}{%
  7558.     \let\HyOrg@TX@endtabularx\TX@endtabularx
  7559.     \def\Hy@tabularx@hook{%
  7560.       \let\@footnotetext\H@@footnotetext
  7561.       \let\@footnotemark\H@@footnotemark
  7562.       \let\@mpfootnotetext\H@@mpfootnotetext
  7563.     }%
  7564.     \begingroup
  7565.       \toks@\expandafter{\TX@endtabularx}%
  7566.       \xdef\Hy@gtemp{%
  7567.         \noexpand\Hy@tabularx@hook
  7568.         \the\toks@
  7569.       }%
  7570.     \endgroup
  7571.     \let\TX@endtabularx\Hy@gtemp
  7572.   }{}%
  7573.   \@ifpackageloaded{longtable}{%
  7574.     \CheckCommand*{\LT@p@ftntext}[1]{%
  7575.       \edef\@tempa{%
  7576.         \the\LT@p@ftn
  7577.         \noexpand\footnotetext[\the\c@footnote]%
  7578.       }%
  7579.       \global\LT@p@ftn\expandafter{\@tempa{#1}}%
  7580.     }%
  7581.     \long\def\LT@p@ftntext#1{%
  7582.       \edef\@tempa{%
  7583.         \the\LT@p@ftn
  7584.         \begingroup
  7585.           \noexpand\c@footnote=\the\c@footnote\relax
  7586.           \noexpand\protected@xdef\noexpand\@thefnmark{%
  7587.             \noexpand\thempfn
  7588.           }%
  7589.           \noexpand\Hy@LT@footnotetext{%
  7590.             \Hy@footnote@currentHref
  7591.           }%
  7592.       }%
  7593.       \global\LT@p@ftn\expandafter{%
  7594.           \@tempa{#1}%
  7595.         \endgroup
  7596.       }%
  7597.     }%
  7598.     \long\def\Hy@LT@footnotetext#1#2{%
  7599.       \H@@footnotetext{%
  7600.         \ifHy@nesting
  7601.           \hyper@@anchor{#1}{#2}%
  7602.         \else
  7603.           \Hy@raisedlink{%
  7604.             \hyper@@anchor{#1}{\relax}%
  7605.           }%
  7606.           \def\@currentHref{#1}%
  7607.           \let\@currentlabelname\@empty
  7608.           #2%
  7609.         \fi
  7610.       }%
  7611.     }%
  7612.   }{}%
  7613.   \@ifpackageloaded{fancyvrb}{%
  7614.     \def\V@@footnotetext{%
  7615.       \insert\footins\bgroup
  7616.       \csname reset@font\endcsname
  7617.       \footnotesize
  7618.       \interlinepenalty\interfootnotelinepenalty
  7619.       \splittopskip\footnotesep
  7620.       \splitmaxdepth\dp\strutbox
  7621.       \floatingpenalty \@MM
  7622.       \hsize\columnwidth
  7623.       \@parboxrestore
  7624.       \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
  7625.       \@makefntext{}%
  7626.       \rule{\z@}{\footnotesep}%
  7627.       \bgroup
  7628.       \aftergroup\V@@@footnotetext
  7629.       \Hy@raisedlink{%
  7630.         \expandafter\hyper@@anchor\expandafter{%
  7631.           \Hy@footnote@currentHref
  7632.         }{\relax}%
  7633.       }%
  7634.       \let\@currentHref\Hy@footnote@currentHref
  7635.       \let\@currentlabelname\@empty
  7636.       \ignorespaces
  7637.     }%
  7638.   }{}%
  7639.   \def\Hy@temp#1{%
  7640.     \begingroup
  7641.       \unrestored@protected@xdef\@thefnmark{\ref{#1}}%
  7642.     \endgroup
  7643.     \@footnotemark
  7644.   }%
  7645.   \ifx\Hy@temp\footref
  7646.     \def\footref#1{%
  7647.     \begingroup
  7648.       \unrestored@protected@xdef\@thefnmark{\ref{#1}}%
  7649.     \endgroup
  7650.     \H@@footnotemark
  7651.     }%
  7652.   \fi
  7653.   \let\HyOrg@maketitle\maketitle
  7654.   \def\maketitle{%
  7655.     \let\Hy@saved@footnotemark\@footnotemark
  7656.     \let\Hy@saved@footnotetext\@footnotetext
  7657.     \let\@footnotemark\H@@footnotemark
  7658.     \let\@footnotetext\H@@footnotetext
  7659.     \@ifnextchar[\Hy@maketitle@optarg{% ]
  7660.       \HyOrg@maketitle
  7661.       \Hy@maketitle@end
  7662.     }%
  7663.   }%
  7664.   \def\Hy@maketitle@optarg[#1]{%
  7665.     \HyOrg@maketitle[{#1}]%
  7666.     \Hy@maketitle@end
  7667.   }%
  7668.   \def\Hy@maketitle@end{%
  7669.     \ifx\@footnotemark\H@@footnotemark
  7670.       \let\@footnotemark\Hy@saved@footnotemark
  7671.     \fi
  7672.     \ifx\@footnotetext\H@@footnotetext
  7673.       \let\@footnotetext\Hy@saved@footnotetext
  7674.     \fi
  7675.   }%
  7676.   \def\realfootnote{%
  7677.     \@ifnextchar[\@xfootnote{%
  7678.       \stepcounter{\@mpfn}%
  7679.       \protected@xdef\@thefnmark{\thempfn}%
  7680.       \H@@footnotemark\H@@footnotetext
  7681.     }%
  7682.   }%
  7683. \fi
  7684. \Hy@DisableOption{hyperfootnotes}
  7685. \def\caption{%
  7686.   \ifx\@captype\@undefined
  7687.     \@latex@error{\noexpand\caption outside float}\@ehd
  7688.    \expandafter\@gobble
  7689.  \else
  7690.    \H@refstepcounter\@captype
  7691.    \let\Hy@tempa\@caption
  7692.    \@ifundefined{float@caption}{%
  7693.     }{%
  7694.       \expandafter\ifx\csname @float@c@\@captype\endcsname
  7695.                       \float@caption
  7696.         \let\Hy@tempa\Hy@float@caption
  7697.       \fi
  7698.     }%
  7699.     \expandafter\@firstofone
  7700.   \fi
  7701.   {\@dblarg{\Hy@tempa\@captype}}%
  7702. }
  7703. \long\def\@caption#1[#2]#3{%
  7704.   \expandafter\ifx\csname if@capstart\expandafter\endcsname
  7705.                   \csname iftrue\endcsname
  7706.     \global\let\@currentHref\hc@currentHref
  7707.   \else
  7708.     \hyper@makecurrent{\@captype}%
  7709.   \fi
  7710.   \@ifundefined{NR@gettitle}{%
  7711.     \def\@currentlabelname{#2}%
  7712.   }{%
  7713.     \NR@gettitle{#2}%
  7714.   }%
  7715.   \par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
  7716.     \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
  7717.   }%
  7718.   \begingroup
  7719.     \@parboxrestore
  7720.     \if@minipage
  7721.       \@setminipage
  7722.     \fi
  7723.     \normalsize
  7724.     \expandafter\ifx\csname if@capstart\expandafter\endcsname
  7725.                     \csname iftrue\endcsname
  7726.       \global\@capstartfalse
  7727.       \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces#3}%
  7728.     \else
  7729.       \@makecaption{\csname fnum@#1\endcsname}{%
  7730.         \ignorespaces
  7731.         \ifHy@nesting
  7732.           \expandafter\hyper@@anchor\expandafter{\@currentHref}{#3}%
  7733.         \else
  7734.           \Hy@raisedlink{%
  7735.             \expandafter\hyper@@anchor\expandafter{%
  7736.               \@currentHref
  7737.             }{\relax}%
  7738.           }%
  7739.           #3%
  7740.         \fi
  7741.       }%
  7742.     \fi
  7743.     \par
  7744.   \endgroup
  7745. }
  7746. \let\Hy@float@caption\@caption
  7747. \newcommand{\HyNew@float@makebox}[1]{%
  7748.   \HyOrg@float@makebox{%
  7749.     #1\relax
  7750.     \ifx\Hy@float@currentHref\@undefined
  7751.     \else
  7752.       \expandafter\hyper@@anchor\expandafter{%
  7753.         \Hy@float@currentHref
  7754.       }{\relax}%
  7755.       \global\let\Hy@float@currentHref\@undefined
  7756.     \fi
  7757.   }%
  7758. }%
  7759. \@ifpackageloaded{float}{%
  7760.   \def\Hy@float@caption{%
  7761.     \ifx\Hy@float@currentHref\@undefined
  7762.       \hyper@makecurrent{\@captype}%
  7763.       \global\let\Hy@float@currentHref\@currentHref
  7764.     \else
  7765.       \let\@currentHref\Hy@float@currentHref
  7766.     \fi
  7767.     \float@caption
  7768.   }%
  7769.   \let\HyOrg@float@makebox\float@makebox
  7770.   \let\float@makebox\HyNew@float@makebox
  7771. }{}
  7772. \def\hyper@natlinkstart#1{%
  7773.   \Hy@backout{#1}%
  7774.   \hyper@linkstart{cite}{cite.#1}%
  7775.   \def\hyper@nat@current{#1}%
  7776. }
  7777. \def\hyper@natlinkend{%
  7778.   \hyper@linkend
  7779. }
  7780. \def\hyper@natlinkbreak#1#2{%
  7781.   \hyper@linkend#1\hyper@linkstart{cite}{cite.#2}%
  7782. }
  7783. \def\hyper@natanchorstart#1{%
  7784.   \Hy@raisedlink{\hyper@anchorstart{cite.#1}}%
  7785. }
  7786. \def\hyper@natanchorend{\hyper@anchorend}
  7787. \ltx@IfUndefined{NAT@parse}{%
  7788.   \providecommand*\@extra@binfo{}%
  7789.   \providecommand*\@extra@b@citeb{}%
  7790.   \def\bibcite#1#2{%
  7791.     \@newl@bel{b}{#1\@extra@binfo}{%
  7792.       \hyper@@link[cite]{}{cite.#1\@extra@b@citeb}{#2}%
  7793.     }%
  7794.   }%
  7795.   \gdef\@extra@binfo{}%
  7796.   \let\Hy@bibcite\bibcite
  7797.   \begingroup
  7798.     \@ifundefined{bbl@cite@choice}{}{%
  7799.       \g@addto@macro\bbl@cite@choice{%
  7800.         \let\bibcite\Hy@bibcite
  7801.       }%
  7802.     }%
  7803.   \endgroup
  7804.   \providecommand*{\@BIBLABEL}{\@biblabel}%
  7805.   \def\@lbibitem[#1]#2{%
  7806.     \@skiphyperreftrue
  7807.     \H@item[%
  7808.       \ifx\Hy@raisedlink\@empty
  7809.         \hyper@anchorstart{cite.#2\@extra@b@citeb}%
  7810.           \@BIBLABEL{#1}%
  7811.         \hyper@anchorend
  7812.       \else
  7813.         \Hy@raisedlink{%
  7814.           \hyper@anchorstart{cite.#2\@extra@b@citeb}\hyper@anchorend
  7815.        }%
  7816.         \@BIBLABEL{#1}%
  7817.       \fi
  7818.       \hfill
  7819.     ]%
  7820.     \@skiphyperreffalse
  7821.     \if@filesw
  7822.       \begingroup
  7823.         \let\protect\noexpand
  7824.         \immediate\write\@auxout{%
  7825.           \string\bibcite{#2}{#1}%
  7826.         }%
  7827.       \endgroup
  7828.     \fi
  7829.     \ignorespaces
  7830.   }%
  7831.   \def\@bibitem#1{%
  7832.     \@skiphyperreftrue\H@item\@skiphyperreffalse
  7833.     \Hy@raisedlink{%
  7834.       \hyper@anchorstart{cite.#1\@extra@b@citeb}\relax\hyper@anchorend
  7835.    }%
  7836.     \if@filesw
  7837.       \begingroup
  7838.         \let\protect\noexpand
  7839.         \immediate\write\@auxout{%
  7840.           \string\bibcite{#1}{\the\value{\@listctr}}%
  7841.         }%
  7842.       \endgroup
  7843.     \fi
  7844.     \ignorespaces
  7845.   }%
  7846. }{}
  7847. \@ifclassloaded{revtex}{%
  7848.   \Hy@Info{*** compatibility with revtex **** }%
  7849.   \def\revtex@checking#1#2{%
  7850.     \expandafter\let\expandafter\T@temp\csname b@#1\endcsname
  7851.     \expandafter\def\csname b@#1\endcsname{#2}%
  7852.     \@SetMaxRnhefLabel{#1}%
  7853.     \expandafter\let\csname b@#1\endcsname\T@temp
  7854.   }%
  7855.   \@ifundefined{@CITE}{\def\@CITE{\@cite}}{}%
  7856.   \providecommand*{\@extra@b@citeb}{}%
  7857.   \def\@CITEX[#1]#2{%
  7858.     \let\@citea\@empty
  7859.     \leavevmode
  7860.     \unskip
  7861.     $^{%
  7862.       \scriptstyle
  7863.       \@CITE{%
  7864.         \@for\@citeb:=#2\do{%
  7865.           \@citea
  7866.           \def\@citea{,\penalty\@m\ }%
  7867.           \edef\@citeb{\expandafter\@firstofone\@citeb}%
  7868.           \if@filesw
  7869.             \immediate\write\@auxout{\string\citation{\@citeb}}%
  7870.           \fi
  7871.           \@ifundefined{b@\@citeb\extra@b@citeb}{%
  7872.             \mbox{\reset@font\bfseries ?}%
  7873.             \G@refundefinedtrue
  7874.             \@latex@warning{%
  7875.               Citation `\@citeb' on page \thepage \space undefined%
  7876.             }%
  7877.           }{%
  7878.             {\csname b@\@citeb\@extra@b@citeb\endcsname}%
  7879.           }%
  7880.         }%
  7881.       }{#1}%
  7882.     }$%
  7883.   }%
  7884.   \def\@citex[#1]#2{%
  7885.     \let\@citea\@empty
  7886.     \@cite{%
  7887.       \@for\@citeb:=#2\do{%
  7888.         \@citea
  7889.         \def\@citea{,\penalty\@m\ }%
  7890.         \edef\@citeb{\expandafter\@firstofone\@citeb}%
  7891.         \if@filesw
  7892.           \immediate\write\@auxout{\string\citation{\@citeb}}%
  7893.         \fi
  7894.         \@ifundefined{b@\@citeb\@extra@b@citeb}{%
  7895.           \mbox{\reset@font\bfseries ?}%
  7896.           \G@refundefinedtrue
  7897.           \@latex@warning{%
  7898.             Citation `\@citeb' on page \thepage \space undefined%
  7899.           }%
  7900.         }{%
  7901.           \hbox{\csname b@\@citeb\@extra@b@citeb\endcsname}%
  7902.         }%
  7903.       }%
  7904.     }{#1}%
  7905.   }%
  7906. }{}
  7907. \@ifpackageloaded{harvard}{%
  7908.   \Hy@AtBeginDocument{%
  7909.     \Hy@Info{*** compatibility with harvard **** }%
  7910.     \Hy@raiselinksfalse
  7911.     \def\harvardcite#1#2#3#4{%
  7912.       \global\@namedef{HAR@fn@#1}{\hyper@@link[cite]{}{cite.#1}{#2}}%
  7913.       \global\@namedef{HAR@an@#1}{\hyper@@link[cite]{}{cite.#1}{#3}}%
  7914.       \global\@namedef{HAR@yr@#1}{\hyper@@link[cite]{}{cite.#1}{#4}}%
  7915.       \global\@namedef{HAR@df@#1}{\csname HAR@fn@#1\endcsname}%
  7916.     }%
  7917.     \def\HAR@citetoaux#1{%
  7918.       \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi%
  7919.       \ifHy@backref
  7920.         \ifx\@empty\@currentlabel
  7921.         \else
  7922.           \@bsphack
  7923.           \if@filesw
  7924.             \protected@write\@auxout{}{%
  7925.               \string\@writefile{brf}{%
  7926.                 \string\backcite{#1}{%
  7927.                   {\thepage}{\@currentlabel}{\@currentHref}%
  7928.                 }%
  7929.               }%
  7930.             }%
  7931.           \fi
  7932.           \@esphack
  7933.         \fi
  7934.       \fi
  7935.     }%
  7936.     \def\harvarditem{%
  7937.       \@ifnextchar[{\@harvarditem}{\@harvarditem[\null]}%
  7938.     }%
  7939.     \def\@harvarditem[#1]#2#3#4#5\par{%
  7940.       \item[]%
  7941.       \hyper@anchorstart{cite.#4}\relax\hyper@anchorend
  7942.      \if@filesw
  7943.        \begingroup
  7944.          \def\protect##1{\string ##1\space}%
  7945.           \ifthenelse{\equal{#1}{\null}}%
  7946.             {\def\next{{#4}{#2}{#2}{#3}}}%
  7947.             {\def\next{{#4}{#2}{#1}{#3}}}%
  7948.           \immediate\write\@auxout{\string\harvardcite\codeof\next}%
  7949.        \endgroup
  7950.       \fi
  7951.       \protect\hspace*{-\labelwidth}%
  7952.       \protect\hspace*{-\labelsep}%
  7953.       \ignorespaces
  7954.       #5%
  7955.       \ifHy@backref
  7956.         \newblock
  7957.         \backref{\csname br@#4\endcsname}%
  7958.       \fi
  7959.       \par
  7960.     }%
  7961.     \long\def\HAR@checkcitations#1#2#3#4{%
  7962.       \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#2}}%
  7963.       \expandafter\ifx\csname HAR@fn@#1\endcsname\HAR@tempa
  7964.         \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#3}}%
  7965.         \expandafter\ifx\csname HAR@an@#1\endcsname\HAR@tempa
  7966.           \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#4}}%
  7967.           \expandafter\ifx\csname HAR@yr@#1\endcsname\HAR@tempa
  7968.           \else
  7969.             \@tempswatrue
  7970.           \fi
  7971.         \else
  7972.           \@tempswatrue
  7973.         \fi
  7974.       \else
  7975.         \@tempswatrue
  7976.       \fi
  7977.     }%
  7978.   }%
  7979. }{}
  7980. \@ifpackageloaded{chicago}{%
  7981.   \def\citeN{%
  7982.     \def\@citeseppen{-1000}%
  7983.     \def\@cite##1##2{##1}%
  7984.     \def\citeauthoryear##1##2##3{##1 (##3\@cite@opt)}%
  7985.     \@citedata@opt
  7986.   }%
  7987.   \def\shortciteN{%
  7988.     \def\@citeseppen{-1000}%
  7989.     \def\@cite##1##2{##1}%
  7990.     \def\citeauthoryear##1##2##3{##2 (##3\@cite@opt)}%
  7991.     \@citedata@opt
  7992.   }%
  7993.   \def\@citedata@opt{%
  7994.     \let\@cite@opt\@empty
  7995.     \@ifnextchar [{%
  7996.       \@tempswatrue
  7997.       \@citedatax@opt
  7998.     }{%
  7999.       \@tempswafalse
  8000.       \@citedatax[]%
  8001.     }%
  8002.   }%
  8003.   \def\@citedatax@opt[#1]{%
  8004.     \def\@cite@opt{, #1}%
  8005.     \@citedatax[{#1}]%
  8006.   }%
  8007. }{}
  8008. \ltx@ifclassloaded{slides}{%
  8009.   \def\Hy@SlidesFormatOptionalPage#1{(#1)}%
  8010.   \def\Hy@PageAnchorSlidesPlain{%
  8011.     \advance\c@page\ltx@one
  8012.     \edef\Hy@TempPageAnchor{%
  8013.       \noexpand\hyper@@anchor{%
  8014.         page.\the\c@slide.\the\c@overlay.\the\c@note%
  8015.         \ifnum\c@page=\ltx@one
  8016.         \else
  8017.           .\the\c@page
  8018.         \fi
  8019.       }%
  8020.     }%
  8021.     \advance\c@page-\ltx@one
  8022.   }%
  8023.   \def\Hy@PageAnchorSlide{%
  8024.     \advance\c@page\ltx@one
  8025.     \ifnum\c@page>\ltx@one
  8026.       \ltx@IfUndefined{theHpage}{%
  8027.         \protected@edef\Hy@TheSlideOptionalPage{%
  8028.           \Hy@SlidesFormatOptionalPage{\thepage}%
  8029.         }%
  8030.       }{%
  8031.         \protected@edef\Hy@TheSlideOptionalPage{%
  8032.           \Hy@SlidesFormatOptionalPage{\theHpage}%
  8033.         }%
  8034.       }%
  8035.     \else
  8036.       \def\Hy@TheSlideOptionalPage{}%
  8037.     \fi
  8038.     \advance\c@page-\ltx@one
  8039.     \pdfstringdef\@the@H@page{%
  8040.       \csname
  8041.         the%
  8042.         \ltx@ifundefined{theH\Hy@SlidesPage}{}{H}%
  8043.         \Hy@SlidesPage
  8044.       \endcsname
  8045.       \Hy@TheSlideOptionalPage
  8046.     }%
  8047.     \ltx@gobblethree
  8048.   }%
  8049.   \def\Hy@SlidesPage{slide}%
  8050.   \g@addto@macro\slide{%
  8051.     \def\Hy@SlidesPage{slide}%
  8052.   }%
  8053.   \g@addto@macro\overlay{%
  8054.     \def\Hy@SlidesPage{overlay}%
  8055.   }%
  8056.   \g@addto@macro\note{%
  8057.     \def\Hy@SlidesPage{note}%
  8058.   }%
  8059. }{%
  8060.   \def\Hy@PageAnchorSlidesPlain{}%
  8061.   \def\Hy@PageAnchorSlide{}%
  8062. }
  8063. \def\Hy@EveryPageAnchor{%
  8064.   \Hy@DistillerDestFix
  8065.   \ifHy@pageanchor
  8066.     \ifHy@hypertexnames
  8067.       \ifHy@plainpages
  8068.         \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
  8069.         \Hy@PageAnchorSlidesPlain
  8070.       \else
  8071.         \begingroup
  8072.           \let\@number\@firstofone
  8073.           \Hy@unicodefalse
  8074.           \Hy@PageAnchorSlide
  8075.           \pdfstringdef\@the@H@page{\thepage}%
  8076.         \endgroup
  8077.         \EdefUnescapeString\@the@H@page{\@the@H@page}%
  8078.         \def\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
  8079.       \fi
  8080.     \else
  8081.       \Hy@GlobalStepCount\Hy@pagecounter
  8082.       \def\Hy@TempPageAnchor{%
  8083.         \hyper@@anchor{page.\the\Hy@pagecounter}%
  8084.       }%
  8085.     \fi
  8086.     \vbox to 0pt{%
  8087.       \kern\voffset
  8088.       \kern\topmargin
  8089.       \kern-1bp\relax
  8090.       \hbox to 0pt{%
  8091.         \kern\hoffset
  8092.         \kern\ifodd\value{page}%
  8093.                \oddsidemargin
  8094.              \else
  8095.                \evensidemargin
  8096.              \fi
  8097.         \kern-1bp\relax
  8098.         \Hy@TempPageAnchor\relax
  8099.         \hss
  8100.       }%
  8101.       \vss
  8102.     }%
  8103.   \fi
  8104. }
  8105. \g@addto@macro\Hy@EveryPageBoxHook{%
  8106.   \Hy@EveryPageAnchor
  8107. }
  8108. \providecommand\protected@file@percent{}
  8109. \def\addcontentsline#1#2#3{% toc extension, type, tag
  8110.   \begingroup
  8111.     \let\label\@gobble
  8112.     \ifx\@currentHref\@empty
  8113.       \Hy@Warning{%
  8114.         No destination for bookmark of \string\addcontentsline,%
  8115.         \MessageBreak destination is added%
  8116.       }%
  8117.       \phantomsection
  8118.     \fi
  8119.     \expandafter\ifx\csname toclevel@#2\endcsname\relax
  8120.       \begingroup
  8121.         \def\Hy@tempa{#1}%
  8122.         \ifx\Hy@tempa\Hy@bookmarkstype
  8123.           \Hy@WarningNoLine{%
  8124.             bookmark level for unknown #2 defaults to 0%
  8125.           }%
  8126.         \else
  8127.           \Hy@Info{bookmark level for unknown #2 defaults to 0}%
  8128.         \fi
  8129.       \endgroup
  8130.       \expandafter\gdef\csname toclevel@#2\endcsname{0}%
  8131.     \fi
  8132.     \edef\Hy@toclevel{\csname toclevel@#2\endcsname}%
  8133.     \Hy@writebookmark{\csname the#2\endcsname}%
  8134.       {#3}%
  8135.       {\@currentHref}%
  8136.       {\Hy@toclevel}%
  8137.       {#1}%
  8138.     \ifHy@verbose
  8139.       \begingroup
  8140.         \def\Hy@tempa{#3}%
  8141.         \@onelevel@sanitize\Hy@tempa
  8142.         \let\temp@online\on@line
  8143.         \let\on@line\@empty
  8144.         \Hy@Info{%
  8145.           bookmark\temp@online:\MessageBreak
  8146.           thecounter {\csname the#2\endcsname}\MessageBreak
  8147.          text {\Hy@tempa}\MessageBreak
  8148.          reference {\@currentHref}\MessageBreak
  8149.          toclevel {\Hy@toclevel}\MessageBreak
  8150.          type {#1}%
  8151.         }%
  8152.       \endgroup
  8153.     \fi
  8154.     \addtocontents{#1}{%
  8155.       \protect\contentsline{#2}{#3}{\thepage}{\@currentHref}\protected@file@percent
  8156.    }%
  8157.   \endgroup
  8158. }
  8159. \def\contentsline#1#2#3#4{%
  8160.   \begingroup
  8161.     \Hy@safe@activestrue
  8162.   \edef\x{\endgroup
  8163.    \def\noexpand\Hy@tocdestname{#4}%
  8164.   }\x
  8165.   \ifx\Hy@tocdestname\ltx@empty
  8166.     \csname l@#1\endcsname{#2}{#3}%
  8167.   \else
  8168.     \ifcase\Hy@linktoc % none
  8169.       \csname l@#1\endcsname{#2}{#3}%
  8170.     \or % section
  8171.       \csname l@#1\endcsname{%
  8172.         \hyper@linkstart{link}{\Hy@tocdestname}{#2}\hyper@linkend
  8173.      }{#3}%
  8174.     \or % page
  8175.       \def\Hy@temp{#3}%
  8176.       \ifx\Hy@temp\ltx@empty
  8177.         \csname l@#1\endcsname{#2}{#3}%
  8178.       \else
  8179.         \csname l@#1\endcsname{{#2}}{%
  8180.           \hyper@linkstart{link}{\Hy@tocdestname}{#3}\hyper@linkend
  8181.        }%
  8182.       \fi
  8183.     \else % all
  8184.       \def\Hy@temp{#3}%
  8185.       \ifx\Hy@temp\ltx@empty
  8186.         \csname l@#1\endcsname{%
  8187.           \hyper@linkstart{link}{\Hy@tocdestname}{#2}\hyper@linkend
  8188.        }{}%
  8189.       \else
  8190.         \csname l@#1\endcsname{%
  8191.           \hyper@linkstart{link}{\Hy@tocdestname}{#2}\hyper@linkend
  8192.        }{%
  8193.           \hyper@linkstart{link}{\Hy@tocdestname}{#3}\hyper@linkend
  8194.        }%
  8195.       \fi
  8196.     \fi
  8197.   \fi
  8198. }
  8199. \let\H@definecounter\@definecounter
  8200. \def\@definecounter#1{%
  8201.   \H@definecounter{#1}%
  8202.   \expandafter\gdef\csname theH#1\endcsname{\arabic{#1}}%
  8203. }
  8204. \let\H@newctr\@newctr
  8205. \def\@newctr#1[#2]{%
  8206.   \H@newctr#1[{#2}]%
  8207.   \expandafter\gdef\csname theH#1\endcsname{%
  8208.     \csname the\@ifundefined{theH#2}{}{H}#2\endcsname.\arabic{#1}%
  8209.   }%
  8210. }
  8211. \@ifpackageloaded{amsmath}{%
  8212.   \def\Hy@make@anchor{%
  8213.     \Hy@MakeCurrentHrefAuto{AMS}%
  8214.     \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
  8215.   }%
  8216.   \def\Hy@make@df@tag@@#1{%
  8217.     \gdef\df@tag{%
  8218.       \maketag@@@{\Hy@make@anchor#1}%
  8219.       \def\@currentlabel{#1}%
  8220.     }%
  8221.   }%
  8222.   \def\Hy@make@df@tag@@@#1{%
  8223.     \gdef\df@tag{%
  8224.       \tagform@{\Hy@make@anchor#1}%
  8225.       \toks@\@xp{\p@equation{#1}}%
  8226.       \edef\@currentlabel{\the\toks@}%
  8227.     }%
  8228.   }%
  8229.   \let\HyOrg@make@df@tag@@\make@df@tag@@
  8230.   \let\HyOrg@make@df@tag@@@\make@df@tag@@@
  8231.   \let\make@df@tag@@\Hy@make@df@tag@@
  8232.   \let\make@df@tag@@@\Hy@make@df@tag@@@
  8233. }{}
  8234. \@ifpackagewith{hyperref}{pdftex}{%
  8235.    \let\H@seteqlabel\@seteqlabel
  8236.    \def\@seteqlabel#1{%
  8237.      \H@seteqlabel{#1}%
  8238.      \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
  8239.      \Hy@raisedlink{%
  8240.        \hyper@anchorstart{\@currentHref}\hyper@anchorend
  8241.     }%
  8242.    }%
  8243. }{}
  8244. \let\HyOrg@addtoreset\@addtoreset
  8245. \def\@addtoreset#1#2{%
  8246.   \HyOrg@addtoreset{#1}{#2}%
  8247.   \expandafter\xdef\csname theH#1\endcsname{%
  8248.     \expandafter\noexpand
  8249.         \csname the\@ifundefined{theH#2}{}H#2\endcsname
  8250.    .\noexpand\the\noexpand\value{#1}%
  8251.   }%
  8252. }
  8253. \@ifpackageloaded{amsmath}{%
  8254.   \@ifpackagelater{amsmath}{1999/12/14}{%
  8255.     \renewcommand*{\numberwithin}[3][\arabic]{%
  8256.       \@ifundefined{c@#2}{\@nocounterr{#2}}{%
  8257.         \@ifundefined{c@#3}{\@nocnterr{#3}}{%
  8258.           \HyOrg@addtoreset{#2}{#3}%
  8259.           \@xp\xdef\csname the#2\endcsname{%
  8260.             \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}%
  8261.           }%
  8262.           \@xp\xdef\csname theH#2\endcsname{%
  8263.             \@xp\@nx
  8264.             \csname the\@ifundefined{theH#3}{}H#3\endcsname
  8265.            .\@nx#1{#2}%
  8266.           }%
  8267.         }%
  8268.       }%
  8269.     }%
  8270.   }{%
  8271.     \Hy@WarningNoLine{%
  8272.       \string\numberwithin\space of package `amsmath' %
  8273.       only fixed\MessageBreak
  8274.       for version 2000/06/06 v2.12 or newer%
  8275.     }%
  8276.   }%
  8277. }{}
  8278. \ifHy@hyperfigures
  8279.   \let\Hy@Gin@setfile\Gin@setfile
  8280.   \def\Gin@setfile#1#2#3{%
  8281.     \hyperimage{#3}{\Hy@Gin@setfile{#1}{#2}{#3}}%
  8282.   }%
  8283. \fi
  8284. \Hy@DisableOption{hyperfigures}
  8285. \ifHy@hyperindex
  8286.  \def\HyInd@ParenLeft{(}%
  8287.   \def\HyInd@ParenRight{)}%
  8288.   \def\hyperindexformat#1#2{%
  8289.     \let\HyOrg@hyperpage\hyperpage
  8290.     \let\hyperpage\@firstofone
  8291.     #1{\HyOrg@hyperpage{#2}}%
  8292.     \let\hyperpage\HyOrg@hyperpage
  8293.   }%
  8294.   \Hy@nextfalse
  8295.   \@ifpackageloaded{multind}{\Hy@nexttrue}{}%
  8296.   \@ifpackageloaded{index}{\Hy@nexttrue}{}%
  8297.   \@ifpackageloaded{amsmidx}{\Hy@nexttrue}{}%
  8298.   \begingroup
  8299.     \lccode`\|=\expandafter`\HyInd@EncapChar\relax
  8300.     \lccode`\/=`\\\relax
  8301.   \lowercase{\endgroup
  8302.    \ifHy@next
  8303.      \let\HyInd@org@wrindex\@wrindex
  8304.      \def\@wrindex#1#2{\HyInd@@wrindex{#1}#2||\\}%
  8305.       \def\HyInd@@wrindex#1#2|#3|#4\\{%
  8306.         \ifx\\#3\\%
  8307.           \HyInd@org@wrindex{#1}{#2|hyperpage}%
  8308.         \else
  8309.           \HyInd@@@wrindex{#1}{#2}#3\\%
  8310.        \fi
  8311.      }%
  8312.       \def\HyInd@@@wrindex#1#2#3#4\\{%
  8313.         \def\Hy@temp@A{#3}%
  8314.         \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
  8315.                 \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
  8316.                 \relax
  8317.           \HyInd@org@wrindex{#1}{%
  8318.             #2|hyperindexformat{/#3#4}%
  8319.           }%
  8320.         \else
  8321.           \ifx\\#4\\%
  8322.             \ifx\Hy@temp@A\HyInd@ParenRight
  8323.               \HyInd@org@wrindex{#1}{#2|#3}%
  8324.             \else
  8325.               \HyInd@org@wrindex{#1}{#2|#3hyperpage}%
  8326.             \fi
  8327.           \else
  8328.             \HyInd@org@wrindex{#1}{%
  8329.               #2|#3hyperindexformat{/#4}%
  8330.             }%
  8331.           \fi
  8332.         \fi
  8333.       }%
  8334.     \else
  8335.       \def\@wrindex#1{\@@wrindex#1||\\}%
  8336.       \def\@@wrindex#1|#2|#3\\{%
  8337.         \if@filesw
  8338.           \ifx\\#2\\%
  8339.             \protected@write\@indexfile{}{%
  8340.               \string\indexentry{#1|hyperpage}{\thepage}%
  8341.             }%
  8342.           \else
  8343.             \HyInd@@@wrindex{#1}#2\\%
  8344.          \fi
  8345.        \fi
  8346.        \endgroup
  8347.        \@esphack
  8348.      }%
  8349.       \def\HyInd@@@wrindex#1#2#3\\{%
  8350.         \def\Hy@temp@A{#2}%
  8351.         \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
  8352.                 \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
  8353.                 \relax
  8354.           \protected@write\@indexfile{}{%
  8355.             \string\indexentry{%
  8356.               #1|hyperindexformat{/#2#3}%
  8357.             }{\thepage}%
  8358.           }%
  8359.         \else
  8360.           \ifx\\#3\\%
  8361.             \ifx\Hy@temp@A\HyInd@ParenRight
  8362.               \HyInd@DefKey{#1}%
  8363.               \ltx@IfUndefined{HyInd@(\HyInd@key)}{%
  8364.                 \let\Hy@temp\ltx@empty
  8365.               }{%
  8366.                 \expandafter\let\expandafter\Hy@temp
  8367.                 \csname HyInd@(\HyInd@key)\endcsname
  8368.               }%
  8369.               \protected@write\@indexfile{}{%
  8370.                  \string\indexentry{#1|#2\Hy@temp}{\thepage}%
  8371.               }%
  8372.             \else
  8373.               \protected@write\@indexfile{}{%
  8374.                  \string\indexentry{#1|#2hyperpage}{\thepage}%
  8375.               }%
  8376.               \HyInd@DefKey{#1}%
  8377.               \expandafter
  8378.               \gdef\csname HyInd@(\HyInd@key)\endcsname{%
  8379.                 hyperpage%
  8380.               }%
  8381.             \fi
  8382.           \else
  8383.             \protected@write\@indexfile{}{%
  8384.                \string\indexentry{%
  8385.                  #1|#2hyperindexformat{/#3}%
  8386.                }{\thepage}%
  8387.             }%
  8388.             \ifx\Hy@temp@A\HyInd@ParenLeft
  8389.               \HyInd@DefKey{#1}%
  8390.               \expandafter
  8391.               \gdef\csname HyInd@(\HyInd@key)\endcsname{%
  8392.                 hyperindexformat{/#3}%
  8393.               }%
  8394.             \fi
  8395.           \fi
  8396.         \fi
  8397.       }%
  8398.       \def\HyInd@DefKey#1{%
  8399.         \begingroup
  8400.           \let\protect\@unexpandable@protect
  8401.           \edef\Hy@temp{#1}%
  8402.           \ltx@onelevel@sanitize\Hy@temp
  8403.           \global\let\HyInd@key\Hy@temp
  8404.         \endgroup
  8405.       }%
  8406.     \fi
  8407.   }%
  8408. \fi
  8409. \Hy@DisableOption{hyperindex}
  8410. \Hy@DisableOption{encap}
  8411. \def\nohyperpage#1{#1}
  8412. \def\hyperpage#1{%
  8413.   \HyInd@hyperpage#1\nohyperpage{}\@nil
  8414. }
  8415. \def\HyInd@hyperpage#1\nohyperpage#2#3\@nil{%
  8416.   \HyInd@@hyperpage{#1}%
  8417.   #2%
  8418.   \def\Hy@temp{#3}%
  8419.   \ifx\Hy@temp\@empty
  8420.   \else
  8421.     \ltx@ReturnAfterFi{%
  8422.       \HyInd@hyperpage#3\@nil
  8423.     }%
  8424.   \fi
  8425. }
  8426. \def\HyInd@@hyperpage#1{\@hyperpage#1----\\}
  8427. \def\@hyperpage#1--#2--#3\\{%
  8428.   \ifx\\#2\\%
  8429.     \@commahyperpage{#1}%
  8430.   \else
  8431.     \HyInd@pagelink{#1}--\HyInd@pagelink{#2}%
  8432.   \fi
  8433. }
  8434. \def\@commahyperpage#1{\@@commahyperpage#1, ,\\}
  8435. \def\@@commahyperpage#1, #2,#3\\{%
  8436.   \ifx\\#2\\%
  8437.     \HyInd@pagelink{#1}%
  8438.   \else
  8439.     \HyInd@pagelink{#1}, \HyInd@pagelink{#2}%
  8440.   \fi
  8441. }
  8442. \def\HyInd@pagelink#1{%
  8443.   \begingroup
  8444.     \toks@={}%
  8445.     \HyInd@removespaces#1 \@nil
  8446.   \endgroup
  8447. }
  8448. \def\HyInd@removespaces#1 #2\@nil{%
  8449.   \toks@=\expandafter{\the\toks@#1}%
  8450.   \ifx\\#2\\%
  8451.     \edef\x{\the\toks@}%
  8452.     \ifx\x\@empty
  8453.     \else
  8454.       \hyperlink{page.\the\toks@}{\the\toks@}%
  8455.     \fi
  8456.   \else
  8457.     \ltx@ReturnAfterFi{%
  8458.       \HyInd@removespaces#2\@nil
  8459.     }%
  8460.   \fi
  8461. }
  8462. \@ifclassloaded{foils}{%
  8463.   \providecommand*\ext@table{lot}%
  8464.   \providecommand*\ext@figure{lof}%
  8465. }{}
  8466. \@ifclassloaded{seminar}{%
  8467.   \Hy@seminarslidestrue
  8468.   \providecommand\theHslide{\arabic{slide}}%
  8469. }{%
  8470.   \Hy@seminarslidesfalse
  8471. }
  8472. \@ifpackageloaded{slidesec}{%
  8473.   \providecommand\theHslidesection   {\arabic{slidesection}}%
  8474.   \providecommand\theHslidesubsection{%
  8475.     \theHslidesection.\arabic{slidesubsection}%
  8476.   }%
  8477.   \def\slide@heading[#1]#2{%
  8478.     \H@refstepcounter{slidesection}%
  8479.     \@addtoreset{slidesubsection}{slidesection}%
  8480.     \addtocontents{los}{%
  8481.       \protect\l@slide{\the\c@slidesection}{\ignorespaces#1}%
  8482.         {\@SCTR}{slideheading.\theslidesection}%
  8483.     }%
  8484.     \def\Hy@tempa{#2}%
  8485.     \ifx\Hy@tempa\@empty
  8486.     \else
  8487.       {%
  8488.         \edef\@currentlabel{%
  8489.           \csname p@slidesection\endcsname\theslidesection
  8490.         }%
  8491.         \makeslideheading{#2}%
  8492.       }%
  8493.     \fi
  8494.     \gdef\theslideheading{#1}%
  8495.     \gdef\theslidesubheading{}%
  8496.     \ifHy@bookmarksnumbered
  8497.       \def\Hy@slidetitle{\theslidesection\space #1}%
  8498.     \else
  8499.       \def\Hy@slidetitle{#1}%
  8500.     \fi
  8501.     \ifHy@hypertexnames
  8502.        \ifHy@naturalnames
  8503.          \hyper@@anchor{slideheading.\theslidesection}{\relax}%
  8504.          \Hy@writebookmark
  8505.            {\theslidesection}%
  8506.            {\Hy@slidetitle}%
  8507.            {slideheading.\theslidesection}%
  8508.            {1}%
  8509.            {toc}%
  8510.        \else
  8511.          \hyper@@anchor{slideheading.\theHslidesection}{\relax}%
  8512.          \Hy@writebookmark
  8513.            {\theslidesection}%
  8514.            {\Hy@slidetitle}%
  8515.            {slideheading.\theHslidesection}%
  8516.            {1}%
  8517.            {toc}%
  8518.        \fi
  8519.     \else
  8520.       \Hy@GlobalStepCount\Hy@linkcounter
  8521.       \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
  8522.       \Hy@writebookmark
  8523.         {\theslidesection}%
  8524.         {\Hy@slidetitle}%
  8525.         {slideheading.\the\Hy@linkcounter}%
  8526.         {1}%
  8527.         {toc}%
  8528.     \fi
  8529.   }%
  8530.   \def\slide@subheading[#1]#2{%
  8531.     \H@refstepcounter{slidesubsection}%
  8532.     \addtocontents{los}{%
  8533.       \protect\l@subslide{\the\c@slidesubsection}{\ignorespaces#1}%
  8534.         {\@SCTR}{slideheading.\theslidesubsection}%
  8535.     }%
  8536.     \def\Hy@tempa{#2}%
  8537.     \ifx\Hy@tempa\@empty
  8538.     \else
  8539.       {%
  8540.         \edef\@currentlabel{%
  8541.           \csname p@slidesubsection\endcsname\theslidesubsection
  8542.         }%
  8543.         \makeslidesubheading{#2}%
  8544.       }%
  8545.     \fi
  8546.     \gdef\theslidesubheading{#1}%
  8547.     \ifHy@bookmarksnumbered
  8548.       \def\Hy@slidetitle{\theslidesubsection\space #1}%
  8549.     \else
  8550.       \def\Hy@slidetitle{#1}%
  8551.     \fi
  8552.     \ifHy@hypertexnames
  8553.       \ifHy@naturalnames
  8554.         \hyper@@anchor{slideheading.\theslidesubsection}{\relax}%
  8555.         \Hy@writebookmark
  8556.           {\theslidesubsection}%
  8557.           {\Hy@slidetitle}%
  8558.           {slideheading.\theslidesubsection}%
  8559.           {2}%
  8560.           {toc}%
  8561.       \else
  8562.         \hyper@@anchor{slideheading.\theHslidesubsection}{\relax}%
  8563.         \Hy@writebookmark
  8564.           {\theslidesubsection}%
  8565.           {\Hy@slidetitle}%
  8566.           {slideheading.\theHslidesubsection}%
  8567.           {2}%
  8568.           {toc}%
  8569.       \fi
  8570.     \else
  8571.       \Hy@GlobalStepCount\Hy@linkcounter
  8572.       \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
  8573.       \Hy@writebookmark
  8574.         {\theslidesubsection}%
  8575.         {\Hy@slidetitle}%
  8576.         {slideheading.\the\Hy@linkcounter}%
  8577.         {1}%
  8578.         {toc}%
  8579.     \fi
  8580.   }%
  8581.   \providecommand*{\listslidename}{List of Slides}%
  8582.   \def\listofslides{%
  8583.     \section*{%
  8584.       \listslidename
  8585.       \@mkboth{%
  8586.         \expandafter\MakeUppercase\listslidename
  8587.       }{%
  8588.         \expandafter\MakeUppercase\listslidename
  8589.       }%
  8590.     }%
  8591.     \def\l@slide##1##2##3##4{%
  8592.       \slide@undottedcline{%
  8593.         \slidenumberline{##3}{\hyperlink{##4}{##2}}%
  8594.       }{}%
  8595.     }%
  8596.     \let\l@subslide\l@slide
  8597.     \@startlos
  8598.   }%
  8599.   \def\slide@contents{%
  8600.     \def\l@slide##1##2##3##4{%
  8601.       \slide@cline{\slidenumberline{##3}{\hyperlink{##4}{##2}}}{##3}%
  8602.     }%
  8603.     \let\l@subslide\@gobblefour
  8604.     \@startlos
  8605.   }%
  8606.   \def\Slide@contents{%
  8607.     \def\l@slide##1##2##3##4{%
  8608.       \ifcase\lslide@flag
  8609.         \message{##1 ** \the\c@slidesection}%
  8610.         \ifnum##1>\c@slidesection
  8611.           \def\lslide@flag{1}%
  8612.           {%
  8613.             \large
  8614.             \slide@cline{%
  8615.               \slidenumberline{$\Rightarrow\bullet$}%
  8616.                 {\hyperlink{##4}{##2}}%
  8617.             }{##3}%
  8618.           }%
  8619.         \else
  8620.           {%
  8621.             \large
  8622.             \slide@cline{%
  8623.               \slidenumberline{$\surd\;\bullet$}%
  8624.                 {\hyperlink{##4}{##2}}%
  8625.             }{##3}%
  8626.           }%
  8627.         \fi
  8628.       \or
  8629.         \def\lslide@flag{2}%
  8630.         {%
  8631.           \large
  8632.           \slide@cline{%
  8633.             \slidenumberline{$\bullet$}%
  8634.               {\hyperlink{##4}{##2}}%
  8635.           }{##3}%
  8636.         }%
  8637.       \or
  8638.         {%
  8639.           \large
  8640.           \slide@cline{%
  8641.             \slidenumberline{$\bullet$}%
  8642.              {\hyperlink{##4}{##2}}%
  8643.           }{##3}%
  8644.         }%
  8645.       \fi
  8646.     }%
  8647.     \def\l@subslide##1##2##3##4{%
  8648.       \ifnum\lslide@flag=1 %
  8649.         \@undottedtocline{2}{3.8em}{3.2em}{\hyperlink{##4}{##2}}{}%
  8650.       \fi
  8651.     }%
  8652.     \def\lslide@flag{0}%
  8653.     \@startlos
  8654.   }%
  8655. }{}
  8656. \ifHy@texht
  8657.   \expandafter\endinput
  8658. \fi
  8659. \let\real@setref\@setref
  8660. \def\@setref#1#2#3{% csname, extract group, refname
  8661.   \ifx#1\relax
  8662.     \protect\G@refundefinedtrue
  8663.     \nfss@text{\reset@font\bfseries ??}%
  8664.     \@latex@warning{%
  8665.       Reference `#3' on page \thepage \space undefined%
  8666.     }%
  8667.   \else
  8668.     \expandafter\Hy@setref@link#1\@empty\@empty\@nil{#2}%
  8669.   \fi
  8670. }
  8671. \def\Hy@setref@link#1#2#3#4#5#6\@nil#7{%
  8672.   \begingroup
  8673.     \toks0={\hyper@@link{#5}{#4}}%
  8674.     \toks1=\expandafter{#7{#1}{#2}{#3}{#4}{#5}}%
  8675.     \edef\x{\endgroup
  8676.      \the\toks0 {\the\toks1 }%
  8677.     }%
  8678.   \x
  8679. }
  8680. \def\@pagesetref#1#2#3{% csname, extract macro, ref
  8681.   \ifx#1\relax
  8682.     \protect\G@refundefinedtrue
  8683.     \nfss@text{\reset@font\bfseries ??}%
  8684.     \@latex@warning{%
  8685.       Reference `#3' on page \thepage \space undefined%
  8686.     }%
  8687.   \else
  8688.     \protect\hyper@@link
  8689.       {\expandafter\@fifthoffive#1}%
  8690.       {page.\expandafter\@secondoffive#1}%
  8691.       {\expandafter\@secondoffive#1}%
  8692.   \fi
  8693. }
  8694. \def\HyRef@StarSetRef#1{%
  8695.   \begingroup
  8696.     \Hy@safe@activestrue
  8697.     \edef\x{#1}%
  8698.     \@onelevel@sanitize\x
  8699.     \edef\x{\endgroup
  8700.      \noexpand\HyRef@@StarSetRef
  8701.        \expandafter\noexpand\csname r@\x\endcsname{\x}%
  8702.     }%
  8703.   \x
  8704. }
  8705. \def\HyRef@@StarSetRef#1#2#3{%
  8706.   \ifx#1\@undefined
  8707.     \let#1\relax
  8708.   \fi
  8709.   \real@setref#1#3{#2}%
  8710. }
  8711. \def\@refstar#1{%
  8712.   \HyRef@StarSetRef{#1}\@firstoffive
  8713. }
  8714. \def\@pagerefstar#1{%
  8715.   \HyRef@StarSetRef{#1}\@secondoffive
  8716. }
  8717. \def\@namerefstar#1{%
  8718.   \HyRef@StarSetRef{#1}\@thirdoffive
  8719. }
  8720. \Hy@AtBeginDocument{%
  8721.   \@ifpackageloaded{varioref}{%
  8722.     \def\@Refstar#1{%
  8723.       \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive
  8724.    }%
  8725.     \def\HyRef@MakeUppercaseFirstOfFive#1#2#3#4#5{%
  8726.       \MakeUppercase#1%
  8727.     }%
  8728.     \DeclareRobustCommand*{\Ref}{%
  8729.       \@ifstar\@Refstar\HyRef@Ref
  8730.     }%
  8731.     \def\HyRef@Ref#1{%
  8732.       \hyperref[{#1}]{\Ref*{#1}}%
  8733.     }%
  8734.     \def\Vr@f#1{%
  8735.       \leavevmode\unskip\vref@space
  8736.       \hyperref[{#1}]{%
  8737.         \Ref*{#1}%
  8738.         \let\vref@space\nobreakspace
  8739.         \@vpageref[\unskip]{#1}%
  8740.       }%
  8741.     }%
  8742.     \def\vr@f#1{%
  8743.       \leavevmode\unskip\vref@space
  8744.       \begingroup
  8745.         \let\T@pageref\@pagerefstar
  8746.         \hyperref[{#1}]{%
  8747.           \ref*{#1}%
  8748.           \vpageref[\unskip]{#1}%
  8749.         }%
  8750.       \endgroup
  8751.     }%
  8752.   }{}%
  8753. }
  8754. \DeclareRobustCommand*{\autopageref}{%
  8755.   \@ifstar{%
  8756.     \HyRef@autopagerefname\pageref*%
  8757.   }\HyRef@autopageref
  8758. }
  8759. \def\HyRef@autopageref#1{%
  8760.   \hyperref[{#1}]{\HyRef@autopagerefname\pageref*{#1}}%
  8761. }
  8762. \def\HyRef@autopagerefname{%
  8763.   \ltx@IfUndefined{pageautorefname}{%
  8764.     \ltx@IfUndefined{pagename}{%
  8765.       \Hy@Warning{No autoref name for `page'}%
  8766.     }{%
  8767.       \pagename\nobreakspace
  8768.     }%
  8769.   }{%
  8770.     \pageautorefname\nobreakspace
  8771.   }%
  8772. }
  8773. \DeclareRobustCommand*{\autoref}{%
  8774.   \leavevmode
  8775.   \@ifstar{\HyRef@autoref\@gobbletwo}{\HyRef@autoref\hyper@@link}%
  8776. }
  8777. \def\HyRef@autoref#1#2{%
  8778.   \begingroup
  8779.     \Hy@safe@activestrue
  8780.     \expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}%
  8781.   \endgroup
  8782. }
  8783. \def\HyRef@autosetref#1#2#3{% link command, csname, refname
  8784.   \HyRef@ShowKeysRef{#2}%
  8785.   \ifcase 0\ifx#1\relax 1\fi\ifx#1\Hy@varioref@undefined 1\fi\relax
  8786.     \edef\HyRef@thisref{%
  8787.       \expandafter\@fourthoffive#1\@empty\@empty\@empty
  8788.     }%
  8789.     \expandafter\HyRef@testreftype\HyRef@thisref.\\%
  8790.     \Hy@safe@activesfalse
  8791.     #3{%
  8792.       \expandafter\@fifthoffive#1\@empty\@empty\@empty
  8793.     }{%
  8794.       \expandafter\@fourthoffive#1\@empty\@empty\@empty
  8795.     }{%
  8796.       \HyRef@currentHtag
  8797.       \expandafter\@firstoffive#1\@empty\@empty\@empty
  8798.       \null
  8799.     }%
  8800.   \else
  8801.     \protect\G@refundefinedtrue
  8802.     \nfss@text{\reset@font\bfseries ??}%
  8803.     \@latex@warning{%
  8804.       Reference `#2' on page \thepage\space undefined%
  8805.     }%
  8806.   \fi
  8807. }
  8808. \def\HyRef@testreftype#1.#2\\{%
  8809.   \ltx@IfUndefined{#1autorefname}{%
  8810.     \ltx@IfUndefined{#1name}{%
  8811.       \HyRef@StripStar#1\\*\\\@nil{#1}%
  8812.       \ltx@IfUndefined{\HyRef@name autorefname}{%
  8813.         \ltx@IfUndefined{\HyRef@name name}{%
  8814.           \def\HyRef@currentHtag{}%
  8815.           \Hy@Warning{No autoref name for `#1'}%
  8816.         }{%
  8817.           \edef\HyRef@currentHtag{%
  8818.             \expandafter\noexpand\csname\HyRef@name name\endcsname
  8819.             \noexpand~%
  8820.           }%
  8821.         }%
  8822.       }{%
  8823.         \edef\HyRef@currentHtag{%
  8824.           \expandafter\noexpand
  8825.           \csname\HyRef@name autorefname\endcsname
  8826.           \noexpand~%
  8827.         }%
  8828.       }%
  8829.     }{%
  8830.       \edef\HyRef@currentHtag{%
  8831.         \expandafter\noexpand\csname#1name\endcsname
  8832.         \noexpand~%
  8833.       }%
  8834.     }%
  8835.   }{%
  8836.     \edef\HyRef@currentHtag{%
  8837.       \expandafter\noexpand\csname#1autorefname\endcsname
  8838.       \noexpand~%
  8839.     }%
  8840.   }%
  8841. }
  8842. \def\HyRef@StripStar#1*\\#2\@nil#3{%
  8843.   \def\HyRef@name{#2}%
  8844.   \ifx\HyRef@name\HyRef@CaseStar
  8845.     \def\HyRef@name{#1}%
  8846.   \else
  8847.     \def\HyRef@name{#3}%
  8848.   \fi
  8849. }
  8850. \def\HyRef@CaseStar{*\\}
  8851. \def\HyRef@currentHtag{}
  8852. \let\HyRef@ShowKeysRef\@gobble
  8853. \def\HyRef@ShowKeysInit{%
  8854.   \begingroup\expandafter\expandafter\expandafter\endgroup
  8855.   \expandafter\ifx\csname SK@@label\endcsname\relax
  8856.   \else
  8857.     \ifx\SK@ref\@empty
  8858.     \else
  8859.       \def\HyRef@ShowKeysRef{%
  8860.         \SK@\SK@@ref
  8861.       }%
  8862.     \fi
  8863.   \fi
  8864. }
  8865. \@ifpackageloaded{showkeys}{%
  8866.   \HyRef@ShowKeysInit
  8867. }{%
  8868.   \Hy@AtBeginDocument{%
  8869.     \@ifpackageloaded{showkeys}{%
  8870.       \HyRef@ShowKeysInit
  8871.     }{}%
  8872.   }%
  8873. }
  8874. \providecommand*\AMSautorefname{\equationautorefname}
  8875. \providecommand*\Hfootnoteautorefname{\footnoteautorefname}
  8876. \providecommand*\Itemautorefname{\itemautorefname}
  8877. \providecommand*\itemautorefname{item}
  8878. \providecommand*\equationautorefname{Equation}
  8879. \providecommand*\footnoteautorefname{footnote}
  8880. \providecommand*\itemautorefname{item}
  8881. \providecommand*\figureautorefname{Figure}
  8882. \providecommand*\tableautorefname{Table}
  8883. \providecommand*\partautorefname{Part}
  8884. \providecommand*\appendixautorefname{Appendix}
  8885. \providecommand*\chapterautorefname{chapter}
  8886. \providecommand*\sectionautorefname{section}
  8887. \providecommand*\subsectionautorefname{subsection}
  8888. \providecommand*\subsubsectionautorefname{subsubsection}
  8889. \providecommand*\paragraphautorefname{paragraph}
  8890. \providecommand*\subparagraphautorefname{subparagraph}
  8891. \providecommand*\FancyVerbLineautorefname{line}
  8892. \providecommand*\theoremautorefname{Theorem}
  8893. \providecommand*\pageautorefname{page}
  8894. \providecommand*{\Hy@DistillerDestFix}{}
  8895. \def\phantomsection{%
  8896.   \Hy@MakeCurrentHrefAuto{section*}%
  8897.   \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
  8898. }
  8899. \endinput
  8900. %%
  8901. %% End of file `hyperref.sty'.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement