Projekt

Allgemein

Profil

Herunterladen (21,2 KB) Statistiken
| Zweig: | Markierung: | Revision:
%% !!NOTE NOTE NOTE!!
%%
%% This is a modified version of `embedfile.sty' generated from a
%% modified `embedfile.dtx' incorporating the following pull request:
%% https://github.com/ho-tex/oberdiek/pull/72
%%
%% This PR adds support for creating PDF/A-compliant attachments. See
%% also the following issue:
%% https://github.com/ho-tex/oberdiek/issues/37
%%
%% !!END OF NOTE NOTE NOTE!!
%%
%%
%% This is file `embedfile.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% embedfile.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% Project: embedfile
%% Version: 2018/11/01 v2.8
%%
%% Copyright (C) 2006-2011 by
%% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
%%
%% 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
%% http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
%% This Current Maintainer of this work is Heiko Oberdiek.
%%
%% 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 embedfile.dtx
%% and the derived files
%% embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
%% dtx-attach.sty, embedfile-example-plain.tex,
%% embedfile-example-collection.tex, embedfile-test1.tex,
%% embedfile-test2.tex, embedfile-test3.tex,
%% embedfile-test4.tex.
%%
\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@embedfile.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{embedfile}{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@embedfile.sty\endcsname
\ProvidesPackage{embedfile}%
[2018/11/01 v2.8 Embed files into PDF (HO)]%
\begingroup\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode123=1 % {
\catcode125=2 % }
\catcode64=11 % @
\def\x{\endgroup
\expandafter\edef\csname EmFi@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\EmFi@AtEnd{%
\EmFi@AtEnd
\catcode#1=\the\catcode#1\relax
}%
\catcode#1=#2\relax
}
\TMP@EnsureCode{39}{12}% '
\TMP@EnsureCode{40}{12}% (
\TMP@EnsureCode{41}{12}% )
\TMP@EnsureCode{44}{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{96}{12}% `
\edef\EmFi@AtEnd{\EmFi@AtEnd\noexpand\endinput}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\def\EmFi@RequirePackage#1[#2]{%
\input #1.sty\relax
}%
\else
\let\EmFi@RequirePackage\RequirePackage
\fi
\EmFi@RequirePackage{infwarerr}[2007/09/09]%
\def\EmFi@Error{%
\@PackageError{embedfile}%
}
\ifx\pdfextension\@undefined\else
\protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
\protected\def\pdfnames {\pdfextension names }
\protected\def\pdfobj {\pdfextension obj }
\let\pdfoutput \outputmode
\fi
\EmFi@RequirePackage{ifpdf}[2007/09/09]
\ifpdf
\else
\EmFi@Error{%
Missing pdfTeX in PDF mode%
}{%
Currently other drivers are not supported. %
Package loading is aborted.%
}%
\expandafter\EmFi@AtEnd
\fi%
\EmFi@RequirePackage{pdftexcmds}[2007/11/11]
\EmFi@RequirePackage{ltxcmds}[2010/03/01]
\EmFi@RequirePackage{kvsetkeys}[2010/03/01]
\EmFi@RequirePackage{kvdefinekeys}[2010/03/01]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@filesize\endcsname\relax
\EmFi@Error{%
Unsupported pdfTeX version%
}{%
At least version 1.30 is necessary. Package loading is aborted.%
}%
\expandafter\EmFi@AtEnd
\fi%
\EmFi@RequirePackage{pdfescape}[2007/11/11]
\def\EmFi@temp#1{%
\expandafter\EdefSanitize\csname EmFi@S@#1\endcsname{#1}%
}
\EmFi@temp{details}%
\EmFi@temp{tile}%
\EmFi@temp{hidden}%
\EmFi@temp{text}
\EmFi@temp{date}
\EmFi@temp{number}
\EmFi@temp{file}
\EmFi@temp{desc}
\EmFi@temp{afrelationship}
\EmFi@temp{moddate}
\EmFi@temp{creationdate}
\EmFi@temp{size}
\EmFi@temp{ascending}
\EmFi@temp{descending}
\EmFi@temp{true}
\EmFi@temp{false}
\ltx@newif\ifEmFi@collection
\ltx@newif\ifEmFi@sort
\ltx@newif\ifEmFi@visible
\ltx@newif\ifEmFi@edit
\ltx@newif\ifEmFi@item
\ltx@newif\ifEmFi@finished
\ltx@newif\ifEmFi@id
\def\EmFi@GlobalKey#1#2{%
\global\expandafter\let\csname KV@#1@#2\expandafter\endcsname
\csname KV@#1@#2\endcsname
}
\def\EmFi@GlobalDefaultKey#1#2{%
\EmFi@GlobalKey{#1}{#2}%
\global\expandafter\let
\csname KV@#1@#2@default\expandafter\endcsname
\csname KV@#1@#2@default\endcsname
}
\def\EmFi@DefineKey#1#2{%
\kv@define@key{EmFi}{#1}{%
\expandafter\def\csname EmFi@#1\endcsname{##1}%
}%
\expandafter\def\csname EmFi@#1\endcsname{#2}%
}
\EmFi@DefineKey{mimetype}{}
\EmFi@DefineKey{filespec}{\EmFi@file}
\EmFi@DefineKey{ucfilespec}{}
\EmFi@DefineKey{filesystem}{}
\EmFi@DefineKey{desc}{}
\EmFi@DefineKey{afrelationship}{}
\EmFi@DefineKey{stringmethod}{%
\ifx\pdfstringdef\@undefined
escape%
\else
\ifx\pdfstringdef\relax
escape%
\else
psd%
\fi
\fi
}
\kv@define@key{EmFi}{id}{%
\def\EmFi@id{#1}%
\EmFi@idtrue
}
\def\EmFi@defobj#1{%
\ifEmFi@id
\expandafter\xdef\csname EmFi@#1@\EmFi@id\endcsname{%
\the\pdflastobj\ltx@space 0 R%
}%
\fi
}
\def\embedfileifobjectexists#1#2{%
\expandafter\ifx\csname EmFi@#2@#1\endcsname\relax
\expandafter\ltx@secondoftwo
\else
\expandafter\ltx@firstoftwo
\fi
}
\def\embedfilegetobject#1#2{%
\embedfileifobjectexists{#1}{#2}{%
\csname EmFi@#2@#1\endcsname
}{%
0 0 R%
}%
}
\kv@define@key{EmFi}{view}[]{%
\EdefSanitize\EmFi@temp{#1}%
\def\EmFi@next{%
\global\EmFi@collectiontrue
}%
\ifx\EmFi@temp\ltx@empty
\let\EmFi@view\EmFi@S@details
\else\ifx\EmFi@temp\EmFi@S@details
\let\EmFi@view\EmFi@S@details
\else\ifx\EmFi@temp\EmFi@S@tile
\let\EmFi@view\EmFi@S@tile
\else\ifx\EmFi@temp\EmFi@S@hidden
\let\EmFi@view\EmFi@S@hidden
\else
\let\EmFi@next\relax
\EmFi@Error{%
Unknown value `\EmFi@temp' for key `view'.\MessageBreak
Supported values: `details', `tile', `hidden'.%
}\@ehc
\fi\fi\fi\fi
\EmFi@next
}
\EmFi@DefineKey{initialfile}{}
\def\embedfilesetup{%
\ifEmFi@finished
\def\EmFi@next##1{}%
\EmFi@Error{%
\string\embedfilefield\ltx@space after \string\embedfilefinish
}{%
The list of embedded files is already written.%
}%
\else
\def\EmFi@next{%
\kvsetkeys{EmFi}%
}%
\fi
\EmFi@next
}
\def\EmFi@schema{}
\gdef\EmFi@order{0}
\let\EmFi@@order\relax
\def\EmFi@fieldlist{}
\def\EmFi@sortcase{0}%
\def\embedfilefield#1#2{%
\ifEmFi@finished
\EmFi@Error{%
\string\embedfilefield\ltx@space after \string\embedfilefinish
}{%
The list of embedded files is already written.%
}%
\else
\global\EmFi@collectiontrue
\EdefSanitize\EmFi@key{#1}%
\expandafter\ifx\csname KV@EmFi@\EmFi@key.prefix\endcsname\relax
\begingroup
\count@=\EmFi@order
\advance\count@ 1 %
\xdef\EmFi@order{\the\count@}%
\let\EmFi@title\EmFi@key
\let\EmFi@type\EmFi@S@text
\EmFi@visibletrue
\EmFi@editfalse
\kvsetkeys{EmFiFi}{#2}%
\EmFi@convert\EmFi@title\EmFi@title
\xdef\EmFi@schema{%
\EmFi@schema
/\pdf@escapename{\EmFi@key}<<%
/Subtype/%
\ifx\EmFi@type\EmFi@S@date D%
\else\ifx\EmFi@type\EmFi@S@number N%
\else\ifx\EmFi@type\EmFi@S@file F%
\else\ifx\EmFi@type\EmFi@S@desc Desc%
\else\ifx\EmFi@type\EmFi@S@afrelationship AFRelationship%
\else\ifx\EmFi@type\EmFi@S@moddate ModDate%
\else\ifx\EmFi@type\EmFi@S@creationdate CreationDate%
\else\ifx\EmFi@type\EmFi@S@size Size%
\else S%
\fi\fi\fi\fi\fi\fi\fi
/N(\EmFi@title)%
\EmFi@@order{\EmFi@order}%
\ifEmFi@visible
\else
/V false%
\fi
\ifEmFi@edit
/E true%
\fi
>>%
}%
\let\do\relax
\xdef\EmFi@fieldlist{%
\EmFi@fieldlist
\do{\EmFi@key}%
}%
\ifx\EmFi@type\EmFi@S@text
\kv@define@key{EmFi}{\EmFi@key.value}{%
\EmFi@itemtrue
\def\EmFi@temp{##1}%
\EmFi@convert\EmFi@temp\EmFi@temp
\expandafter\def\csname EmFi@V@#1%
\expandafter\endcsname\expandafter{%
\expandafter(\EmFi@temp)%
}%
}%
\EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
\else\ifx\EmFi@type\EmFi@S@date
\kv@define@key{EmFi}{\EmFi@key.value}{%
\EmFi@itemtrue
\def\EmFi@temp{##1}%
\EmFi@convert\EmFi@temp\EmFi@temp
\expandafter\def\csname EmFi@V@#1%
\expandafter\endcsname\expandafter{%
\expandafter(\EmFi@temp)%
}%
}%
\EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
\else\ifx\EmFi@type\EmFi@S@number
\kv@define@key{EmFi}{\EmFi@key.value}{%
\EmFi@itemtrue
\expandafter\EdefSanitize\csname EmFi@V@#1\endcsname{ ##1}%
}%
\EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
\fi\fi\fi
\kv@define@key{EmFi}{\EmFi@key.prefix}{%
\EmFi@itemtrue
\expandafter\def\csname EmFi@P@#1\endcsname{##1}%
}%
\EmFi@GlobalKey{EmFi}{\EmFi@key.prefix}%
\kv@define@key{EmFiSo}{\EmFi@key}[ascending]{%
\EdefSanitize\EmFi@temp{##1}%
\ifx\EmFi@temp\EmFi@S@ascending
\def\EmFi@temp{true}%
\else\ifx\EmFi@temp\EmFi@S@descending
\def\EmFi@temp{false}%
\else
\def\EmFi@temp{}%
\EmFi@Error{%
Unknown sort order `\EmFi@temp'.\MessageBreak
Supported values: `\EmFi@S@ascending', %
`\EmFi@S@descending
}\@ehc
\fi\fi
\ifx\EmFi@temp\ltx@empty
\else
\xdef\EmFi@sortkeys{%
\EmFi@sortkeys
/\pdf@escapename{#1}%
}%
\ifx\EmFi@sortorders\ltx@empty
\global\let\EmFi@sortorders\EmFi@temp
\gdef\EmFi@sortcase{1}%
\else
\xdef\EmFi@sortorders{%
\EmFi@sortorders
\ltx@space
\EmFi@temp
}%
\xdef\EmFi@sortcase{2}%
\fi
\fi
}%
\EmFi@GlobalDefaultKey{EmFiSo}\EmFi@key
\endgroup
\else
\EmFi@Error{%
Field `\EmFi@key' is already defined%
}\@ehc
\fi
\fi
}
\kv@define@key{EmFiFi}{type}{%
\EdefSanitize\EmFi@temp{#1}%
\ifx\EmFi@temp\EmFi@S@text
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@date
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@number
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@file
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@desc
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@afrelationship
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@moddate
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@creationdate
\let\EmFi@type\EmFi@temp
\else\ifx\EmFi@temp\EmFi@S@size
\let\EmFi@type\EmFi@temp
\else
\EmFi@Error{%
Unknown type `\EmFi@temp'.\MessageBreak
Supported types: `text', `date', `number', `file',\MessageBreak
`desc', `afrelationship', `moddate', `creationdate', `size'%
}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi
}
\kv@define@key{EmFiFi}{title}{%
\def\EmFi@title{#1}%
}
\def\EmFi@setboolean#1#2{%
\EdefSanitize\EmFi@temp{#2}%
\ifx\EmFi@temp\EmFi@S@true
\csname EmFi@#1true\endcsname
\else
\ifx\EmFi@temp\EmFi@S@false
\csname EmFi@#1false\endcsname
\else
\EmFi@Error{%
Unknown value `\EmFi@temp' for key `#1'.\MessageBreak
Supported values: `true', `false'%
}\@ehc
\fi
\fi
}
\kv@define@key{EmFiFi}{visible}[true]{%
\EmFi@setboolean{visible}{#1}%
}
\kv@define@key{EmFiFi}{edit}[true]{%
\EmFi@setboolean{edit}{#1}%
}
\def\EmFi@sortkeys{}
\def\EmFi@sortorders{}
\def\embedfilesort{%
\kvsetkeys{EmFiSo}%
}
\def\embedfile{%
\ltx@ifnextchar[\EmFi@embedfile{\EmFi@embedfile[]}%
}
\def\EmFi@embedfile[#1]#2{%
\ifEmFi@finished
\EmFi@Error{%
\string\embedfile\ltx@space after \string\embedfilefinish
}{%
The list of embedded files is already written.%
}%
\else
\begingroup
\def\EmFi@file{#2}%
\kvsetkeys{EmFi}{#1}%
\expandafter\expandafter\expandafter
\ifx\expandafter\expandafter\expandafter
\\\pdf@filesize{\EmFi@file}\\%
\EmFi@Error{%
File `\EmFi@file' not found%
}{%
The unknown file is not embedded.%
}%
\else
\edef\EmFi@@filespec{%
\pdf@escapestring{\EmFi@filespec}%
}%
\ifx\EmFi@ucfilespec\ltx@empty
\let\EmFi@@ucfilespec\ltx@empty
\else
\EmFi@convert\EmFi@ucfilespec\EmFi@@ucfilespec
\fi
\ifx\EmFi@desc\ltx@empty
\let\EmFi@@desc\ltx@empty
\else
\EmFi@convert\EmFi@desc\EmFi@@desc
\fi
\ifx\EmFi@afrelationship\ltx@empty
\let\EmFi@@afrelationship\ltx@empty
\else
\EmFi@convert\EmFi@afrelationship\EmFi@@afrelationship
\fi
\ifEmFi@item
\let\do\EmFi@do
\immediate\pdfobj{%
<<%
\EmFi@fieldlist
>>%
}%
\edef\EmFi@ci{\the\pdflastobj}%
\fi
\immediate\pdfobj stream attr{%
/Type/EmbeddedFile%
\ifx\EmFi@mimetype\ltx@empty
\else
/Subtype/\pdf@escapename{\EmFi@mimetype}%
\fi
/Params<<%
/ModDate(\pdf@filemoddate{\EmFi@file})%
/Size \pdf@filesize{\EmFi@file}%
/CheckSum<\pdf@filemdfivesum{\EmFi@file}>%
>>%
}file{\EmFi@file}\relax
\EmFi@defobj{EmbeddedFile}%
\immediate\pdfobj{%
<<%
/Type/Filespec%
\ifx\EmFi@filesystem\ltx@empty
\else
/FS/\pdf@escapename{\EmFi@filesystem}%
\fi
/F(\EmFi@@filespec)%
\ifx\EmFi@@ucfilespec\ltx@empty
\else
/UF(\EmFi@@ucfilespec)%
\fi
\ifx\EmFi@@desc\ltx@empty
\else
/Desc(\EmFi@@desc)%
\fi
\ifx\EmFi@@afrelationship\ltx@empty
\else
/AFRelationship\EmFi@@afrelationship%
\fi
/EF<<%
/F \the\pdflastobj\ltx@space 0 R%
>>%
\ifEmFi@item
/CI \EmFi@ci\ltx@space 0 R%
\fi
>>%
}%
\EmFi@defobj{Filespec}%
\EmFi@add{%
\EmFi@@filespec
}{\the\pdflastobj\ltx@space 0 R}%
\fi
\endgroup
\fi
}
\def\EmFi@do#1{%
\expandafter\ifx\csname EmFi@P@#1\endcsname\relax
\expandafter\ifx\csname EmFi@V@#1\endcsname\relax
\else
/\pdf@escapename{#1}\csname EmFi@V@#1\endcsname
\fi
\else
/\pdf@escapename{#1}<<%
\expandafter\ifx\csname EmFi@V@#1\endcsname\relax
\else
/D\csname EmFi@V@#1\endcsname
\fi
/P(\csname EmFi@P@#1\endcsname)%
>>%
\fi
}
\def\EmFi@convert#1#2{%
\ifnum\pdf@strcmp{\EmFi@stringmethod}{psd}=0 %
\pdfstringdef\EmFi@temp{#1}%
\let#2\EmFi@temp
\else
\edef#2{\pdf@escapestring{#1}}%
\fi
}
\global\let\EmFi@list\ltx@empty
\def\EmFi@add#1#2{%
\begingroup
\ifx\EmFi@list\ltx@empty
\xdef\EmFi@list{\noexpand\do{#1}{#2}}%
\else
\def\do##1##2{%
\ifnum\pdf@strcmp{##1}{#1}>0 %
\edef\x{%
\toks@{%
\the\toks@%
\noexpand\do{#1}{#2}%
\noexpand\do{##1}{##2}%
}%
}%
\x
\def\do####1####2{%
\toks@\expandafter{\the\toks@\do{####1}{####2}}%
}%
\def\stop{%
\xdef\EmFi@list{\the\toks@}%
}%
\else
\toks@\expandafter{\the\toks@\do{##1}{##2}}%
\fi
}%
\def\stop{%
\xdef\EmFi@list{\the\toks@\noexpand\do{#1}{#2}}%
}%
\toks@{}%
\EmFi@list\stop
\fi
\endgroup
}
\def\embedfilefinish{%
\ifEmFi@finished
\EmFi@Error{%
Too many invocations of \string\embedfilefinish
}{%
The list of embedded files is already written.%
}%
\else
\ifx\EmFi@list\ltx@empty
\else
\global\EmFi@finishedtrue
\begingroup
\def\do##1##2{%
(##1)##2%
}%
\immediate\pdfobj{%
<<%
/Names[\EmFi@list]%
>>%
}%
\pdfnames{%
/EmbeddedFiles \the\pdflastobj\ltx@space 0 R%
}%
\endgroup
\begingroup
\def\do##1##2{%
\ltx@space##2%
}%
\immediate\pdfobj{%
[\EmFi@list]%
}%
\pdfcatalog{%
/AF \the\pdflastobj\ltx@space 0 R%
}%
\endgroup
\ifx\EmFi@initialfile\ltx@empty
\else
\EmFi@collectiontrue
\fi
\ifEmFi@collection
\ifx\EmFi@initialfile\ltx@empty
\let\EmFi@@initialfile\ltx@empty
\else
\edef\EmFi@@initialfile{%
\pdf@escapestring{\EmFi@initialfile}%
}%
\fi
\begingroup
\let\f=N%
\def\do##1##2{%
\def\x{##1}%
\ifx\x\EmFi@@initialfile
\let\f=Y%
\let\do\ltx@gobbletwo
\fi
}%
\EmFi@list
\expandafter\endgroup
\ifx\f Y%
\else
\@PackageWarningNoLine{embedfile}{%
Missing initial file `\EmFi@initialfile'\MessageBreak
among the embedded files%
}%
\let\EmFi@initialfile\ltx@empty
\let\EmFi@@initialfile\ltx@empty
\fi
\ifcase\EmFi@sortcase
\def\EmFi@temp{}%
\or
\def\EmFi@temp{%
/S\EmFi@sortkeys
/A \EmFi@sortorders
}%
\else
\def\EmFi@temp{%
/S[\EmFi@sortkeys]%
/A[\EmFi@sortorders]%
}%
\fi
\def\EmFi@@order##1{%
\ifnum\EmFi@order>1 %
/O ##1%
\fi
}%
\immediate\pdfobj{%
<<%
\ifx\EmFi@schema\ltx@empty
\else
/Schema<<\EmFi@schema>>%
\fi
\ifx\EmFi@@initialfile\ltx@empty
\else
/D(\EmFi@@initialfile)%
\fi
\ifx\EmFi@view\EmFi@S@tile
/View/T%
\else\ifx\EmFi@view\EmFi@S@hidden
/View/H%
\fi\fi
\ifx\EmFi@temp\ltx@empty
\EmFi@temp
\else
/Sort<<\EmFi@temp>>%
\fi
>>%
}%
\pdfcatalog{%
/Collection \the\pdflastobj\ltx@space0 R%
}%
\fi
\fi
\fi
}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname AtEndDocument\endcsname\relax
\else
\AtEndDocument{\embedfilefinish}%
\fi
\EmFi@AtEnd%
\endinput
%%
%% End of file `embedfile.sty'.
    (1-1/1)