%%
%% This is file `aeb_pro.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% aeb_pro.dtx  (with options: `copyright,package')
%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% aeb_pro.sty package,                                 %%
%% Copyright (C) 2006--2019  D. P. Story                %%
%%   dpstory@acrotex.net                                %%
%%                                                      %%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License        %%
%% Distributed from CTAN archives in directory          %%
%% macros/latex/base/lppl.txt; either version 1.2 of    %%
%% the License, or (at your option) any later version.  %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1997/12/01]
\ProvidesPackage{aeb_pro}
 [2019/03/21 v2.9.5 aeb_pro: A support package (dps)]
\RequirePackage{ifpdf}[2006/02/20]
\RequirePackage{ifxetex}[2006/08/21]
\RequirePackage{xkeyval}
\let\aebp@One=1 \let\aebp@Zero=0
\let\aebp@YES=y \let\aebp@NO=n
\def\ap@csarg#1#2{\expandafter#1\csname#2\endcsname}
\define@key{aebpreq}{req}[]{\def\eq@pkgReq{#1}}
\def\aebp@setCCOptions#1#2{%#1=package #2=options
    \ap@csarg\edef{aeb@#1@opts}{#2}}
\@tfor\aeb@pcks:={web}{exerquiz}{dljslib}%
{eforms}{insdljs}{eq2db}{aebxmp}{hyperref}{graphicxsp}{rmannot}\do
{%
    \ap@csarg\let{aeb@\aeb@pcks @req}\@empty
    \ap@csarg\let{aeb@\aeb@pcks @opts}\relax
    \edef\aeb@pack@def{\noexpand
        \define@key{aeb_pro.sty}{\aeb@pcks}[]{%
            \noexpand\aebp@setCCOptions{\aeb@pcks}{##1}}%
    }\aeb@pack@def
}
\let\aebp@passDriver\aebp@YES
\ifpdf\let\aebp@passDriver\aebp@NO\else
\ifxetex\let\aebp@passDriver\aebp@NO\fi\fi
\define@choicekey+{aeb_pro.sty}{driver}%
    {dvipsone,dvips,pdftex,dvipdfm,textures,%
    dvipdfmx,xetex}{%
    \def\aeb@driver{#1}\ifx\aeb@driver\@empty\else
        \PassOptionsToPackage{#1}{web}
        \PassOptionsToPackage{#1}{exerquiz}
\def\aebp@PassToHYIns{\PassOptionsToPackage{#1}{hyperref}
    \PassOptionsToPackage{#1}{insdljs}}
\ifx\aebp@passDriver\aebp@YES
    \expandafter\aebp@PassToHYIns\fi
        \PassOptionsToPackage{#1}{eforms}
        \PassOptionsToPackage{#1}{graphicxsp}
    \fi
}{\PackageError{aeb_pro}{Bad choice for the driver, permissible values
   \MessageBreak are dvipsone, dvips, pdftex, dvipdfm,
    textures,\MessageBreak dvipdfmx, and xetex}
    {Try again with a permissible driver name}}
\let\aeb@driver\@empty

\newif\if@useacrobat \@useacrobatfalse
\DeclareOptionX{useacrobat}{\@useacrobattrue}
\newif\if@gopro \@goprotrue
\DeclareOptionX{nopro}{\@useacrobattrue\@goprofalse
    \PassOptionsToPackage{nopro}{insdljs}}
\def\aeb@InputAeBPro{\InputIfFileExists{aebpro.def}%
    {\PackageInfo{aeb_pro}{Inputting code for the pro option}}%
    {\PackageInfo{aeb_pro}{Cannot find aebpro.def.
        Reinstall or refresh your file name database, as needed.}}}
\AtEndOfPackage{\aeb@InputAeBPro}
\let\aebp@uselayers=0
\DeclareOptionX{uselayers}{%
    \ifx\aebp@uselayers0\AtEndOfPackage{\aeb@InputAeBLayers}%
    \global\let\aebp@uselayers=1\fi
}
\def\aeb@InputAeBLayers{\InputIfFileExists{aeblayers.def}%
    {\PackageInfo{aeb_pro}{Inputting code for uselayers option}}%
    {\PackageInfo{aeb_pro}{Cannot find aeblayers.def.
        Reinstall or refresh your file name database.}}}
\DeclareOptionX{gopro}{\PassOptionsToPackage{pro}{web}}
\DeclareOptionX{attachsource}{\def\aeb@attachsource{#1}}
\let\aeb@attachsource\@empty
\DeclareOptionX{attachments}{\def\aeb@attachments{#1}}
\let\aeb@attachments\@empty
\newif\ifoptattachments\optattachmentsfalse
\newif\ifoptattachmentsTaken\optattachmentsTakenfalse
\DeclareOptionX{optattachments}{%
    \optattachmentsTakentrue
    \optattachmentstrue}
\DeclareOptionX{!optattachments}{%
    \optattachmentsTakentrue
    \optattachmentsfalse}
\def\@aeb@InputUnicodes{\InputIfFileExists{linkto.def}%
  {\PackageInfo{aeb_pro}{Inputting code for the linktoattachments
  option}}{\PackageWarning{aeb_pro}{Cannot find linkto.def.
    Reinstall or refresh your file name database, as needed.}}}
\let\aeb@InputUnicodes\@empty
\DeclareOptionX{linktoattachments}{% dps23
    \let\aeb@InputUnicodes\@aeb@InputUnicodes
}
\def\ap@RequireUnicode{\RequirePackage{forms16be}} % dps23
\let\aeb@childofInput\@empty
\let\aeb@childof\@empty
\DeclareOptionX{childof}{\def\aeb@childof{#1}\def\aeb@childofInput{%
    \InputIfFileExists{\aeb@childof_xref.cut}{}{}}}
\def\inputAttachmentRelatedFiles{%
    \aeb@InputUnicodes
    \aeb@childofInput
}
\AtEndOfPackage{\inputAttachmentRelatedFiles}
\let\inputCommonAnimeCode\relax
\DeclareOptionX{ocganime}{%
    \ifx\aebp@uselayers0\ExecuteOptionsX{uselayers}
    \global\let\aebp@uselayers=1\fi
    \ifx\inputCommonAnimeCode\relax
        \let\inputCommonAnimeCode\aebp@inputCommonAnimeCode
        \AtEndOfPackage{\inputCommonAnimeCode}\fi
    \AtEndOfPackage{\inputOcgAnimeCode}
}
\DeclareOptionX{btnanime}{%
    \ifx\inputCommonAnimeCode\relax
        \let\inputCommonAnimeCode\aebp@inputCommonAnimeCode
        \AtEndOfPackage{\inputCommonAnimeCode}\fi
    \AtEndOfPackage{\inputBtnAnimeCode}
}
\def\inputBtnAnimeCode{\InputIfFileExists{btnnanime.def}
    {\PackageInfo{aeb_pro}{inputting btnnanime.def}}
    {\PackageWarning{aeb_pro}{cannot find btnnanime.def}}}%
\def\inputOcgAnimeCode{\InputIfFileExists{ocganime.def}
    {\PackageInfo{aeb_pro}{inputting ocganime.def}}
    {\PackageWarning{aeb_pro}{cannot find ocganime.def}}}%
\def\aebp@inputCommonAnimeCode{\InputIfFileExists{anime_support.def}
    {\PackageInfo{aeb_pro}{inputting anime_support.def}}
    {\PackageWarning{aeb_pro}{cannot find anime_support.def}}}%
\let\pathToBtnCtrlIcons\@empty
\let\ExecuteOptionsXSAVE\ExecuteOptionsX
\let\ExecuteOptionsX\@gobble
\InputIfFileExists{aebpro.cfg}{}{}
\let\ExecuteOptionsX\ExecuteOptionsXSAVE
\ifpdf\ExecuteOptionsX{driver=pdftex}\else
    \ifxetex\ExecuteOptionsX{driver=xetex}\else
    \@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{driver=dvips}}
            {\ExecuteOptionsX{driver=dvipsone}}\fi\fi
\ProcessOptionsX
\edef\ap@restoreCats{%
    \catcode`\noexpand\"=\the\catcode`\"\relax
    \catcode`\noexpand\,=\the\catcode`\,\relax
    \catcode`\noexpand\(=\the\catcode`\(\relax
    \catcode`\noexpand\!=\the\catcode`\!\relax
}
\@makeother\"\@makeother\,\@makeother\(\@makeother\!
\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}
\pdfmarkuptrue
\def\aeb@testdriver{dvips}%
\ifx\aeb@testdriver\aeb@driver
    \@useacrobattrue\else
\def\aeb@testdriver{dvipsone}%
\ifx\aeb@testdriver\aeb@driver
    \@useacrobattrue\else
    \pdfmarkupfalse
\fi\fi
\if@gopro\else
\let\aebp@isattach\aebp@NO
\ifx\aeb@attachsource\@empty\else\let\aebp@isattach\aebp@YES\fi
\ifx\aeb@attachments\@empty\else\let\aebp@isattach\aebp@YES\fi
\let\aeb@attachsource\@empty
\let\aeb@attachments\@empty
\optattachmentsfalse\optattachmentsTakenfalse
\let\inputAttachmentRelatedFiles\relax
\ifx\aebp@isattach\aebp@YES
    \PackageWarningNoLine{aeb_pro}{The various attachment options
        are not\MessageBreak supported with the nopro option,
        ignoring them}\fi
\fi
\ifpdfmarkup\else
\if\aebp@uselayers1
    \def\aeb@InputAeBLayers{\PackageError{aeb_pro}
    {The uselayers and ocganime options are not supported,\MessageBreak
     with the useacrobat and nopro options,\MessageBreak
     ignoring these options}{Remove dependence on layers,
     or obtain\MessageBreak the full Acrobat product}}
    \let\texHelpIndicator\@gobble
    \let\addJStexHelpEnter\@gobble
    \let\addJStexHelpExit\@gobble
    \let\texHelp\@gobbletwo
    \def\xBld#1\eBld{}
    \let\defineRC\@gobbletwo
    \let\insertRC\@gobble
    \let\definePR\@gobbletwo
    \let\insertPR\@gobble
    \let\proofRollovers\relax
    \let\texPHProof\@gobbletwo
    \newcommand\animeBld[1][]{}
    \def\DeclareAnime#1#2#3{}
    \newcommand\backAnimeBtn[3][]{}
    \newcommand\clearAnimeBtn[3][]{}
    \newcommand\forwardAnimeBtn[3][]{}
\fi\fi
\def\aebp@PkgWarningi#1{\ifpdfmarkup\else\PackageWarningNoLine{aeb_pro}
    {The #1\space package requires Adobe Distiller,\MessageBreak
        do not load this package}\fi}
\def\aebp@PkgWarningii#1{\PackageWarningNoLine{aeb_pro}
    {The #1\space package requires Adobe Distiller,\MessageBreak
        ignoring #1\space as an option}}
\def\aebp@PkgWarningiii#1{\PackageWarningNoLine{aeb_pro}
    {The #1\space package requires Adobe Distiller or\MessageBreak
        the useacrobat option (Acrobat required),\MessageBreak
        ignoring #1\space as an option}}
\providecommand\getargsii[2]{\def\aeb@argi{#1}\def\aeb@argii{#2}}
\newcommand\ap@RP[2][]{\def\@rgi{#1}\def\@rgii{#2}%
    \ifx\@rgi\@empty\else\edef\@rgi{[\@rgi]}\fi
    \@ifnextchar[%]
    {\ap@@RP}{\ap@@RP[]}}
\def\ap@@RP[#1]{\def\@rgiii{#1}%
    \let\XKV@rm\@empty\let\eq@pkgReq\@empty
    \@ifundefined{aeb@\@rgii @opts}
        {\ifx\@rgi\@empty\else
            \ap@csarg\edef{aeb@\@rgii @req}{#1}\fi
        }{%
            \edef\x{\noexpand
                \setkeys*{aebpreq}{\@nameuse{aeb@\@rgii @opts}}}\x
            \edef\eq@theseOpts{\XKV@rm}%
            \ap@csarg\edef{aeb@\@rgii @req}{\eq@pkgReq}%
            \edef\x{\noexpand
                \PassOptionsToPackage{\eq@theseOpts}{\@rgii}}\x
        }%
    \ifx\@rgiii\@empty
        \if!\@nameuse{aeb@\@rgii @req}!\else
        \ap@csarg\edef{aeb@\@rgii @req}{[\@nameuse{aeb@\@rgii @req}]}\fi
    \else
        \@ifl@t@r{#1}{\@nameuse{aeb@\@rgii @req}}%
            {\if!\@nameuse{aeb@\@rgii @req}!\else
                \ap@csarg\edef{aeb@\@rgii @req}%
                    {[\@nameuse{aeb@\@rgii @req}]}\fi
            }{\ap@csarg\edef{aeb@\@rgii @req}{[#1]}}%
    \fi
    \edef\x{\noexpand
        \RequirePackage{\@rgii}\@nameuse{aeb@\@rgii @req}}\x
}
\@ifpackageloaded{web}{}
{%
    \@ifundefined{aeb@web@opts}{}{\ap@RP{web}}%
}
\@ifpackageloaded{exerquiz}{}
{%
    \@ifundefined{aeb@exerquiz@opts}{}{\ap@RP{exerquiz}}%
}
\@ifpackageloaded{hyperref}{}
{%
    \@ifundefined{aeb@hyperref@opts}{}{\ap@RP{hyperref}}%
}
\@ifpackageloaded{eq2db}{}
{%
    \@ifundefined{aeb@eq2db@opts}{}{\ap@RP{eq2db}}%
}
\@ifpackageloaded{dljslib}{}
{%
    \@ifundefined{aeb@dljslib@opts}{}{\ap@RP{dljslib}}%
}
\@ifpackageloaded{eforms}{\let\execjs\aebp@YES}
{%
    \@ifundefined{aeb@eforms@opts}{}
    {\ap@RP[execJS]{eforms}[2017/01/03]}%
}
\@ifpackageloaded{insdljs}{\let\execjs\aebp@YES}
{%
    \ap@RP[execJS]{insdljs}[2016/07/31]% incls conv-xkv
}
\@ifpackageloaded{aebxmp}{\aebp@PkgWarningi{aebxmp}}
{%
    \@ifundefined{aeb@aebxmp@opts}{}
    {\edef\temp@exp{\ifpdfmarkup
        \noexpand\ap@RP{aebxmp}\else
     \if@useacrobat
        \noexpand\ap@RP{aebxmp}[2016/05/12]\else
        \noexpand\aebp@PkgWarningiii{aebxmp}\fi\fi}\temp@exp}
}
\@ifpackageloaded{graphicxsp}{\aebp@PkgWarningi{graphicxsp}}
{%
    \@ifundefined{aeb@graphicxsp@opts}{}
    {\edef\temp@exp{\ifpdfmarkup
        \noexpand\ap@RP{graphicxsp}\else
        \noexpand\aebp@PkgWarningii{graphicxsp}\fi}\temp@exp}
}
\@ifpackageloaded{rmannot}{\aebp@PkgWarningi{rmannot}}
{%
    \@ifundefined{aeb@rmannot@opts}{}
    {\edef\temp@exp{\ifpdfmarkup\noexpand\ap@RP{rmannot}\else
        \noexpand\aebp@PkgWarningii{rmannot}\fi}\temp@exp}
}
\let\execjs\aebp@YES
\RequirePackage{aeb-comment}
\RequirePackage{calc}
\RequirePackage{eso-pic}
\ifx\aeb@InputUnicodes\@empty\else\expandafter
\ap@RequireUnicode\fi% dps23
\ifpdfmarkup\else\if\aebp@uselayers1
    \excludecomment{printRollover}%
    \excludecomment{rollover}%
\fi\fi
\def\aeb@IWVO{\immediate\write\verbatim@out}
\newsavebox{\aebsavehelp}
\definecolor{webblue}{rgb}{0,0,.8}
\newcommand{\pdfHelpIndicatorColor}{webblue}
\newcommand{\pdfHelpIndicator}[1]{#1\thinspace${}^{\mbox
    {\footnotesize\negthinspace\ding{109}}%
    \raisebox{.225ex}{\llap{\color{\pdfHelpIndicatorColor}%
    \tiny?\hspace{1.3ex}}}}$}
\def\pdfHelpCnt{0}
\newcommand{\pdfHelp}{\@ifstar{{\count0=\pdfHelpCnt\relax
\advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0 }}%
    \pdfHelpi{pdfhelp-\pdfHelpCnt}}{\pdfHelpi}}
\newcommand{\pdfHelpi}[3]{%
    \let\rollormargstring\texorpdfstring
    \sbox{\aebsavehelp}{\pdfHelpIndicator{#3}}%
    \makebox[0pt][l]{\makespecialJS\pushButton[\S{S}\BG{}\BC{}\H{N}
    \TU{#2}]{#1}{\wd\aebsavehelp}{11bp}}\usebox{\aebsavehelp}%
    \let\rollormargstring\@gobbletwo
}
\newcommand\pdfPHProof[3]{\small\raggedright\texttt{#3}: #2}
\newcommand\pdfPrintHelp{\@ifstar{{\count0=\pdfHelpCnt\relax
\advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0}}%
    \pdfPrintHelpi{pdfhelp-\pdfHelpCnt}}{\pdfPrintHelpi}}
\newcommand\pdfPrintHelpi[3]{%
    \let\rollormargstring\texorpdfstring
    \ifeqforpaper
        \ifeq@proofing
            \pdfHelp{#1}{#2}{#3}\marginpar{\Hy@pdfstringfalse
                \pdfPHProof{#1}{#2}{{\Hy@pdfstringtrue#3}}}\else
            \pdfHelpIndicator{#3}\fi
    \else
        \pdfHelp{#1}{#2}{#3}\ifeq@proofing
        \marginpar{\Hy@pdfstringfalse
            \pdfPHProof{#1}{#2}{{\Hy@pdfstringtrue#3}}}\fi
    \fi
    \let\rollormargstring\@gobbletwo
}
\AtEndOfPackage{\@nameuse{aeb@inputAttachments}}
\AtBeginDocument{\@nameuse{aeb@setPDFPackage}}
\@ifpackageloaded{web}{}
    {\def\aebwritelastpage{%
    \immediate\write\@auxout{\string\expandafter\string\gdef
    \string\csname\space aebLastPage\string\endcsname{\arabic{page}}}}
    \AtEndDocument{\clearpage\addtocounter{page}{-1}\aebwritelastpage
    \addtocounter{page}{1}}%
}
\ap@restoreCats
\endinput
%%
%% End of file `aeb_pro.sty'.
