summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-24 21:44:23 +0000
committerKarl Berry <karl@freefriends.org>2019-11-24 21:44:23 +0000
commit204fd899cc25f20ce25b4d8bbb3322f8e7b773d3 (patch)
treecbc106f59f4a4aefb0cbafd3b78b0b8435fe65c4 /Master/texmf-dist/tex/latex
parent61038c6949f446bb38c64bffd820353a1aeb3cf7 (diff)
pdftexcmds split from oberdiek (24nov19)
git-svn-id: svn://tug.org/texlive/trunk@52913 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty745
1 files changed, 745 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty b/Master/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
new file mode 100644
index 00000000000..dbf9f8d4827
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
@@ -0,0 +1,745 @@
+%%
+%% This is file `pdftexcmds.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pdftexcmds.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Project: pdftexcmds
+%% Version: 2019/11/24 v0.31
+%%
+%% Copyright (C)
+%% 2007, 2009-2011 Heiko Oberdiek
+%% 2016-2019 Oberdiek Package Support Group
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/pdftexcmds/issues
+%%
+%%
+%% The Base Interpreter refers to any `TeX-Format',
+%% because some files are installed in TDS:tex/generic//.
+%%
+%% This work consists of the main source file pdftexcmds.dtx
+%% and the derived files
+%% pdftexcmds.sty, pdftexcmds.pdf, pdftexcmds.ins, pdftexcmds.drv,
+%% pdftexcmds.lua.
+%%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode35=6 % #
+ \catcode39=12 % '
+ \catcode44=12 % ,
+ \catcode45=12 % -
+ \catcode46=12 % .
+ \catcode58=12 % :
+ \catcode64=11 % @
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \expandafter\let\expandafter\x\csname ver@pdftexcmds.sty\endcsname
+ \ifx\x\relax % plain-TeX, first loading
+ \else
+ \def\empty{}%
+ \ifx\x\empty % LaTeX, first loading,
+ % variable is initialized, but \ProvidesPackage not yet seen
+ \else
+ \expandafter\ifx\csname PackageInfo\endcsname\relax
+ \def\x#1#2{%
+ \immediate\write-1{Package #1 Info: #2.}%
+ }%
+ \else
+ \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
+ \fi
+ \x{pdftexcmds}{The package is already loaded}%
+ \aftergroup\endinput
+ \fi
+ \fi
+\endgroup%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode35=6 % #
+ \catcode39=12 % '
+ \catcode40=12 % (
+ \catcode41=12 % )
+ \catcode44=12 % ,
+ \catcode45=12 % -
+ \catcode46=12 % .
+ \catcode47=12 % /
+ \catcode58=12 % :
+ \catcode64=11 % @
+ \catcode91=12 % [
+ \catcode93=12 % ]
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \expandafter\ifx\csname ProvidesPackage\endcsname\relax
+ \def\x#1#2#3[#4]{\endgroup
+ \immediate\write-1{Package: #3 #4}%
+ \xdef#1{#4}%
+ }%
+ \else
+ \def\x#1#2[#3]{\endgroup
+ #2[{#3}]%
+ \ifx#1\@undefined
+ \xdef#1{#3}%
+ \fi
+ \ifx#1\relax
+ \xdef#1{#3}%
+ \fi
+ }%
+ \fi
+\expandafter\x\csname ver@pdftexcmds.sty\endcsname
+\ProvidesPackage{pdftexcmds}%
+ [2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO)]%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \catcode64=11 % @
+ \def\x{\endgroup
+ \expandafter\edef\csname pdftexcmds@AtEnd\endcsname{%
+ \endlinechar=\the\endlinechar\relax
+ \catcode13=\the\catcode13\relax
+ \catcode32=\the\catcode32\relax
+ \catcode35=\the\catcode35\relax
+ \catcode61=\the\catcode61\relax
+ \catcode64=\the\catcode64\relax
+ \catcode123=\the\catcode123\relax
+ \catcode125=\the\catcode125\relax
+ }%
+ }%
+\x\catcode61\catcode48\catcode32=10\relax%
+\catcode13=5 % ^^M
+\endlinechar=13 %
+\catcode35=6 % #
+\catcode64=11 % @
+\catcode123=1 % {
+\catcode125=2 % }
+\def\TMP@EnsureCode#1#2{%
+ \edef\pdftexcmds@AtEnd{%
+ \pdftexcmds@AtEnd
+ \catcode#1=\the\catcode#1\relax
+ }%
+ \catcode#1=#2\relax
+}
+\TMP@EnsureCode{0}{12}%
+\TMP@EnsureCode{1}{12}%
+\TMP@EnsureCode{2}{12}%
+\TMP@EnsureCode{10}{12}% ^^J
+\TMP@EnsureCode{33}{12}% !
+\TMP@EnsureCode{34}{12}% "
+\TMP@EnsureCode{38}{4}% &
+\TMP@EnsureCode{39}{12}% '
+\TMP@EnsureCode{40}{12}% (
+\TMP@EnsureCode{41}{12}% )
+\TMP@EnsureCode{42}{12}% *
+\TMP@EnsureCode{43}{12}% +
+\TMP@EnsureCode{44}{12}% ,
+\TMP@EnsureCode{45}{12}% -
+\TMP@EnsureCode{46}{12}% .
+\TMP@EnsureCode{47}{12}% /
+\TMP@EnsureCode{58}{12}% :
+\TMP@EnsureCode{60}{12}% <
+\TMP@EnsureCode{62}{12}% >
+\TMP@EnsureCode{91}{12}% [
+\TMP@EnsureCode{93}{12}% ]
+\TMP@EnsureCode{94}{7}% ^ (superscript)
+\TMP@EnsureCode{95}{12}% _ (other)
+\TMP@EnsureCode{96}{12}% `
+\TMP@EnsureCode{126}{12}% ~ (other)
+\edef\pdftexcmds@AtEnd{%
+ \pdftexcmds@AtEnd
+ \escapechar=\number\escapechar\relax
+ \noexpand\endinput
+}
+\escapechar=92 %
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \def\TMP@RequirePackage#1[#2]{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname ver@#1.sty\endcsname\relax
+ \input #1.sty\relax
+ \fi
+ }%
+ \TMP@RequirePackage{infwarerr}[2007/09/09]%
+ \TMP@RequirePackage{iftex}[2019/11/07]%%
+ \TMP@RequirePackage{ltxcmds}[2010/12/02]%
+\else
+ \RequirePackage{infwarerr}[2007/09/09]%
+ \RequirePackage{iftex}[2019/11/07]%
+ \RequirePackage{ltxcmds}[2010/12/02]%
+\fi
+\ifluatex
+\else
+ \def\pdftexcmds@nopdftex{%
+ \let\pdftexcmds@nopdftex\relax
+ }%
+ \def\pdftexcmds@temp#1{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname
+ \expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname\relax
+ \pdftexcmds@nopdftex
+ \else
+ \expandafter\def\csname pdf@#1\expandafter\endcsname
+ \expandafter{%
+ \csname\expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname
+ }%
+ \fi
+ }%
+ \pdftexcmds@temp{strcmp}%
+ \pdftexcmds@temp{escapehex}%
+ \let\pdf@escapehexnative\pdf@escapehex
+ \pdftexcmds@temp{unescapehex}%
+ \let\pdf@unescapehexnative\pdf@unescapehex
+ \pdftexcmds@temp{escapestring}%
+ \pdftexcmds@temp{escapename}%
+ \pdftexcmds@temp{filesize}%
+ \pdftexcmds@temp{filemoddate}%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdfshellescape\endcsname\relax
+ \pdftexcmds@nopdftex
+ \ltx@IfUndefined{pdftexversion}{%
+ }{%
+ \ifnum\pdftexversion>120 % 1.21a supports \ifeof18
+ \ifeof18 %
+ \chardef\pdf@shellescape=0 %
+ \else
+ \chardef\pdf@shellescape=1 %
+ \fi
+ \fi
+ }%
+ \else
+ \def\pdf@shellescape{%
+ \pdfshellescape
+ }%
+ \fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdffiledump\endcsname\relax
+ \pdftexcmds@nopdftex
+ \else
+ \def\pdf@filedump#1#2#3{%
+ \pdffiledump offset#1 length#2{#3}%
+ }%
+ \fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdfmdfivesum\endcsname\relax
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname mdfivesum\endcsname\relax
+ \pdftexcmds@nopdftex
+ \else
+ \def\pdf@mdfivesum#{\mdfivesum}%
+ \let\pdf@mdfivesumnative\pdf@mdfivesum
+ \def\pdf@filemdfivesum#{\mdfivesum file}%
+ \fi
+ \else
+ \def\pdf@mdfivesum#{\pdfmdfivesum}%
+ \let\pdf@mdfivesumnative\pdf@mdfivesum
+ \def\pdf@filemdfivesum#{\pdfmdfivesum file}%
+ \fi
+ \def\pdf@system#{%
+ \immediate\write18%
+ }%
+ \def\pdftexcmds@temp#1{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname
+ \expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname\relax
+ \pdftexcmds@nopdftex
+ \else
+ \expandafter\let\csname pdf@#1\expandafter\endcsname
+ \csname\expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname
+ \fi
+ }%
+ \pdftexcmds@temp{resettimer}%
+ \pdftexcmds@temp{elapsedtime}%
+\fi
+\ifluatex
+ \ifnum\luatexversion<36 %
+ \def\pdftexcmds@directlua{\directlua0 }%
+ \else
+ \let\pdftexcmds@directlua\directlua
+ \fi
+ \begingroup
+ \newlinechar=10 %
+ \endlinechar=\newlinechar
+ \pdftexcmds@directlua{%
+ if tex.enableprimitives then
+ tex.enableprimitives(
+ 'pdf@',
+ {'primitive', 'ifprimitive', 'pdfdraftmode','draftmode'}
+ )
+ tex.enableprimitives('', {'luaescapestring'})
+ end
+ }%
+ \endgroup %
+\fi
+\def\pdftexcmds@strip@prefix#1>{}
+\def\pdftexcmds@temp#1#2#3{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdf@#1\endcsname\relax
+ \begingroup
+ \def\x{#3}%
+ \edef\x{\expandafter\pdftexcmds@strip@prefix\meaning\x}%
+ \escapechar=-1 %
+ \edef\y{\expandafter\meaning\csname#2\endcsname}%
+ \expandafter\endgroup
+ \ifx\x\y
+ \expandafter\let\csname pdf@#1\expandafter\endcsname
+ \csname #2\endcsname
+ \fi
+ \fi
+}
+\pdftexcmds@temp{primitive}{pdfprimitive}{pdfprimitive}% pdfTeX, oldLuaTeX
+\pdftexcmds@temp{primitive}{primitive}{primitive}% XeTeX, luatex
+\pdftexcmds@temp{primitive}{luatexprimitive}{pdfprimitive}% oldLuaTeX
+\pdftexcmds@temp{primitive}{luatexpdfprimitive}{pdfprimitive}% oldLuaTeX
+\pdftexcmds@temp{ifprimitive}{ifpdfprimitive}{ifpdfprimitive}% pdfTeX, oldLuaTeX
+\pdftexcmds@temp{ifprimitive}{ifprimitive}{ifprimitive}% XeTeX, luatex
+\pdftexcmds@temp{ifprimitive}{luatexifprimitive}{ifpdfprimitive}% oldLuaTeX
+\pdftexcmds@temp{ifprimitive}{luatexifpdfprimitive}{ifpdfprimitive}% oldLuaTeX
+\ifluatex\else
+\begingroup
+ \expandafter\ifx\csname pdf@primitive\endcsname\relax
+ \else
+ \expandafter\ifx\csname pdftexversion\endcsname\relax
+ \else
+ \ifnum\pdftexversion=140 %
+ \expandafter\ifx\csname pdftexrevision\endcsname\relax
+ \else
+ \ifnum\pdftexrevision<4 %
+ \endgroup
+ \let\pdf@primitive\@undefined
+ \@PackageInfoNoLine{pdftexcmds}{%
+ \string\pdf@primitive\space disabled, %
+ because\MessageBreak
+ \string\pdfprimitive\space is broken until pdfTeX 1.40.4%
+ }%
+ \begingroup
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+\endgroup
+\fi
+\begingroup
+ \@PackageInfoNoLine{pdftexcmds}{%
+ \string\pdf@primitive\space is %
+ \expandafter\ifx\csname pdf@primitive\endcsname\relax not \fi
+ available%
+ }%
+ \@PackageInfoNoLine{pdftexcmds}{%
+ \string\pdf@ifprimitive\space is %
+ \expandafter\ifx\csname pdf@ifprimitive\endcsname\relax not \fi
+ available%
+ }%
+\endgroup
+\def\pdftexcmds@temp#1{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdf@#1\endcsname\relax
+ \begingroup
+ \escapechar=-1 %
+ \edef\x{\expandafter\meaning\csname#1\endcsname}%
+ \def\y{#1}%
+ \def\z##1->{}%
+ \edef\y{\expandafter\z\meaning\y}%
+ \expandafter\endgroup
+ \ifx\x\y
+ \expandafter\def\csname pdf@#1\expandafter\endcsname
+ \expandafter{%
+ \csname#1\endcsname
+ }%
+ \fi
+ \fi
+}%
+\pdftexcmds@temp{shellescape}%
+\pdftexcmds@temp{strcmp}%
+\def\pdf@isprimitive{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdf@strcmp\endcsname\relax
+ \long\def\pdf@isprimitive##1{%
+ \expandafter\pdftexcmds@isprimitive\expandafter{\meaning##1}%
+ }%
+ \long\def\pdftexcmds@isprimitive##1##2{%
+ \expandafter\pdftexcmds@@isprimitive\expandafter{\string##2}{##1}%
+ }%
+ \def\pdftexcmds@@isprimitive##1##2{%
+ \ifnum0\pdftexcmds@equal##1\delimiter##2\delimiter=1 %
+ \expandafter\ltx@firstoftwo
+ \else
+ \expandafter\ltx@secondoftwo
+ \fi
+ }%
+ \def\pdftexcmds@equal##1##2\delimiter##3##4\delimiter{%
+ \ifx##1##3%
+ \ifx\relax##2##4\relax
+ 1%
+ \else
+ \ifx\relax##2\relax
+ \else
+ \ifx\relax##4\relax
+ \else
+ \pdftexcmds@equalcont{##2}{##4}%
+ \fi
+ \fi
+ \fi
+ \fi
+ }%
+ \def\pdftexcmds@equalcont##1{%
+ \def\pdftexcmds@equalcont####1####2##1##1##1##1{%
+ ##1##1##1##1%
+ \pdftexcmds@equal####1\delimiter####2\delimiter
+ }%
+ }%
+ \expandafter\pdftexcmds@equalcont\csname fi\endcsname
+ \else
+ \long\def\pdf@isprimitive##1##2{%
+ \ifnum\pdf@strcmp{\meaning##1}{\string##2}=0 %
+ \expandafter\ltx@firstoftwo
+ \else
+ \expandafter\ltx@secondoftwo
+ \fi
+ }%
+ \fi
+}
+\ifluatex
+\ifx\pdfdraftmode\@undefined
+ \let\pdfdraftmode\draftmode
+\fi
+\else
+ \pdf@isprimitive
+\fi
+\let\pdftexcmds@temp\ltx@zero %
+\ltx@IfUndefined{pdfdraftmode}{%
+ \@PackageInfoNoLine{pdftexcmds}{\ltx@backslashchar pdfdraftmode not found}%
+}{%
+ \ifpdf
+ \let\pdftexcmds@temp\ltx@one
+ \@PackageInfoNoLine{pdftexcmds}{\ltx@backslashchar pdfdraftmode found}%
+ \else
+ \@PackageInfoNoLine{pdftexcmds}{%
+ \ltx@backslashchar pdfdraftmode is ignored in DVI mode%
+ }%
+ \fi
+}
+\ifcase\pdftexcmds@temp
+ \let\pdf@draftmode\ltx@zero
+ \let\pdf@ifdraftmode\ltx@secondoftwo
+ \def\pdftexcmds@setdraftmode#1{}%
+\else
+ \let\pdftexcmds@draftmode\pdfdraftmode
+ \def\pdf@ifdraftmode{%
+ \ifnum\pdftexcmds@draftmode=\ltx@one
+ \expandafter\ltx@firstoftwo
+ \else
+ \expandafter\ltx@secondoftwo
+ \fi
+ }%
+ \def\pdf@draftmode{%
+ \ifnum\pdftexcmds@draftmode=\ltx@one
+ \expandafter\ltx@one
+ \else
+ \expandafter\ltx@zero
+ \fi
+ }%
+ \def\pdftexcmds@setdraftmode#1{%
+ \pdftexcmds@draftmode=#1\relax
+ }%
+\fi
+\def\pdf@setdraftmode#1{%
+ \begingroup
+ \count\ltx@cclv=#1\relax
+ \edef\x{\endgroup
+ \noexpand\pdftexcmds@@setdraftmode{\the\count\ltx@cclv}%
+ }%
+ \x
+}
+\def\pdftexcmds@@setdraftmode#1{%
+ \ifcase#1 %
+ \pdftexcmds@setdraftmode{#1}%
+ \or
+ \pdftexcmds@setdraftmode{#1}%
+ \else
+ \@PackageWarning{pdftexcmds}{%
+ \string\pdf@setdraftmode: Ignoring\MessageBreak
+ invalid value `#1'%
+ }%
+ \fi
+}
+\ifluatex
+\else
+ \expandafter\pdftexcmds@AtEnd
+\fi%
+\pdftexcmds@directlua{%
+ require("pdftexcmds")%
+}
+\ifnum\luatexversion>37 %
+ \ifnum0%
+ \pdftexcmds@directlua{%
+ if status.ini_version then %
+ tex.write("1")%
+ end%
+ }>0 %
+ \everyjob\expandafter{%
+ \the\everyjob
+ \pdftexcmds@directlua{%
+ require("pdftexcmds")%
+ }%
+ }%
+ \fi
+\fi
+\begingroup
+ \def\x{2019/11/24 v0.31}%
+ \ltx@onelevel@sanitize\x
+ \edef\y{%
+ \pdftexcmds@directlua{%
+ if oberdiek.pdftexcmds.getversion then %
+ oberdiek.pdftexcmds.getversion()%
+ end%
+ }%
+ }%
+ \ifx\x\y
+ \else
+ \@PackageError{pdftexcmds}{%
+ Wrong version of lua module.\MessageBreak
+ Package version: \x\MessageBreak
+ Lua module: \y
+ }\@ehc
+ \fi
+\endgroup
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname newtoks\endcsname\relax
+ \toksdef\pdftexcmds@toks=0 %
+\else
+ \csname newtoks\endcsname\pdftexcmds@toks
+\fi
+\def\pdftexcmds@Patch{0}
+\ifnum\luatexversion>40 %
+ \ifnum\luatexversion<66 %
+ \def\pdftexcmds@Patch{1}%
+ \fi
+\fi
+\ifcase\pdftexcmds@Patch
+ \catcode`\&=14 %
+\else
+ \catcode`\&=9 %
+ \def\pdftexcmds@PatchDecode#1\@nil{%
+ \pdftexcmds@DecodeA#1^^A^^A\@nil{}%
+ }%
+ \def\pdftexcmds@DecodeA#1^^A^^A#2\@nil#3{%
+ \ifx\relax#2\relax
+ \ltx@ReturnAfterElseFi{%
+ \pdftexcmds@DecodeB#3#1^^A^^B\@nil{}%
+ }%
+ \else
+ \ltx@ReturnAfterFi{%
+ \pdftexcmds@DecodeA#2\@nil{#3#1^^@}%
+ }%
+ \fi
+ }%
+ \def\pdftexcmds@DecodeB#1^^A^^B#2\@nil#3{%
+ \ifx\relax#2\relax%
+ \ltx@ReturnAfterElseFi{%
+ \ltx@zero
+ #3#1%
+ }%
+ \else
+ \ltx@ReturnAfterFi{%
+ \pdftexcmds@DecodeB#2\@nil{#3#1^^A}%
+ }%
+ \fi
+ }%
+\fi
+\ifnum\luatexversion<36 %
+\else
+ \catcode`\0=9 %
+\fi
+\long\def\pdf@strcmp#1#2{%
+ \directlua0{%
+ oberdiek.pdftexcmds.strcmp("\luaescapestring{#1}",%
+ "\luaescapestring{#2}")%
+ }%
+}%
+\pdf@isprimitive
+\long\def\pdf@escapehex#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.escapehex("\luaescapestring{#1}", "byte")%
+ }%
+}%
+\long\def\pdf@escapehexnative#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.escapehex("\luaescapestring{#1}")%
+ }%
+}%
+\def\pdf@unescapehex#1{%
+& \romannumeral\expandafter\pdftexcmds@PatchDecode
+ \the\expandafter\pdftexcmds@toks
+ \directlua0{%
+ oberdiek.pdftexcmds.toks="pdftexcmds@toks"%
+ oberdiek.pdftexcmds.unescapehex("\luaescapestring{#1}", "byte", \pdftexcmds@Patch)%
+ }%
+& \@nil
+}%
+\def\pdf@unescapehexnative#1{%
+& \romannumeral\expandafter\pdftexcmds@PatchDecode
+ \the\expandafter\pdftexcmds@toks
+ \directlua0{%
+ oberdiek.pdftexcmds.toks="pdftexcmds@toks"%
+ oberdiek.pdftexcmds.unescapehex("\luaescapestring{#1}", \pdftexcmds@Patch)%
+ }%
+& \@nil
+}%
+\long\def\pdf@escapestring#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.escapestring("\luaescapestring{#1}")%
+ }%
+}
+\long\def\pdf@escapename#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.escapename("\luaescapestring{#1}", "byte")%
+ }%
+}
+\long\def\pdf@escapenamenative#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.escapename("\luaescapestring{#1}")%
+ }%
+}
+\def\pdf@filesize#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.filesize("\luaescapestring{#1}")%
+ }%
+}
+\def\pdf@filemoddate#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.filemoddate("\luaescapestring{#1}")%
+ }%
+}
+\def\pdf@filedump#1#2#3{%
+ \directlua0{%
+ oberdiek.pdftexcmds.filedump("\luaescapestring{\number#1}",%
+ "\luaescapestring{\number#2}",%
+ "\luaescapestring{#3}")%
+ }%
+}%
+\long\def\pdf@mdfivesum#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.mdfivesum("\luaescapestring{#1}", "byte")%
+ }%
+}%
+\long\def\pdf@mdfivesumnative#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.mdfivesum("\luaescapestring{#1}")%
+ }%
+}%
+\def\pdf@filemdfivesum#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.filemdfivesum("\luaescapestring{#1}")%
+ }%
+}%
+\let\pdftexcmds@temp=Y%
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname protected\endcsname\relax
+ \pdftexcmds@directlua0{%
+ if tex.enableprimitives then %
+ tex.enableprimitives('', {'protected'})%
+ end%
+ }%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname protected\endcsname\relax
+ \let\pdftexcmds@temp=N%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname numexpr\endcsname\relax
+ \pdftexcmds@directlua0{%
+ if tex.enableprimitives then %
+ tex.enableprimitives('', {'numexpr'})%
+ end%
+ }%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname numexpr\endcsname\relax
+ \let\pdftexcmds@temp=N%
+\fi
+\ifx\pdftexcmds@temp N%
+ \@PackageWarningNoLine{pdftexcmds}{%
+ Definitions of \ltx@backslashchar pdf@resettimer and%
+ \MessageBreak
+ \ltx@backslashchar pdf@elapsedtime are skipped, because%
+ \MessageBreak
+ e-TeX's \ltx@backslashchar protected or %
+ \ltx@backslashchar numexpr are missing%
+ }%
+\else
+ \protected\def\pdf@resettimer{%
+ \pdftexcmds@directlua0{%
+ oberdiek.pdftexcmds.resettimer()%
+ }%
+ }%
+ \protected\def\pdf@elapsedtime{%
+ \numexpr
+ \pdftexcmds@directlua0{%
+ oberdiek.pdftexcmds.elapsedtime()%
+ }%
+ \relax
+ }%
+\fi
+\ifnum\luatexversion<68 %
+\else
+ \protected\edef\pdf@shellescape{%
+ \numexpr\directlua{tex.sprint(%
+ \number\catcodetable@string,status.shell_escape)}\relax}
+\fi
+\def\pdf@system#1{%
+ \directlua0{%
+ oberdiek.pdftexcmds.system("\luaescapestring{#1}")%
+ }%
+}
+\def\pdf@lastsystemstatus{%
+ \directlua0{%
+ oberdiek.pdftexcmds.lastsystemstatus()%
+ }%
+}
+\def\pdf@lastsystemexit{%
+ \directlua0{%
+ oberdiek.pdftexcmds.lastsystemexit()%
+ }%
+}
+\catcode`\0=12 %
+\ifnum0%
+ \pdftexcmds@directlua{%
+ if io.popen then %
+ tex.write("1")%
+ end%
+ }%
+ =1 %
+ \def\pdf@pipe#1{%
+& \romannumeral\expandafter\pdftexcmds@PatchDecode
+ \the\expandafter\pdftexcmds@toks
+ \pdftexcmds@directlua{%
+ oberdiek.pdftexcmds.toks="pdftexcmds@toks"%
+ oberdiek.pdftexcmds.pipe("\luaescapestring{#1}", \pdftexcmds@Patch)%
+ }%
+& \@nil
+ }%
+\fi
+\pdftexcmds@AtEnd%
+\endinput
+%%
+%% End of file `pdftexcmds.sty'.