diff options
Diffstat (limited to 'macros/latex/contrib')
145 files changed, 7594 insertions, 4640 deletions
diff --git a/macros/latex/contrib/codedescribe/README.md b/macros/latex/contrib/codedescribe/README.md new file mode 100644 index 0000000000..8045a1a210 --- /dev/null +++ b/macros/latex/contrib/codedescribe/README.md @@ -0,0 +1,90 @@ + +codedescribe / codelisting +========== + +These are expl3 based packages for LaTeX/expl3 code documetation. +### codedescribe + provides a series of macros/environments (similar to doc/docx/doc3) for package/classes documentantion +### codelisting + provides a few macros for LaTeX code listing/demo. + +They are designed to be 'as class independent as possible', +no assumption about underline macros is made. +Furthermore, it's assumed that *\maketitle* and the *abstract* environment +were modified by the underline class, so alternatives (based on the article class) are provided. + +For more details, see the documentation, +[codedescribe.pdf](http://mirrors.ctan.org/macros/latex/contrib/codedescribe/doc/codedescribe.pdf) + +-------------- + +## Requirements +* none besides a fairly recent LaTeX distribution as recent as 2022/06/01 +(with the new in kernel *\ProcessKeyOptions* and *\NewDocumentCommand*) + +## Installation +The stable version is available at [CTAN](https://ctan.org/pkg/codedescribe). + +## Usage +### Stable version +Just place +```latex + \usepackage{codedescribe} +``` + +in the preamble and compile away. + + +Be aware that options might change between versions, so you have to check them manually. + +## More Information and documentation +More Information can be found in the documentation; you can find a "bleeding edge" version +at [the github page](http://github.com/alceu-frigeri/codedescribe) + +## Contacting Author + +For bug reports and enhacement suggestions, the preferred way is to use +[the project's issue page](https://github.com/alceu-frigeri/codedescribe/issues). +Please be ready to provide an example code showing the bug, if any. + +Please do not use the issue page for generic help on how to use the package. + +* git: https://github.com/alceu-frigeri/codedescribe + +------------- +Copyright 2023 by Alceu Frigeri + + This work may be distributed and/or modified under the + conditions of + + * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), version 1.3c (or later), and/or + * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), version 3 (or later) + +This work has the LPPL maintenance status *maintained*. + +The Current Maintainer of this work is Alceu Frigeri + +------------- +## This work consists of the files + +* codelisting.sty + - set of macros to typeset and demonstrate LaTeX code + +* codedescribe.sty + - set of macros to document LaTeX packages + +* README.md (this file) + - quick introduction + +* codedescribe.tex + - package documentation + +* codedescribe.pdf + - documentation in PDF format + +------------- + +## Changelog + +* Version 1.0 (this) + - Initial release by CTAN diff --git a/macros/latex/contrib/codedescribe/doc/codedescribe.pdf b/macros/latex/contrib/codedescribe/doc/codedescribe.pdf Binary files differnew file mode 100644 index 0000000000..882a93affd --- /dev/null +++ b/macros/latex/contrib/codedescribe/doc/codedescribe.pdf diff --git a/macros/latex/contrib/codedescribe/doc/codedescribe.tex b/macros/latex/contrib/codedescribe/doc/codedescribe.tex new file mode 100644 index 0000000000..b16853b40a --- /dev/null +++ b/macros/latex/contrib/codedescribe/doc/codedescribe.tex @@ -0,0 +1,433 @@ +% !TEX program = pdflatex +% !TEX ext = --interaction=nonstopmode --enable-etex --enable-write18 +% !BIB program = none +%%%============================================================================== +%% Copyright 2022 by Alceu Frigeri +%% +%% This work may be distributed and/or modified under the conditions of +%% +%% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), +%% version 1.3c (or later), and/or +%% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), +%% version 3 (or later) +%% +%% This work has the LPPL maintenance status *maintained*. +%% +%% The Current Maintainer of this work is Alceu Frigeri +%% +%% This is version 1.0 (2023/05/11) +%% +%% The list of files that compose this work can be found in the README.md file at +%% https://ctan.org/pkg/democodetools +%% +%%%============================================================================== +%\documentclass[dctools,english]{ufrgscca} +\documentclass{article} +\RequirePackage[verbose,a4paper,marginparwidth=27.5mm,top=2.5cm,bottom=1.5cm,hmargin={40mm,20mm},marginparsep=2.5mm,columnsep=10mm,asymmetric]{geometry} +\usepackage{codedescribe} +\usepackage{enumitem} + +\begin{document} + +%%% TO BE DETERMINED !! \parindent +%%%\setlength\parindent{0pt} + +\tstitle{ + author={Alceu Frigeri\footnote{\tsverb{https://github.com/alceu-frigeri/codedescribe}}}, + date={2023/05/11}, + title={The codedescribe and codelisting Packages\break Version \PkgInfo{codedesc}{version}} + } + +\begin{typesetabstract} + +This documentation package is designed to be `as class independent as possible', depending only on \tsobj[pkg]{expl3,scontents,listing}. Unlike other packages of the kind, a minimal set of macros/commands/environments is defined: most/all defined commands have an 'object type' as a \tsobj[key]{keyval} parameter, allowing for an easy expansion mechanism (instead of the usual 'one set of macros/environments' for each object type). + +No assumption about page layout is made (besides `having a marginpar'), or underlying macros, so that it can be used with any document class. + +\end{typesetabstract} + +\tableofcontents + +%\setcodefmt{fontsize=\large} + +\section{Introduction} + +This package aims to document both \tsobj[code]{Document} level (i.e. final user) commands, as well \tsobj[code]{Package/Class} level commands. It's fully implemented using \tsobj[pkg]{expl3} syntax and structures, in special \tsobj[pkg]{l3coffins, l3seq, l3keys}. Besides those \tsobj[pkg]{scontents,listing} packages are used to typeset code snippets. + + +No other package/class is needed, any class can be used as the base one, which allows to demonstrate the documented commands with any desired layout. + +\tsobj[pkg]{codelisting} defines a few macros to display and demonstrate \LaTeX~ code (using \tsobj[pkg]{listings} and \tsobj[pkg]{scontents}), whilst \tsobj[pkg]{codedescribe} defines a series of macros to display/enumerate macros and environments (somewhat resembling the \tsobj[pkg]{doc3} style). + +\subsection{Single versus Multi-column Classes} +This package 'can' be used with multi-column classes, given that the \tsobj[code]{\linewidth,\columnsep} are defined appropriately. \tsobj{\linewidth} shall defaults to text/column real width, whilst \tsobj{\columnsep}, if needed (2 or more columns) shall be greater than \tsobj{\marginparwidth} plus \tsobj{\marginparsep}. + +\subsection{Current Version} +This doc regards to \tsobj[pkg]{codedescribe} version \PkgInfo{codedesc}{version}~ and \tsobj[pkg]{codelisting} version \PkgInfo{codedesc}{version}. Those two packages are fairly stable, and given the \tsobj[meta]{obj-type} mechanism (see below, \ref{obj-type-def}) it can be easily extended without changing it's interface. + +\section{codelisting Package} + +It requires two packages: \tsobj[pkg]{listings,scontents}, defines an environment: \tsobj[env]{codestore} and + 2 main commands: \tsobj[code]{\tscode,\tsdemo} and 1 auxiliary command: \tsobj{\setcodekeys}. + +\subsection{In Memory Code Storage} +Thanks to \tsobj[pkg]{scontents} (\tsobj[pkg]{expl3} based) it's possible to store \LaTeX~ code snippets in a \tsobj[pkg]{expl3} key. + + +\begin{codedescribe}[env,rulecolor=white]{codestore} + \begin{codesyntax} + \tsmacro{\begin{codestore}}[stcontents-keys]{} + \tsmacro{\end{codestore}}{} + \end{codesyntax} +This environment is an alias to \tsobj[env]{scontents} environment (from \tsobj[pkg]{scontents} package), all \tsobj[pkg]{scontents} keys are valid, with two additional ones: \tsobj[key]{st,store-at} which are aliases to the \tsobj[key]{store-env} key. If an 'isolated' \tsobj[key,meta]{st-name} is given (unknown \tsobj[key]{key}), it is assumed 'by Default' that the environment body shall be stored in it (for use with \tsobj[code]{\tscode,\tsdemo}). +\end{codedescribe} + + + +\subsection{Code Display/Demo} +\begin{codedescribe}{\tscode*,\tsdemo*} + \begin{codesyntax}% + \tsmacro{\tscode*}[code-keys]{st-name} + \tsmacro{\tsdemo*}[code-keys]{st-name} + \end{codesyntax} +\tsmacro{\tscode}{} just typesets \tsobj[meta]{st-name} (the key-name created with \tsobj[env]{stcode}), in verbatim mode with syntax highlight. The non-star version centers it and use just half of the base line. The star version uses the full text width. + +\tsmacro{\tsdemo*}{} first typesets \tsobj[meta]{st-name}, as above, then it \emph{executes} said code. The non-start versions place them side-by-side, whilst the star versions places one following the other. +\end{codedescribe} + + +For Example: + +\begin{codestore}[st=democodestore] + \begin{codestore}[stmeta] + Some \LaTeX~coding, for example: \ldots. + \end{codestore} + +This will just typesets \tsobj[key]{stmeta}: + +\tscode*[codeprefix={Sample Code:}] {stmeta} + +and this will demonstrate it, side by side with source code: + +\tsdemo[numbers=left,ruleht=0.5, + codeprefix={inner sample code}, + resultprefix={inner sample result}] {stmeta} +\end{codestore} + +\tsdemo*[emph2={tscode,tsdemo},emph={stmeta},keywd2={codestore}]{democodestore} + +\begin{codedescribe}{\setcodekeys} + \begin{codesyntax}% + \tsmacro{\setcodekeys}{code-keys} + \end{codesyntax} + +Instead of setting/defining \tsmeta{code-keys} per \tsmacro{\tscode}{}/\tsmacro{\tsdemo}{} call, one can set those \emph{globally}, better said, \emph{in the called context group} .\\ +\begin{tsremark}[N.B.:] +All \tsobj[code]{\tscode,\tsdemo} commands create a local group in which the \tsmeta{code-keys} are defined, and discarded once said local group is closed. \tsmacro{\setcodekeys}{} defines those keys in the \emph{current} context/group. +\end{tsremark} +\end{codedescribe} + + + + +\subsubsection{Code Keys} +Using a \tsobj[key]{key}\,=\tsobj[value]{value} syntax, one can fine tune \tsobj[pkg]{listings} syntax highlight. + +\begin{codedescribe}[key]{settexcs,texcs,texcsstyle} +\begin{codesyntax}% Also + \tsobj[key]{settexcs,settexcs2,settexcs3} + \tsobj[key]{texcs,texcs2,texcs3} + \tsobj[key]{texcsstyle,texcs2style,texcs3style} +\end{codesyntax} +Those define sets of \LaTeX~commands (csnames), the \tsobj[key]{set} variants initialize/redefine those sets (an empty list, clears the set), while the others extend those sets. The \tsobj[key]{style} ones redefines the command display style (an empty \tsobj[meta]{value} resets the style to it's default).\\ +\end{codedescribe} + +\begin{codedescribe}[key]{setkeywd,keywd,keywdstyle} +\begin{codesyntax} % + \tsobj[key]{setkeywd,setkeywd2,setkeywd3} + \tsobj[key]{keywd,keywd2,keywd3} + \tsobj[key]{keywdstyle,keywd2style,keywd3style} +\end{codesyntax} +Same for other \emph{keywords} sets.\\ +\end{codedescribe} + +\begin{codedescribe}[key]{setemph,emph,emphstyle} +\begin{codesyntax} % + \tsobj[key]{setemph,setemph2,setemph3} + \tsobj[key]{emph,emph2,emph3} + \tsobj[key]{emphstyle,emph2style,emph3style} +\end{codesyntax} +for some extra emphasis sets.\\ +\end{codedescribe} + +\begin{codedescribe}[key]{numbers,numberstyle} +\begin{codesyntax} % + \tsobj[key]{numbers,numberstyle} +\end{codesyntax} +\tsobj[key]{numbers} possible values are \tsobj[value]{none} (default) and \tsobj[value]{left} (to add tinny numbers to the left of the listing). With \tsobj[key]{numberstyle} one can redefine the numbering style.\\ +\end{codedescribe} + +\begin{codedescribe}[key]{stringstyle,codestyle} +\begin{codesyntax} % + \tsobj[key]{stringstyle,commentstyle} +\end{codesyntax} +to redefine \tsobj[key]{strings} and \tsobj[key]{comments} formatting style.\\ +\end{codedescribe} + +\begin{codedescribe}[key]{bckgndcolor} +\begin{codesyntax} % + \tsobj[key]{bckgndcolor} +\end{codesyntax} +to change the listing background's color.\\ +\end{codedescribe} + +\begin{codedescribe}[key]{codeprefix,resultprefix} +\begin{codesyntax} % + \tsobj[key]{codeprefix,resultprefix} +\end{codesyntax} +those set the \tsobj[key]{codeprefix} (default: \LaTeX~Code:) and \tsobj[key]{resultprefix} (default: \LaTeX~Result:) +\end{codedescribe} + +\begin{codedescribe}[key]{parindent} +\begin{codesyntax} % + \tsobj[key]{parindent} +\end{codesyntax} +Sets the indentation to be used when 'demonstrating' \LaTeXe code (\tsobj[code]{\tsdemo}). Defaults to whatever value \tsobj[code]{\parindent} was when the package was first loaded. +\end{codedescribe} + +\begin{codedescribe}[key]{ruleht} +\begin{codesyntax} % + \tsobj[key]{ruleht} +\end{codesyntax} +When typesetting the 'code demo' (\tsobj{\tsdemo}) a set of rules is drawn. The Default, 1, equals to \tsobj{\arrayrulewidth} (usually 0.4pt). +\end{codedescribe} + + + +\section{codedescribe Package} + +This package aims at minimizing the number of commands, having the object kind (if a macro, or a function, or environment, or variable, or key ...) as a parameter, allowing for a simple 'extension mechanism': other object types can be easily introduced without having to change, or add commands. + +\subsection{Package Options} +It has a single package option: +\begin{describelist}{option} +\describe{nolisting}{it will suppress the \tsobj[pkg]{codelisting} package load. In case it's not necessary or one wants to use a differen package for \LaTeX\ code listing.} +\end{describelist} + +\subsection{\tsobj[oarg]{obj-type} keys}\label{obj-type-def} + + +The current known Object Types (keys) are: +\begin{itemize}[noitemsep] +\item \tsobj[keys]{meta} for a 'general' case, +\item \tsobj[keys]{arg,marg,oarg,parg,xarg} for commands/functions arguments, +\item \tsobj[keys]{code,macro,function} for macros in general, +\item \tsobj[keys]{syntax} to describe/typeset code syntax, +\item \tsobj[keys]{key,keys,keyval,value,defaultval} to list keys, values, etc., +\item \tsobj[keys]{option} for package/macros options, +\item \tsobj[keys]{env} for environments, +\item \tsobj[keys]{pkg,pack} for packages. +\end{itemize} +% Besides those, for \tsmacro{\tsobj}{} one has \tsobj[keys]{sep,comma} keys to change the last 'connector term' (default: and) and \tsobj[keys]{rulecolor,new,update,note} to customize the \tsobj[env]{codedescribe} environment. +The format's defaults can be changed with \tsobj{\setcodefmt} + +\begin{codedescribe}[code]{\setcodefmt} +\begin{codesyntax} % + \tsmacro{\setcodefmt}{fmt-keys} +\end{codesyntax} +\tsobj[marg]{fmt-keys} are basically the same as above: +\begin{itemize}[noitemsep] + \item To change default colors: (note each group defines a single entry/alias) + \begin{itemize}[noitemsep] +\item \tsobj[keys,sep=or]{meta,marg,arg} , +\item \tsobj[keys,sep=or]{oarg,parg,xarg} , +\item \tsobj[keys,sep=or]{code,macro,function} , +\item \tsobj[keys,sep=or]{syntax} , +\item \tsobj[keys,sep=or]{key,keys,keyval,value} , +\item \tsobj[keys,sep=or]{defaultval} , +\item \tsobj[keys,sep=or]{option} , +\item \tsobj[keys,sep=or]{env} , +\item \tsobj[keys,sep=or]{pkg,pack} , +\item \tsobj[keys,sep=or]{allcolors} to set all colors at once, single value. + \end{itemize} +\item others + \begin{itemize} + \item \tsobj[keys]{font} to change font (default: \tsobj{\ttfamily}) + \item \tsobj[keys]{fontsize} to change size (default: \tsobj{\small}) + \item \tsobj[keys]{fontshape} to change the used 'slshape' (default: \tsobj{\slshape}) + \end{itemize} +\end{itemize} + +\end{codedescribe} + + + +\subsection{Environments} +\begin{codedescribe}[env,new=2023/05/01,update=2023/05/1,note={this is an example}]{codedescribe} +\begin{codesyntax} +\tsmacro{\begin{codedescribe}}[obj-type]{csv-list} +\ldots +\tsmacro{\end{codedescribe}}{} +\end{codesyntax} +This is the main environment to describe \tsobj[env]{Macros, Functions, Variable, Environments, etc.} \tsobj[meta]{csv-list} is typeset in the margin. The optional \tsobj[oarg]{obj-type} defines the object-type format. +\end{codedescribe} +\begin{tsremark} +One can change the rule color with the key \tsobj[keys]{rulecolor}, for instance \tsmacro{\begin{codedescribe}[rulecolor=white]}{} will remove the rules. +\end{tsremark} +\begin{tsremark} +Besides that, one can use the keys \tsobj[keys]{new,update,note} to further customize it as: \tsverb{\begin{codedescribe}[new=2023/05/01,update=2023/05/1,note={this is an example}]} +\end{tsremark} + + +\begin{codedescribe}[env]{codesyntax} +\begin{codesyntax} +\tsmacro{\begin{codesyntax}}{} +\end{codesyntax} +The \tsobj[env]{codesyntax} environment sets the fontsize and activates \tsmacro{\obeylines,\obeyspaces}{}, so one can list macros/cmds/keys use, one per line. + +\end{codedescribe} + +\begin{tsremark} +\tsobj[env]{codesyntax} environment shall appear only once, inside of a \tsobj[env]{codedescribe} environment. Take note, as well, this is not a verbatim environment! +%\begin{describelist*}{code} +%\describe{something}{ a text} +%\describe{some}{ some text} +%\end{describelist*} +% +\end{tsremark} + +For example, the code for \tsobj[env]{codedescribe} (entry above) is: + +\begin{codestore}[demoD] +\begin{codedescribe}[env,new=2023/05/01,update=2023/05/1,note={this is an example}]{codedescribe} + \begin{codesyntax} + \tsmacro{\begin{codedescribe}}[obj-type]{csv-list} + \ldots + \tsmacro{\end{codedescribe}}{} + \end{codesyntax} + This is the main ... +\end{codedescribe} +\end{codestore} + +\tscode*{demoD} + + + +\begin{codedescribe}[env]{describelist,describelist*} + \begin{codesyntax} +\tsmacro{\begin{describelist}}[item-indent]{obj-type} +..\tsmacro{\describe}{item-name,item-description} +..\tsmacro{\describe}{item-name,item-description} +\ldots +\tsmacro{\end{describelist}}{} + \end{codesyntax} +This sets a \tsobj[env]{description} like 'list'. In the non-star version the \tsobj[marg]{items-name} will be typeset on the marginpar. In the star version, \tsobj[marg]{item-description} will be indented by \tsobj[oarg]{item-indent} (defaults to: 20mm). +\tsobj[marg]{obj-type} defines the object-type format used to typeset \tsobj[marg]{item-name}. +\end{codedescribe} + +\begin{codedescribe}[code]{\describe} +\begin{codesyntax} +\tsmacro{\describe}{item-name,item-description} +\end{codesyntax} +This is the \tsobj[env]{describelist} companion macro. In case of the \tsobj[env]{describe*}, \tsobj[marg]{item-name} will be typeset in a box \tsobj[oarg]{item-ident} wide, so that \tsobj[marg]{item-description} will be fully indented, otherwise \tsobj[marg]{item-name} will be typed in the marginpar. +\end{codedescribe} + + +\subsection{Commands} + + +\begin{codedescribe}[code]{\typesetobj,\tsobj} +\begin{codesyntax} +\tsmacro{\typesetobj}[obj-type]{csv-list} +\tsmacro{\tsobj}[obj-type]{csv-list} +\end{codesyntax} +It can be used to typeset a single 'object' or a list thereof. In the case of a list, each term will be separated by commas. The last two by \tsobj[key]{sep} (defaults to: and). +\end{codedescribe} +\begin{tsremark} +One can change the last 'separator' with the key \tsobj[keys]{sep}, for instance \tsverb[code]{\tsobj[env,sep=or] {}} (in case one wants to produce an 'or' list of environments). Additionally, one can use the key \tsobj[keys]{comma} to change the last separator to a single comma, like \tsverb[code]{\tsobj[env,comma] {}}. +\end{tsremark} + +\begin{codedescribe}[code]{\typesetargs,\tsargs} +\begin{codesyntax} +\tsmacro{\typesetargs}[obj-type]{csv-list} +\tsmacro{\tsargs}[obj-type]{csv-list} +\end{codesyntax} + Those will typeset \tsobj[marg]{csv-list} as a list of parameters, like \tsargs[oarg]{arg1,arg2,arg3}, or \tsargs[marg]{arg1,arg2,arg3}, etc. \tsobj[oarg]{obj-type} defines the formating AND kind of braces used: \tsverb{[]} for optional arguments (oarg), \tsverb{{}} for mandatory arguments (marg), and so on. +\end{codedescribe} + + +\begin{codedescribe}[code]{\typesetmacro,\tsmacro} +\begin{codesyntax} +\tsmacro{\typesetmacro}{macro-list}\tsargs[oarg]{oargs-list}\tsargs[marg]{margs-list} +\tsmacro{\tsmacro}{macro-list}\tsargs[oarg]{oargs-list}\tsargs[marg]{margs-list} +\end{codesyntax} +This is just a short-cut for\par \tsobj[code]{\tsobj [code] {macro-list}} \tsobj[code]{\tsargs [oarg] {oargs-list}} \tsobj[code]{\tsargs [marg] {margs-list}}. +\end{codedescribe} + +\begin{codedescribe}[code]{\typesetmeta,\tsmeta} +\begin{codesyntax} +\tsmacro{\typesetmeta}{name} +\tsmacro{\tsmeta}{name} +\end{codesyntax} + Those will just typeset \tsobj[meta]{name} between left/right 'angles' (no other formatting). +\end{codedescribe} + +\begin{codedescribe}[code]{\typesetverb,\tsverb} +\begin{codesyntax} +\tsmacro{\typesetverb}[obj-type]{verbatim text} +\tsmacro{\tsverb}[obj-type]{verbatim text} +\end{codesyntax} + Typesets \tsobj[marg]{verbatim text} as is (verbatim...). \tsobj[oarg]{obj-type} defines the used format. +\end{codedescribe} + +\begin{codedescribe}[code]{\typesetmarginnote,\tsmarginnote} +\begin{codesyntax} +\tsmacro{\typesetmarginnote}{note} +\tsmacro{\tsmarginnote}{note} +\end{codesyntax} +Typesets a small note at the margin. +\end{codedescribe} + +\begin{codedescribe}[env]{tsremark} +\begin{codesyntax} +\tsmacro{\begin{tsremark}[NB]}{} +\tsmacro{\end{tsremark}}{} +\end{codesyntax} + The environment body will be typeset as a text note. \tsobj[oarg]{NB} (defaults to Note:) is the note begin (in boldface). For instance: + \begin{codestore}[demo.remark] + Sample text. Sample test. + \begin{tsremark}[N.B.] + This is an example. + \end{tsremark} + \end{codestore} + \tsdemo{demo.remark} +\end{codedescribe} + +\subsection{Auxiliar Command / Environment} +In case the used Document Class redefines the \tsobj[code]{\maketitle} command and/or \tsobj[env]{abstract} environment, alternatives are provided (based on the article class). + +\begin{codedescribe}[code]{typesettitle,tstitle} +\begin{codesyntax} +\tsmacro{\typesettitle}{title-keys} +\tsmacro{\tstitle}{title-keys} +\end{codesyntax} +This is based on the \tsobj[code]{\maketitle} from the \tsobj[pkg]{article} class. The \tsobj[marg]{title-keys} are: +\end{codedescribe} + +\begin{describelist}{key} +\describe{title}{The used title.} +\describe{author}{Author's name. It's possible to use \tsobj[code]{\footnote} command in it.} +\describe{date}{Title's date.} +\end{describelist} + +\begin{codedescribe}[env]{tsabstract} +\begin{codesyntax} +\tsmacro{\begin{tsabstract}}{} +\ldots +\tsmacro{\end{tsabstract}}{} +\end{codesyntax} +This is the \tsobj[env]{abstract} environment from the \tsobj[pkg]{article} class. +\end{codedescribe} + + +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/codedescribe/latex/codedescribe.sty b/macros/latex/contrib/codedescribe/latex/codedescribe.sty new file mode 100644 index 0000000000..370f01ba82 --- /dev/null +++ b/macros/latex/contrib/codedescribe/latex/codedescribe.sty @@ -0,0 +1,964 @@ +%%%============================================================================== +%% Copyright 2023 by Alceu Frigeri +%% +%% This work may be distributed and/or modified under the conditions of +%% +%% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), +%% version 1.3c (or later), and/or +%% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), +%% version 3 (or later) +%% +%% This work has the LPPL maintenance status *maintained*. +%% +%% The Current Maintainer of this work is Alceu Frigeri +%% +%% This is version 1.0.1beta (2023/05/11) +%% +%% The list of files that compose this work can be found in the README.md file at +%% https://ctan.org/pkg/codedescribe +%% +%%%============================================================================== +\NeedsTeXFormat{LaTeX2e}[2022/06/01] +\RequirePackage{ expl3 } +\ProvidesExplPackage + {codedescribe} + {2023/05/11} + {1.0} + {LaTeX Code Description/Documentation} + +\prop_if_exist:NTF \g__codedesc_pkg_prop + {} + { \prop_new:N \g__codedesc_pkg_prop } + +\prop_put_from_keyval:Nn \g__codedesc_pkg_prop + { + codedesc . name = codedescribe , + codedesc . prefix = codedesc , + codedesc . date = 2023/05/11 , + codedesc . version = 1.0 , + codedesc . description = LaTeX Code Description/Documentation + } + +\cs_gset:Npn \__codedesc_pkg_info:nn #1#2 + { + \prop_item:Nn \g__codedesc_pkg_prop {#1.#2} + } + +\cs_if_exist:NTF \PkgInfo + {} + { + \NewDocumentCommand \PkgInfo {mm} { \prop_item:Nn \g__codedesc_pkg_prop {#1.#2} } + } + + +\use:c {@reversemargintrue} + +\bool_new:N \l__codedesc_loadlisting_bool +\bool_set_true:N \l__codedesc_loadlisting_bool + +\keys_define:nn { codedescribe } +{ + nolisting.usage:n = general, + nolisting.bool_set_inverse:N = \l__codedesc_loadlisting_bool, + nolisting.default:n = {true}, +} +\ProcessKeyOptions [codedescribe ] + +\RequirePackage{xcolor} +\bool_if:nT {\l__codedesc_loadlisting_bool} + { + \RequirePackage{codelisting} + } + + +\cs_generate_variant:Nn \tl_set:Nn {Ne} + + + +%%%%%%% +%%% +%%% 'simplified' bold versions of \hline and \rule +%%% those don't peek ahead (to see if they are followed by another line) +%%% +%%%%%%% +\cs_new:Npn \__codedesc_hline:nnnn #1#2#3#4 {\noalign{#1\vskip #2\vskip 0pt\hrule height #3\arrayrulewidth\vskip #4\vskip 0pt}} +\cs_new:Npn \__codedesc_hline:nn #1#2 {\__codedesc_hline:nnnn {#1}{-0.5ex}{#2}{0.25ex}} +\cs_new:Npn \__codedesc_hline:n #1 {\__codedesc_hline:nnnn {#1}{-0.5ex}{2}{0.25ex}} +\cs_new:Npn \__codedesc_rule:n #1 {\hrule height #1\arrayrulewidth} +\cs_new:Npn \__codedesc_rule: {\hrule height 2\arrayrulewidth} + + + +%%%%%%% +%%% +%%% To get the 'real' columnwidth (multicolumn case) +%%% given the current \linewidth and \textwidth +%%% +%%%%%%% + +\dim_new:N \l__codedesc_linewidth_dim +\dim_new:N \l__codedesc_textcolwidth_dim + +\cs_new:Npn \__codedesc_set_textcolwidth: + { + \dim_compare:nNnTF {\linewidth} = {\l__codedesc_linewidth_dim} + {} + { +% \dim_set:Nn \l__codedesc_linewidth_dim {\linewidth} +% \fp_set:Nn \l_tmpa_fp {(\textwidth - \linewidth) / \textwidth} +% \dim_set:Nn \l__codedesc_textcolwidth_dim {\linewidth - \fp_use:N \l_tmpa_fp \columnsep} + + \dim_set:Nn \l__codedesc_textcolwidth_dim {\linewidth} + } + + } + +\colorlet{c__codedesc_none_color}{red!70!black} + +\bool_new:N \l__codedesc_descnotes_bool +\bool_new:N \l__codedesc_descdate_new_bool +\tl_new:N \l__codedesc_descdate_new_tl +\bool_new:N \l__codedesc_descdate_update_bool +\tl_new:N \l__codedesc_descdate_update_tl +\bool_new:N \l__codedesc_sidenote_bool +\tl_new:N \l__codedesc_sidenote_tl + + +\cs_new:Npn \__codedesc_keysmetadefaults:nn #1#2 + { + \tl_if_blank:nTF {#2} + { \keys_set:nn {codedesc / defaults} { #1 } } + { \keys_set:nn {codedesc / defaults} { #1 = {#2} } } + } + +\keys_define:nn { codedesc / defaults } +{ + meta.usage:n = general, + meta.code:n = { \colorlet{c__codedesc_marg_color}{#1} } , + meta.default:n = { gray!60!black } , + % + marg.usage:n = general, + marg.code:n = { \__codedesc_keysmetadefaults:nn {meta}{#1} } , + % + arg.usage:n = general, + arg.code:n = { \__codedesc_keysmetadefaults:nn {meta}{#1} } , + % + + oarg.usage:n = general, + oarg.code:n = { \colorlet{c__codedesc_oarg_color}{#1} } , + oarg.default:n = { gray!90!black } , + % + parg.usage:n = general, + parg.code:n = { \__codedesc_keysmetadefaults:nn {oarg}{#1} } , + % + xarg.usage:n = general, + xarg.code:n = { \__codedesc_keysmetadefaults:nn {oarg}{#1} } , + % + + code.usage:n = general, + code.code:n = { \colorlet{c__codedesc_code_color}{#1} } , + code.default:n = { blue!40!black } , + % + macro.usage:n = general, + macro.code:n = { \__codedesc_keysmetadefaults:nn {code}{#1} } , + % + function.usage:n = general, + function.code:n = { \__codedesc_keysmetadefaults:nn {code}{#1} } , + % + + syntax.usage:n = general, + syntax.code:n = { \colorlet{c__codedesc_syntax_color}{#1} } , + syntax.default:n = { blue!60!black } , + % + + keyval.usage:n = general, + keyval.code:n = { \colorlet{c__codedesc_keyval_color}{#1} } , + keyval.default:n = { teal!40!black } , + % + key.usage:n = general, + key.code:n = { \__codedesc_keysmetadefaults:nn {keyval}{#1} } , + % + keys.usage:n = general, + keys.code:n = { \__codedesc_keysmetadefaults:nn {keyval}{#1} } , + % + value.usage:n = general, + value.code:n = { \__codedesc_keysmetadefaults:nn {keyval}{#1} } , + % + + option.usage:n = general, + option.code:n = { \colorlet{c__codedesc_options_color}{#1} } , + option.default:n = { green!30!black } , + % + + defaultval.usage:n = general, + defaultval.code:n = { \colorlet{c__codedesc_defaultval_color}{#1} } , + defaultval.default:n = { blue!60!black } , + % + + env.usage:n = general, + env.code:n = { \colorlet{c__codedesc_env_color}{#1} } , + env.default:n = { green!30!black } , + % + + pkg.usage:n = general, + pkg.code:n = { \colorlet{c__codedesc_pkg_color}{#1} } , + pkg.default:n = { green!30!black } , + % + pack.usage:n = general, + pack.code:n = { \__codedesc_keysmetadefaults:nn {pkg}{#1} } , + % + + allcolors.usage:n = general, + allcolors.meta:n = + { + meta = {#1} , + oarg = {#1} , + code = {#1} , + syntax = {#1} , + keyval = {#1} , + option = {#1} , + defaultval = {#1} , + env = {#1} , + pkg = {#1} , + } , + allcolors.default:n = { black } , + + font.usage:n = general , + font.code:n = { \tl_set:Nn \__codedesc_metafont_tl: {#1} } , + font.default:n = { \ttfamily } , + + fontsize.usage:n = general , + fontsize.code:n = { \tl_set:Nn \__codedesc_metasize_tl: {#1} } , + fontsize.default:n = { \small } , + + fontshape.usage:n = general , + fontshape.code:n = { \tl_set:Nn \__codedesc_slshape_tl: {#1} } , + fontshape.default:n = { \slshape } , + + setdefaults.usage:n = general , + setdefaults.meta:n = { meta, oarg, code, syntax, keyval, option, defaultval, env, pkg , font, fontsize, fontshape} , + + unknown.usage:n = general, + unknown.code:n = + { }, % unknown keys are silently ignored... +} + +\keys_set:nn {codedesc / defaults}{setdefaults} + +\NewDocumentCommand \setcodefmt {m} { \keys_set:nn {codedesc / defaults}{#1}} + +\keys_define:nn { codedesc / format } +{ + meta.usage:n = general, + meta.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_marg_color} } + \tl_set:Nn \__codedesc_typeset_tl:n { \__codedesc_meta:n } + \tl_set:Nn \__codedesc_typeset_tl:o { \__codedesc_meta:o } + }, + marg.usage:n = general, + marg.meta:n = { meta } , + % + % + arg.usage:n = general, + arg.meta:n = { meta } , + % + + oarg.usage:n = general, + oarg.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_oarg_color} } + \tl_set:Nn \__codedesc_typeset_tl:n { \__codedesc_meta:n } + \tl_set:Nn \__codedesc_typeset_tl:o { \__codedesc_meta:o } + }, + % + parg.usage:n = general, + parg.meta:n = { oarg } , + % + xarg.usage:n = general, + xarg.meta:n = { oarg } , + % + + code.usage:n = general, + code.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_code_color} } + \tl_set:Nn \__codedesc_typeset_tl:n { \__codedesc_macro_typeset:n } + \tl_set:Nn \__codedesc_typeset_tl:o { \__codedesc_macro_typeset:o } + }, + % + macro.usage:n = general, + macro.meta:n = { code } , + % + function.usage:n = general, + function.meta:n = { code } , + % + + syntax.usage:n = general, + syntax.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_syntax_color} } + }, + % + + keyval.usage:n = general, + keyval.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_keyval_color} } + \tl_set:Nn \__codedesc_metashape_tl: { \__codedesc_slshape_tl: } + }, + % + key.usage:n = general, + key.meta:n = { keyval } , + % + keys.usage:n = general, + keys.meta:n = { keyval } , + % + value.usage:n = general, + value.meta:n = { keyval } , + % + + option.usage:n = general, + option.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_options_color} } + }, + % + + defaultval.usage:n = general, + defaultval.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_defaultval_color} } + }, + % + + env.usage:n = general, + env.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_env_color} } + \tl_set:Nn \__codedesc_metashape_tl: { \__codedesc_slshape_tl: } + }, + % + + pkg.usage:n = general, + pkg.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_pkg_color} } + \tl_set:Nn \__codedesc_metashape_tl: { \__codedesc_slshape_tl: } + }, + % + pack.usage:n = general, + pack.meta:n = { pkg } , + % + + sep.usage:n = general, + sep.code:n = + { + \tl_set:Nn \__codedesc_lastsep_tl { ~#1~ } + }, + % + comma.usage:n = general, + comma.code:n = + { + \tl_set:Nn \__codedesc_lastsep_tl { ,~ } + }, + % + rulecolor.usage:n = general, + rulecolor.code:n = + { + \tl_set:Nn \__codedesc_rulecolor_tl: { \color{#1} } + }, + % + new.usage:n = general, + new.code:n = + { + \bool_set_true:N \l__codedesc_descnotes_bool + \bool_set_true:N \l__codedesc_descdate_new_bool + \tl_set:Nn \l__codedesc_descdate_new_tl {#1} + }, + + update.usage:n = general, + update.code:n = + { + \bool_set_true:N \l__codedesc_descnotes_bool + \bool_set_true:N \l__codedesc_descdate_update_bool + \tl_set:Nn \l__codedesc_descdate_update_tl {#1} + }, + + note.usage:n = general, + note.code:n = + { + \bool_set_true:N \l__codedesc_descnotes_bool + \bool_set_true:N \l__codedesc_sidenote_bool + \tl_set:Nn \l__codedesc_sidenote_tl {#1} + }, + + unknown.usage:n = general, + unknown.code:n = + { + \tl_set:Nn \__codedesc_metacolor_tl: { \color{c__codedesc_none_color} } + }, + +} + +\cs_new:Npn \__codedesc_metafmt_set:n #1 + { + \tl_set:Nn \__codedesc_rulecolor_tl: { \__codedesc_metacolor_tl: } + \tl_set:Nn \__codedesc_metashape_tl: { } + \tl_set:Nn \__codedesc_typeset_tl:n { } + \tl_set:Nn \__codedesc_typeset_tl:o { \relax } + \tl_set:Nn \__codedesc_sep_tl {,\ } + \tl_set:Nn \__codedesc_lastsep_tl {\ and\ } + + \bool_set_false:N \l__codedesc_descnotes_bool + \bool_set_false:N \l__codedesc_descdate_new_bool + \bool_set_false:N \l__codedesc_descdate_update_bool + \bool_set_false:N \l__codedesc_sidenote_bool + + \keys_set:nn {codedesc / format}{#1} + } + +\cs_generate_variant:Nn \__codedesc_metafmt_set:n {o} + +\cs_new:Npn \__codedesc_metafmt:n #1 + { + \tl_set:Nn \__codedesc_rulecolor_tl: { \__codedesc_metacolor_tl: } + \tl_set:Nn \__codedesc_metashape_tl: { } + \tl_set:Nn \__codedesc_typeset_tl:n { } + \tl_set:Nn \__codedesc_typeset_tl:o { } + \tl_set:Nn \__codedesc_sep_tl {,\ } + \tl_set:Nn \__codedesc_lastsep_tl {\ and\ } + + \bool_set_false:N \l__codedesc_descnotes_bool + \bool_set_false:N \l__codedesc_descdate_new_bool + \bool_set_false:N \l__codedesc_descdate_update_bool + \bool_set_false:N \l__codedesc_sidenote_bool + + \keys_set:nn {codedesc / format}{#1} + %\tl_show:N \__codedesc_rulecolor_tl + \__codedesc_metafmt: + } + +\cs_generate_variant:Nn \__codedesc_metafmt:n {o} + + +\cs_new:Npn \__codedesc_metafmt: + { + \__codedesc_metacolor_tl: + \__codedesc_metasize_tl: + \__codedesc_metafont_tl: + \__codedesc_metashape_tl: + } + + +\keys_define:nn { codedesc / delimiters } +{ + oarg.usage:n = general, + oarg.code:n = + { + \tl_set:Nn \__codedesc_open_delimit_tl {[} + \tl_set:Nn \__codedesc_close_delimit_tl {]} + }, + marg.usage:n = general, + marg.code:n = + { + \tl_set:Nn \__codedesc_open_delimit_tl {\{} + \tl_set:Nn \__codedesc_close_delimit_tl {\}} + }, + parg.usage:n = general, + parg.code:n = + { + \tl_set:Nn \__codedesc_open_delimit_tl {(} + \tl_set:Nn \__codedesc_close_delimit_tl {)} + }, + % + xarg.usage:n = general, + xarg.code:n = + { + \tl_set:Nn \__codedesc_open_delimit_tl {<} + \tl_set:Nn \__codedesc_close_delimit_tl {>} + }, + % + meta.usage:n = general, + meta.code:n = + { + \tl_set:Nn \__codedesc_open_delimit_tl {} + \tl_set:Nn \__codedesc_close_delimit_tl {} + }, + % + unknown.usage:n = general, + unknown.code:n = + { +% \tl_set:Nn \__codedesc_open_delimit_tl {!} +% \tl_set:Nn \__codedesc_close_delimit_tl {!} + }, + % +} + + +%%%%%%% +%%% +%%% < meta > +%%% +%%%%%%% +\cs_new:Npn \__codedesc_meta:n #1 + { + \ensuremath\langle #1 \ensuremath\rangle + } + +\cs_generate_variant:Nn \__codedesc_meta:n {o} + +%%%%%%% +%%% +%%% < meta > 'detokenized' +%%% +%%%%%%% +\cs_new:Npn \__codedesc_meta*:n #1 + { + \ensuremath\langle \tl_to_str:n {#1} \ensuremath\rangle + } + + +\cs_generate_variant:cn {__codedesc_meta*:n} {o} + + + +\cs_new:Npn \__codedesc_macro_typeset:n #1 + { + \tl_set:Ne \l_tmpb_tl {\tl_to_str:n{#1}} + \regex_replace_all:nnN {\ }{} \l_tmpb_tl + \regex_replace_once:nnNTF {TF}{}\l_tmpb_tl + { + \l_tmpb_tl\textsl{\underline{TF}} + } + { \l_tmpb_tl } + } + +\cs_generate_variant:Nn \__codedesc_macro_typeset:n {o} + + + + + +\cs_new:Npn \__codedesc_list_typeset:nnn #1#2#3 + { + \seq_set_from_clist:Nn \l_tmpa_seq {#1} + \bool_set:Nn \l__codedesc_bool {\seq_if_empty_p:N \l_tmpa_seq} + \tl_set:Nn \l__codedesc_middle_tl {} + \tl_set:Nn \l__codedesc_lastone_tl {} + \bool_until_do:Nn \l__codedesc_bool + { + \seq_pop_left:NNTF \l_tmpa_seq \l_tmpa_tl + { + \seq_if_empty:NTF \l_tmpa_seq + { + \l__codedesc_lastone_tl + { + \__codedesc_metafmt: + \__codedesc_typeset_tl:o \l_tmpa_tl + } + \bool_set_true:N \l__codedesc_bool + } + { + \l__codedesc_middle_tl + { + \__codedesc_metafmt: + \__codedesc_typeset_tl:o \l_tmpa_tl + } + \tl_set:Nn \l__codedesc_middle_tl {#2} + \tl_set:Nn \l__codedesc_lastone_tl {#3} + } + } + {} + } + } + +\cs_generate_variant:Nn \__codedesc_list_typeset:nnn {noo} + + + + +\cs_new:Npn \__codedesc_args_typeset:nnnn #1#2#3#4 + { + \seq_set_from_clist:Nn \l_tmpa_seq {#3} + \group_begin: + \__codedesc_metafmt:n {#1} + \seq_map_inline:Nn \l_tmpa_seq {~\!\!#2 \__codedesc_meta:n {##1} #4 } + \group_end: + } + + +\bool_new:N \l__codedesc_longblock_bool +\coffin_new:N \l__codedesc_margin_coffin +\coffin_new:N \l__codedesc_text_coffin +\coffin_new:N \l__codedesc_syntax_coffin +\bool_new:N \l__codedesc_syntax_bool +\dim_new:N \l__codedesc_syntax_wd_dim +\dim_new:N \l__codedesc_margin_wd_dim + + + +%%%%%%%%%%%%%%%%%%% +%%%% +%%%% User/Document level commands +%%%% +%%%%%%%%%%%%%%%%%%% + + + +\NewDocumentEnvironment {codedescribe}{O{code}m} + { + \seq_set_from_clist:Nn \l_tmpa_seq {#2} + \__codedesc_set_textcolwidth: + \hcoffin_set:Nn \l__codedesc_margin_coffin + { + \__codedesc_metafmt:n {#1} + + \begin{tabular}{@{} l @{} } + \__codedesc_hline:nnnn {\__codedesc_rulecolor_tl:}{0.5ex}{2}{0.25ex} + \seq_map_inline:Nn \l_tmpa_seq { \__codedesc_typeset_tl:n {##1} \\ } + \bool_if:nTF {\l__codedesc_descnotes_bool} + { + \\[-2.5ex] + \__codedesc_hline:nnnn {\color{black}}{0.5ex}{0.25}{0.25ex} + + \bool_if:nT {\l__codedesc_descdate_new_bool} + {\scriptsize\color{black}new:~ \l__codedesc_descdate_new_tl\\} + \bool_if:nT {\l__codedesc_descdate_update_bool} + {\scriptsize\color{black}update:~ \l__codedesc_descdate_update_tl\\} + \bool_if:nT {\l__codedesc_sidenote_bool} + {\scriptsize\color{black}NB:~ \l__codedesc_sidenote_tl\\} + } + {} + \\[-2.5ex] + \__codedesc_hline:nnnn {\__codedesc_rulecolor_tl:}{-0.25ex}{2}{1ex} + \end{tabular} + } + \dim_set:Nn \l__codedesc_margin_wd_dim {\coffin_wd:N \l__codedesc_margin_coffin} + \bool_if:nTF { \dim_compare_p:nNn \l__codedesc_margin_wd_dim > \marginparwidth} + { + \bool_set_true:N \l__codedesc_longblock_bool + \dim_set:Nn \l__codedesc_syntax_wd_dim {\l__codedesc_textcolwidth_dim - (\l__codedesc_margin_wd_dim - \marginparwidth) } + } + { + \bool_set_false:N \l__codedesc_longblock_bool + \dim_set:Nn \l__codedesc_syntax_wd_dim {\l__codedesc_textcolwidth_dim} + } + \coffin_clear:N \l__codedesc_syntax_coffin + \bool_set_false:N \l__codedesc_syntax_bool + \vcoffin_set:Nnw \l__codedesc_text_coffin {\l__codedesc_textcolwidth_dim} + \setlength\parindent{0pt} + \begin{minipage}[t]{\l__codedesc_textcolwidth_dim} + } + { + \end{minipage} + \vcoffin_set_end: + \bool_if:NTF \l__codedesc_longblock_bool + { % __describeblock starting at marginpar + \coffin_join:NnnNnnnn \l__codedesc_syntax_coffin {l}{t} \l__codedesc_margin_coffin {r}{t} {-\marginparsep}{0pt} + \coffin_join:NnnNnnnn \l__codedesc_syntax_coffin {l}{b} \l__codedesc_text_coffin {l}{t} {\marginparwidth+\marginparsep}{0pt}%{-0.25\baselineskip} + \par\noindent + \coffin_typeset:Nnnnn \l__codedesc_syntax_coffin {l}{t} {-\marginparwidth-\marginparsep}{0pt} + } + { % __describeblock at marginpar + \coffin_attach:NnnNnnnn \l__codedesc_syntax_coffin {l}{t} \l__codedesc_margin_coffin {r}{t} {-\marginparsep}{0pt} + \coffin_join:NnnNnnnn \l__codedesc_syntax_coffin {l}{b} \l__codedesc_text_coffin {l}{t} {0pt}{0pt}%{-0.25\baselineskip} + \par\noindent + \coffin_typeset:Nnnnn \l__codedesc_syntax_coffin {l}{t} {0pt}{0pt} + } + \\[0.25\baselineskip] + } + + + +\NewDocumentEnvironment{codesyntax}{} + { + \vcoffin_gset:Nnw \l__codedesc_syntax_coffin {\l__codedesc_syntax_wd_dim} + \__codedesc_metafmt:n {syntax} + \hspace*{2em} %% !!! together with \parindent{-2em} + \begin{tabular} { @{} l @{} } + \__codedesc_hline:nnnn {\color{white}}{0.5ex}{2}{-1.5ex} + \__codedesc_metacolor_tl: + \begin{minipage}[t]{\l__codedesc_syntax_wd_dim} + \obeylines\obeyspaces\setlength\parindent{-2em} + } + { + \end{minipage}\\[-2.5ex] + \\ + \__codedesc_hline:nnnn {\color{white}}{0ex}{2}{1ex} + \end{tabular} + %\color{black} + \vcoffin_gset_end: + } + + +\coffin_new:N \__codedesc_describe_coffin +\dim_new:N \__codedesc_describelabel_wd_dim +\dim_new:N \__codedesc_describelist_wd_dim +\tl_new:N \__codedesc_join_tl: +\tl_new:N \__codedesc_ragged_tl: + + + + \NewDocumentEnvironment{describelist}{O{20mm}m} + { + %\vspace*{-1.5ex} + \mode_if_horizontal:TF + {\vspace*{-0.75ex}} + {} + \__codedesc_set_textcolwidth: + \coffin_clear:N \__codedesc_describe_coffin + \dim_set:Nn \__codedesc_describelabel_wd_dim {#1} + \dim_set:Nn \__codedesc_describelist_wd_dim {\l__codedesc_textcolwidth_dim} + \tl_set:Nn \__codedesc_join_tl: {\coffin_attach:NnnNnnnn} + \tl_set:Nn \__codedesc_ragged_tl: {\raggedleft} + \tl_set:Nn \__codedesc_listkind_tl {#2} + } + { +% \par\noindent\coffin_typeset:Nnnnn \__codedesc_describe_coffin {l}{t}{0pt}{10pt} + } + +\NewDocumentEnvironment{describelist*}{O{20mm}m} + { + %\vspace*{-1.5ex} + \mode_if_horizontal:TF + {\vspace*{-1ex}} + {} + \__codedesc_set_textcolwidth: + \coffin_clear:N \__codedesc_describe_coffin + \dim_set:Nn \__codedesc_describelabel_wd_dim {#1} + \dim_set:Nn \__codedesc_describelist_wd_dim {\l__codedesc_textcolwidth_dim - \__codedesc_describelabel_wd_dim -\marginparsep} + \tl_set:Nn \__codedesc_join_tl: {\coffin_join:NnnNnnnn} + \tl_set:Nn \__codedesc_ragged_tl: {} + \tl_set:Nn \__codedesc_listkind_tl {#2} + } + { +% \par\noindent\coffin_typeset:Nnnnn \__codedesc_describe_coffin {l}{t}{0pt}{10pt} + } + +\NewDocumentCommand \describe {mm} + { + + \hcoffin_set:Nn \l_tmpb_coffin + { + \__codedesc_metafmt:o { \__codedesc_listkind_tl } + \__codedesc_ragged_tl: \__codedesc_typeset_tl:n {#1} + } + + \dim_compare:nNnTF {\coffin_wd:N \l_tmpb_coffin} > {\__codedesc_describelabel_wd_dim} + { + \vcoffin_set:Nnn \l_tmpa_coffin + { \__codedesc_describelabel_wd_dim } + { ~\ ~ } + \coffin_attach:NnnNnnnn + \l_tmpa_coffin {r}{t} + \l_tmpb_coffin {r}{t} + {0pt}{0pt} + + } + { + \vcoffin_set:Nnn \l_tmpa_coffin + { \__codedesc_describelabel_wd_dim } + { + \__codedesc_metafmt:o { \__codedesc_listkind_tl } + \noindent\__codedesc_ragged_tl: \__codedesc_typeset_tl:n {#1} + } + } + + \vcoffin_set:Nnn \l_tmpb_coffin + { \__codedesc_describelist_wd_dim } + { + \noindent + \begin{minipage}[t]{ \__codedesc_describelist_wd_dim } + #2 + \end{minipage} + } + + + \__codedesc_join_tl: + \l_tmpb_coffin {l}{t} + \l_tmpa_coffin {r}{t} + {-\marginparsep}{0pt} + + \mode_if_horizontal:TF + { + \\ +% \tl_set:Nn \l_tmpa_tl {~\ ~} + } + { +% \tl_set:Nn \l_tmpa_tl {~\ ~} + } + \noindent%\vspace*{-1ex} + \coffin_typeset:Nnnnn + \l_tmpb_coffin {l}{t} {0pt}{0pt} + \\[-0.5\baselineskip] + + } + + + +\NewDocumentCommand \typesetmeta {m} {\__codedesc_meta:n {#1}} + +\cs_new_eq:NN \tsmeta \typesetmeta + + +\NewDocumentCommand \typesetargs {O{meta}m} + { + \keys_set:nn {codedesc / delimiters}{#1} + \__codedesc_args_typeset:nnnn {#1} \__codedesc_open_delimit_tl {#2} \__codedesc_close_delimit_tl + } + +\cs_new_eq:NN \tsargs \typesetargs + + + +\NewDocumentCommand \typesetmacro {mO{}m} + { + \__codedesc_metafmt_set:n {code} %.... argh! + \__codedesc_list_typeset:nnn{#1}{,~}{,~} +% \__codedesc_macro_typeset:n{#1} + \,\__codedesc_args_typeset:nnnn {oarg} [ {#2} ] + \__codedesc_args_typeset:nnnn {marg} \{ {#3} \} + } +\cs_new_eq:NN \tsmacro \typesetmacro + + +\NewDocumentCommand \typesetverb {O{code}m} + { + \group_begin: + \__codedesc_metafmt:n {#1} + \tl_to_str:n {#2} + \group_end: + } +\cs_new_eq:NN \tsverb \typesetverb + +\NewDocumentCommand \typesetobj {O{code}m} + { + \__codedesc_metafmt_set:n {#1} + \__codedesc_list_typeset:noo{#2}{\__codedesc_sep_tl}{\__codedesc_lastsep_tl} + } + +\cs_new_eq:NN \tsobj \typesetobj + + +\NewDocumentCommand \typesetmarginnote {m}{\marginpar{{\scriptsize\raggedleft #1 \par}}} +\cs_new_eq:NN \tsmarginnote \typesetmarginnote + + +\NewDocumentEnvironment {tsremark} {O{Note:}} + { +% \par\vspace*{0.5\baselineskip} + \mode_if_horizontal:TF + {\par\vspace*{0.25\baselineskip}}%\vspace*{-1.5ex}} + {\vspace*{0.75\baselineskip}} + \__codedesc_set_textcolwidth: + \group_begin: + \noindent\hspace{0.2\l__codedesc_textcolwidth_dim} + \begin{minipage}{0.8\l__codedesc_textcolwidth_dim} + \setlength\parindent{0pt}\small + \textsl{\textbf{#1}} %\dim_to_decimal:n {\linewidth} + } + { + \end{minipage} + \group_end: + \par + } + + +%%%% ARGH !!!! + +\keys_define:nn { codedesc / title } + { + title .usage:n = general , + title .tl_set:N = \l__codedesc_title_tl , + + author .usage:n = general , + author .tl_set:N = \l__codedesc_author_tl , + + date .usage:n = general , + date .tl_set:N = \l__codedesc_descdate_tl , + + abstract .usage:n = general , + abstract .tl_set:N = \l__codedesc_abstract_tl , + } + + +\cs_new:Npn \__codedesc_make_title: {% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE \l__codedesc_title_tl \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \l__codedesc_author_tl + \end{tabular}\par}% + \vskip 1em% + {\large \l__codedesc_descdate_tl}% + \end{center}% + \par + \vskip 1.5em +} + + +%%%ARGH !!!!! +%%% 'adapted' from 'abstract.cls' +%%% +%%% + +\makeatletter + + +\NewDocumentCommand \typesettitle {m} + { + \keys_set:nn {codedesc / title}{#1} + + \group_begin: + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \__codedesc_make_title: + \else + \twocolumn[\__codedesc_make_title:]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \__codedesc_make_title: + \fi + \thispagestyle{plain}\@thanks + \group_end: + } + +\cs_new_eq:NN \tstitle \typesettitle + + +\NewDocumentEnvironment{tsabstract}{} + { + \if@twocolumn + \section*{\abstractname}% + \else + \small + \begin{center}% + {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \quotation + \fi + } + { + \if@twocolumn\else\endquotation\fi + } +\cs_new_eq:NN \typesetabstract \tsabstract +\cs_new_eq:NN \endtypesetabstractend \endtsabstract + +\makeatother + + + diff --git a/macros/latex/contrib/codedescribe/latex/codelisting.sty b/macros/latex/contrib/codedescribe/latex/codelisting.sty new file mode 100644 index 0000000000..ede0132e3e --- /dev/null +++ b/macros/latex/contrib/codedescribe/latex/codelisting.sty @@ -0,0 +1,691 @@ +%%%============================================================================== +%% Copyright 2023 by Alceu Frigeri +%% +%% This work may be distributed and/or modified under the conditions of +%% +%% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), +%% version 1.3c (or later), and/or +%% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), +%% version 3 (or later) +%% +%% This work has the LPPL maintenance status *maintained*. +%% +%% The Current Maintainer of this work is Alceu Frigeri +%% +%% This is version 1.0 (2023/05/11) +%% +%% The list of files that compose this work can be found in the README.md file at +%% https://ctan.org/pkg/codedescribe +%% +%%%============================================================================== +\NeedsTeXFormat{LaTeX2e}[2022/06/01] + +\RequirePackage{ expl3 } +\ProvidesExplPackage + {codelisting} + {2023/05/11} + {1.0} + {LaTeX Code Listing} + +\prop_if_exist:NTF \g__codedesc_pkg_prop + {} + { \prop_new:N \g__codedesc_pkg_prop } + +\prop_put_from_keyval:Nn \g__codedesc_pkg_prop + { + codelist . name = codelisting , + codelist . prefix = codelist , + codelist . date = 2023/05/11 , + codelist . version = 1.0 , + codelist . description = LaTeX Code Listing + } + +\cs_gset:Npn \__codedesc_pkg_info:nn #1#2 + { + \prop_item:Nn \g__codedesc_pkg_prop {#1.#2} + } + +\RequirePackage{listings,scontents} + + + +\dim_new:N \l__codelist_demo_parindent_dim +\dim_new:N \l__codelist_org_parindent_dim + +\dim_set:Nn\l__codelist_org_parindent_dim{\parindent} + + +\colorlet{c__codelist_lightcyan_color}{white!97!cyan} +\colorlet{c__codelist_lightgray_color}{white!97!black} +\definecolor{c__codelist_grayblack_color}{rgb}{0.8,0.8,0.8} + +\colorlet{c__codelist_darkred_color}{red!45!black!100} +\colorlet{c__codelist_darkgreen_color}{green!45!black!100} +\colorlet{c__codelist_darkblue_color}{blue!40!black!100} +\colorlet{c__codelist_darkmagenta_color}{magenta!45!black!100} +\colorlet{c__codelist_darkyellow_color}{yellow!45!black!100} +\colorlet{c__codelist_darkteal_color}{teal!45!black!100} + +\colorlet{c__codelist_redishblack_color}{red!60!black!100} +\colorlet{c__codelist_greenishblack_color}{green!65!black!100} +\colorlet{c__codelist_blueishblack_color}{blue!85!black!100} +\colorlet{c__codelist_magentaishblack_color}{magenta!65!black!100} +\colorlet{c__codelist_yellowishblack_color}{yellow!65!black!100} +\colorlet{c__codelist_tealishblack_color}{teal!65!black!100} + +\colorlet{c__codelist_redblack_color}{red!90!black!100} +\colorlet{c__codelist_greenblack_color}{green!90!black!100} +\colorlet{c__codelist_blueblack_color}{blue!90!black!100} +\colorlet{c__codelist_magentablack_color}{magenta!90!black!100} +\colorlet{c__codelist_yellowblack_color}{yellow!80!black!100} +\colorlet{c__codelist_tealblack_color}{teal!90!black!100} + +\colorlet{c__codelist_gray_color}{gray} + +\tl_set:Nn \l__codelist_bckgnd_color_default_tl{c__codelist_lightgray_color}% +\tl_set:Nn \l__codelist_string_color_default_tl{c__codelist_darkteal_color} +\tl_set:Nn \l__codelist_comment_color_default_tl{c__codelist_darkgreen_color} + +\tl_set:Nn \l__codelist_texcs_color_default_tl{c__codelist_darkblue_color} +\tl_set:Nn \l__codelist_keywd_color_default_tl{c__codelist_darkgreen_color} +\tl_set:Nn \l__codelist_emph_color_default_tl{c__codelist_darkred_color} + +\tl_set:Nn \l__codelist_texcsB_color_default_tl{c__codelist_blueishblack_color} +\tl_set:Nn \l__codelist_keywdB_color_default_tl{c__codelist_greenishblack_color} +\tl_set:Nn \l__codelist_emphB_color_default_tl{c__codelist_redishblack_color} + +\tl_set:Nn \l__codelist_texcsC_color_default_tl{c__codelist_blueblack_color} +\tl_set:Nn \l__codelist_keywdC_color_default_tl{c__codelist_greenblack_color} +\tl_set:Nn \l__codelist_emphC_color_default_tl{c__codelist_redblack_color} + +\tl_set:Nn \l__codelist_rule_color_default_tl{c__codelist_gray_color} +\tl_set:Nn \l__codelist_number_color_default_tl{c__codelist_gray_color} + +\keys_define:nn {CodeListingOptions} { + settexcs .usage:n = general, + settexcs .code:n = { \tl_set:Nn \l__codelist_texcs_tl {#1} }, + settexcs .default:n = , + + texcs .usage:n = general, + texcs .code:n = { \tl_put_right:Nn \l__codelist_texcs_tl { , #1} }, + texcs .default:n = , + + texcsstyle .usage:n = general, + texcsstyle .code:n = { \tl_set:Nn \l__codelist_texcsstyle_tl {#1} }, + texcsstyle .default:n = \bfseries\color{ \l__codelist_texcs_color_default_tl }, + + + settexcs2 .usage:n = general, + settexcs2 .code:n = { \tl_set:Nn \l__codelist_texcsB_tl {#1} }, + settexcs2 .default:n = , + + texcs2 .usage:n = general, + texcs2 .code:n = { \tl_put_right:Nn \l__codelist_texcsB_tl { , #1} }, + texcs2 .default:n = , + + texcs2style .usage:n = general, + texcs2style .code:n = { \tl_set:Nn \l__codelist_texcsBstyle_tl {#1} }, + texcs2style .default:n = \bfseries\color{ \l__codelist_texcs_color_default_tl } , + + + settexcs3 .usage:n = general, + settexcs3 .code:n = { \tl_set:Nn \l__codelist_texcsC_tl {#1} }, + settexcs3 .default:n = , + + texcs3 .usage:n = general, + texcs3 .code:n = { \tl_put_right:Nn \l__codelist_texcsC_tl { , #1} }, + texcs3 .default:n = , + + texcs3style .usage:n = general, + texcs3style .code:n = { \tl_set:Nn \l__codelist_texcsCstyle_tl {#1} }, + texcs3style .default:n = \bfseries\color{ \l__codelist_texcsC_color_default_tl } , + + + setkeywd .usage:n = general, + setkeywd .code:n = { \tl_set:Nn \l__codelist_keywd_tl {#1} }, + setkeywd .default:n = , + + keywd .usage:n = general, + keywd .code:n = { \tl_put_right:Nn \l__codelist_keywd_tl { , #1} }, + keywd .default:n = , + + keywdstyle .usage:n = general, + keywdstyle .code:n = { \tl_set:Nn \l__codelist_keywdstyle_tl {#1} }, + keywdstyle .default:n = \bfseries\color{ \l__codelist_keywd_color_default_tl } , + + setkeywd2 .usage:n = general, + setkeywd2 .code:n = { \tl_set:Nn \l__codelist_keywdB_tl {#1} }, + setkeywd2 .default:n = , + + keywd2 .usage:n = general, + keywd2 .code:n = { \tl_put_right:Nn \l__codelist_keywdB_tl { , #1} }, + keywd2 .default:n = , + + keywd2style .usage:n = general, + keywd2style .code:n = { \tl_set:Nn \l__codelist_keywdBstyle_tl {#1} }, + keywd2style .default:n = \bfseries\color{ \l__codelist_keywdB_color_default_tl } , + + setkeywd3 .usage:n = general, + setkeywd3 .code:n = { \tl_set:Nn \l__codelist_keywdC_tl {#1} }, + setkeywd3 .default:n = , + + keywd3 .usage:n = general, + keywd3 .code:n = { \tl_put_right:Nn \l__codelist_keywdC_tl { , #1} }, + keywd3 .default:n = , + + keywd3style .usage:n = general, + keywd3style .code:n = { \tl_set:Nn \l__codelist_keywdCstyle_tl {#1} }, + keywd3style .default:n = \bfseries\color{ \l__codelist_keywdC_color_default_tl } , + + setemph .usage:n = general, + setemph .code:n = { \tl_set:Nn \l__codelist_emph_tl {#1} }, + setemph .default:n = , + + emph .usage:n = general, + emph .code:n = { \tl_put_right:Nn \l__codelist_emph_tl { , #1} }, + emph .default:n = , + + emphstyle .usage:n = general, + emphstyle .code:n = { \tl_set:Nn \l__codelist_emphstyle_tl {#1} }, + emphstyle .default:n = \bfseries\color{ \l__codelist_emph_color_default_tl } , + + setemph2 .usage:n = general, + setemph2 .code:n = { \tl_set:Nn \l__codelist_emphB_tl {#1} }, + setemph2 .default:n = , + + emph2 .usage:n = general, + emph2 .code:n = { \tl_put_right:Nn \l__codelist_emphB_tl { , #1} }, + emph2 .default:n = , + + emph2style .usage:n = general, + emph2style .code:n = { \tl_set:Nn \l__codelist_emphBstyle_tl {#1} }, + emph2style .default:n = \bfseries\color{ \l__codelist_emphB_color_default_tl } , + + setemph3 .usage:n = general, + setemph3 .code:n = { \tl_set:Nn \l__codelist_emphC_tl {#1} }, + setemph3 .default:n = , + + emph3 .usage:n = general, + emph3 .code:n = { \tl_put_right:Nn \l__codelist_emphC_tl { , #1} }, + emph3 .default:n = , + + emph3style .usage:n = general, + emph3style .code:n = { \tl_set:Nn \l__codelist_emphCstyle_tl {#1} }, + emph3style .default:n = \bfseries\color{ \l__codelist_emphC_color_default_tl } , + + stringstyle .usage:n = general, + stringstyle .code:n = { \tl_set:Nn \l__codelist_stringstyle_tl {#1} }, + stringstyle .default:n = \color{ \l__codelist_string_color_default_tl } , + + commentstyle .usage:n = general, + commentstyle .code:n = { \tl_set:Nn \l__codelist_commentstyle_tl {#1} }, + commentstyle .default:n = \color{ \l__codelist_comment_color_default_tl } , + + bckgndcolor .usage:n = general, + bckgndcolor .code:n = { \tl_set:Nn \l__codelist_bckgndcolor_tl {#1} }, + bckgndcolor .default:n = \color{ \l__codelist_bckgnd_color_default_tl } , + + rulecolor .usage:n = general, + rulecolor .code:n = { \tl_set:Nn \l__codelist_rulecolor_tl {#1} }, + rulecolor .default:n = \color{ \l__codelist_rule_color_default_tl } , + + numbers .usage:n = general, + numbers .code:n = { \tl_set:Nn \l__codelist_numbers_tl {#1} }, + numbers .default:n = none, + + numberstyle .usage:n = general, + numberstyle .code:n = { \tl_set:Nn \l__codelist_numberstyle_tl {#1} }, + numberstyle .default:n = \tiny\color{ \l__codelist_number_color_default_tl }, + + + parindent .usage:n = general, + parindent .code:n = { \dim_set:Nn\l__codelist_demo_parindent_dim{#1} }, + parindent .default:n = \l__codelist_org_parindent_dim, + + + codeprefix .usage:n = general, + codeprefix .code:n = { \tl_set:Nn \l__codelist_codeprefix_tl {#1} }, + codeprefix .default:n = \LaTeX\ Code:, + + resultprefix .usage:n = general, + resultprefix .code:n = { \tl_set:Nn \l__codelist_resultprefix_tl {#1} }, + resultprefix .default:n = \LaTeX\ Result:, + + ruleht .usage:n = general, + ruleht .code:n = { \tl_set:Nn \l__codelist_ruleheight_tl {#1} }, + ruleht .default:n = 1, + + default .usage:n = general, + default .meta:n = { + settexcs , texcsstyle , + settexcs2 , texcs2style , + settexcs3 , texcs3style , + setkeywd , keywdstyle , + setkeywd2 , keywd2style , + setkeywd3 , keywd3style , + setemph , emphstyle , + setemph2 , emph2style , + setemph3 , emph3style , + stringstyle , + commentstyle , + bckgndcolor , rulecolor , + numbers , numberstyle , + parindent , + codeprefix , resultprefix , + ruleht , + }, + +} + +\cs_new:Npn \__codelist_set_options:n #1 {\keys_set:nn {CodeListingOptions}{#1}} + +\__codelist_set_options:n{default} + + +%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%% +%%% +%%% From doctools.dtx file +%%% lstlistings 'definitions' +%%% +%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%% + +%%% listings +% +\lstdefinestyle{lstStyleDefault}{ + %%% appearance + ,basicstyle=\small\ttfamily % Standardschrift + %%% Space and placement + ,floatplacement=tbp % is used as float place specifier + ,aboveskip=\medskipamount % define the space above and + ,belowskip=\medskipamount % below displayed listings. + ,lineskip=0pt % specifies additional space between lines in listings. + ,boxpos=c % c,b,t + ,showlines=false % prints empty lines at the end of listings + %%% characters + ,extendedchars=true % allows or prohibits extended characters + % in listings, that means (national) + % characters of codes 128-255. + ,upquote=true % determines printing of quotes + ,tabsize=2, % chars of tab + ,showtabs=false % do not show tabs + ,showspaces=false % do not show spaces + ,showstringspaces=false % do not show blank spaces in string + %%% Line numbers + ,numbers=none % left, right, none + %%% Captions + ,numberbychapter=true % + ,captionpos=b % t,b + ,abovecaptionskip=\smallskipamount % the vertical space respectively above + ,belowcaptionskip=\smallskipamount % or below each caption + %%% Margins and line shape + ,linewidth=\linewidth % defines the base line width for listings. + ,xleftmargin=0pt % extra margins + ,xrightmargin=0pt % + ,resetmargins=false % indention from list environments like enumerate + % or itemize is reset, i.e. not used. + ,breaklines=true % line breaking of long lines. + ,breakatwhitespace=false % allows line breaks only at white space. + ,breakindent=0pt % is the indention of the second, third, ... + % line of broken lines. + ,breakautoindent=true % apply intendation + ,columns=flexible % + ,keepspaces=true % +} + + +\lstdefinestyle{lstDocStyleBase}{ + %%% base style + ,style=lstStyleDefault + + ,commentstyle=\slshape + %%% Line numbers + ,numbers=left % left, right, none + ,stepnumber=1 % seperation between numbers + ,numberfirstline=false % number first line always + % + ,numberstyle={\l__codelist_numberstyle_tl} % style of numbers + ,numbersep=5pt % distance to text + ,numberblanklines=true % + %%% language + ,language = [LaTeX]TeX + %%% commands + % LaTeX programming + ,moretexcs={setlength,usepackage,newcommand,renewcommand,providecommand,RequirePackage,SelectInputMappings,ifpdftex,ifpdfoutput,AtBeginEnvironment,ProvidesPackage}, + ,moretexcs={maketitle,text,includegraphics,chapter,section,subsection, + subsubsection,paragraph,textmu,enquote,blockquote,ding,mathds,ifcsdef,Bra,Ket,Braket,subcaption,lettrine,mdfsetup,captionof,listoffigures,listoftables,tableofcontents,appendix} + ,moretexcs={newcolumntype,rowfont,taburowcolors,rowcolor,rowcolors,bottomrule, + toprule,midrule,} + ,moretexcs={hypersetup} + ,moretexcs={gls,printglossary,glsadd,newglossaryentry,newacronym} + ,moretexcs={mainmatter,frontmatter,geometry,KOMAoptions,setkomafont,addtokomafont} + ,moretexcs={si,SI,sisetup,unit,unitfrac,micro} + ,moretexcs={newblock,ExecuteBibliographyOptions,addbibresource} + ,moretexcs={operatorname,frac,sfrac,dfrac,DeclareMathOperator,mathcal,underset} + ,moretexcs={democodefile,package,cs,command,env,DemoError,PrintDemo} + ,moretexcs={theadstart,tbody,tsubheadstart,tsubhead,tend} + ,moretexcs={DefineCodeSection,SetCodeSection,BeginCodeSection,EndCodeSection} + ,moretexcs={IfDefined,IfUndefined,IfElseDefined,IfElseUndefined,IfMultDefined,IfNotDraft,IfNotDraftElse,IfDraft,IfPackageLoaded,IfElsePackageLoaded,IfPackageNotLoaded,IfPackagesLoaded,IfPackagesNotLoaded,ExecuteAfterPackage,ExecuteBeforePackage,IfTikzLibraryLoaded,IfColumntypeDefined,IfColumntypesDefined,IfColorDefined,IfColorsDefined,IfMathVersionDefined,SetTemplateDefinition,UseDefinition,IfFileExists,iflanguage} + ,moretexcs={setuptablefontsize,tablefontsize,setuptablestyle,tablestyle, setuptablecolor,tablecolor,disablealternatecolors, tablealtcolored,tbegin,tbody,tend,thead, theadstart,tsubheadstart,tsubhead,theadrow,tsubheadrow,resettablestyle,theadend,tsubheadend,tableitemize,PreserveBackslash} + ,moretexcs={todo,missingfigure} + ,moretexcs={lstloadlanguages,lstdefinestyle,lstset} + ,moretexcs={indexsetup} + ,moretexcs={newglossarystyle,glossarystyle,deftranslation,newglossary} + ,moretexcs={usetikzlibrary} + ,moretexcs={definecolor,colorlet} + ,moretexcs={captionsetup,DeclareCaptionStyle} + ,moretexcs={floatsetup} + ,moretexcs={EnableCrossrefs,DisableCrossrefs,PageIndex,CodelineIndex,CodelineNumbered} + ,moretexcs={cref,Cref,vref,eqnref,figref,tabref,secref,chapref} +} + +%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%% +%%% +%%% From doctools.dtx file +%%% lstlistings 'definitions' +%%% +%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%% + +\lstloadlanguages{[LaTeX]TeX} +\lstdefinestyle{codestyle}{ + style = lstDocStyleBase, + language = [LaTeX]{TeX}, + numbers = none, %\l__codelist_numbers_tl, + rulecolor = {\l__codelist_rulecolor_tl}, + backgroundcolor = {\l__codelist_bckgndcolor_tl}, + stringstyle = {\l__codelist_stringstyle_tl}, + commentstyle = {\l__codelist_commentstyle_tl}, + framerule = 0pt, %0.4pt, + nolol = true, + frame = none, + aboveskip = 0pt,%-2ex, + belowskip = 0pt,%-2ex, + basicstyle = \footnotesize\ttfamily , + rulesep = 0pt, + breaklines = true, + breakindent = 3em, + moretexcs = {\l__codelist_texcs_tl}, + moretexcs = [2] {\l__codelist_texcsB_tl}, + moretexcs = [3] {\l__codelist_texcsC_tl}, + texcsstyle = * {\l__codelist_texcsstyle_tl}, + texcsstyle = *[2] {\l__codelist_texcsBstyle_tl}, + texcsstyle = *[3] {\l__codelist_texcsCstyle_tl}, + morekeywords = {\l__codelist_keywd_tl}, + morekeywords = [2] {\l__codelist_keywdB_tl}, + morekeywords = [3] {\l__codelist_keywdC_tl}, + keywordstyle = {\l__codelist_keywdstyle_tl}, + keywordstyle = [2] {\l__codelist_keywdBstyle_tl}, + keywordstyle = [3] {\l__codelist_keywdCstyle_tl}, + emph = {\l__codelist_emph_tl}, + emph = [2] {\l__codelist_emphB_tl}, + emph = [3] {\l__codelist_emphC_tl}, + emphstyle = {\l__codelist_emphstyle_tl}, + emphstyle = [2] {\l__codelist_emphBstyle_tl}, + emphstyle = [3] {\l__codelist_emphCstyle_tl}, +} +\lstset{style=codestyle} + +\cs_generate_variant:Nn \keys_set:nn {nx} +%%% +%%% extending scontents package options !!!! +%%% changing it's default key handling from \msg_error to 'store-env'. +%%% +\keys_define:nn { scontents / scontents} + { + st.meta:nn = { scontents } { store-env = #1 }, + st.value_required:n = true, + store-at.meta:nn = { scontents } { store-env = #1 }, + store-at.value_required:n = true, + unknown . undefine: , + unknown . code:n = { \keys_set:nx {scontents}{ store-env = \l_keys_key_str} } + } + +\newenvsc{codestore} + + + +%%%%%%%%% +%%% +%%% yep, the <verbatimsc> environment gets redefined +%%% each and every time (to change the 'listings' defaults/highlights ! +%%% +%%% +%%%%%%%%% + +\cs_undefine:c{verbatimsc} +\cs_undefine:c{verbatimsc@@} +\cs_undefine:c{verbatimsc@} +\cs_undefine:c{endverbatimsc} +\lstnewenvironment{verbatimsc}{\lstset{style=codestyle}}{} + +\cs_new:Npn \__codelist_set_verbsc:n #1 + { + \cs_undefine:c{verbatimsc} + \cs_undefine:c{verbatimsc@@} + \cs_undefine:c{verbatimsc@} + \cs_undefine:c{endverbatimsc} + + \__codelist_set_options:n{#1} + + \lstnewenvironment{verbatimsc} + { + \exp_args:Ne \lstset + { + style=codestyle, + moretexcs = {\l__codelist_texcs_tl}, + moretexcs =[2] {\l__codelist_texcsB_tl}, + moretexcs =[3] {\l__codelist_texcsC_tl}, + morekeywords = {\l__codelist_keywd_tl}, + morekeywords =[2] {\l__codelist_keywdB_tl}, + morekeywords =[3] {\l__codelist_keywdC_tl}, + emph = {\l__codelist_emph_tl}, + emph =[2] {\l__codelist_emphB_tl}, + emph =[3] {\l__codelist_emphC_tl}, + numbers = \l__codelist_numbers_tl + } + } + {} + } + +%%% !!! DEPRECTAED !!! +\NewDocumentEnvironment {verbsc} {m} + { + \cs_undefine:c{verbatimsc} + \cs_undefine:c{verbatimsc@@} + \cs_undefine:c{verbatimsc@} + \cs_undefine:c{endverbatimsc} + + \__codelist_set_options:n{#1} + + \lstnewenvironment{verbatimsc} + { + \exp_args:Ne \lstset + { + style=codestyle, + moretexcs = {\l__codelist_texcs_tl}, + moretexcs =[2] {\l__codelist_texcsB_tl}, + moretexcs =[3] {\l__codelist_texcsC_tl}, + morekeywords = {\l__codelist_keywd_tl}, + morekeywords =[2] {\l__codelist_keywdB_tl}, + morekeywords =[3] {\l__codelist_keywdC_tl}, + emph = {\l__codelist_emph_tl}, + emph =[2] {\l__codelist_emphB_tl}, + emph =[3] {\l__codelist_emphC_tl}, + numbers = \l__codelist_numbers_tl + } + } + {} + } + { } %environment's end + + +\NewDocumentCommand \setcodekeys {m} + { + \keys_set:nn {CodeListingOptions}{#1} + } + +\NewDocumentCommand{\typesetcode}{sO{}m} + { + \__codedesc_set_textcolwidth: + \group_begin: + \par\noindent + \bool_if:nTF {#1} + { % paragraph wide + \dim_set:Nn \l__codedesc_width_dim {\l__codedesc_textcolwidth_dim} + \dim_set:Nn \l__codedesc_offset_dim {0pt} + } + { % half as wide + \dim_set:Nn \l__codedesc_width_dim {0.5\l__codedesc_textcolwidth_dim} + \dim_set:Nn \l__codedesc_offset_dim {0.5\l__codedesc_width_dim} + } + + \__codelist_set_verbsc:n {#2} + \vcoffin_set:Nnn \__codelist_display_label_coffin {\l__codedesc_width_dim} + { + \raggedright + \l__codelist_codeprefix_tl + } + \vcoffin_set:Nnn \__codelist_display_coffin {\l__codedesc_width_dim} + { + \raggedright + \typestored{#3} + } + \coffin_join:NnnNnnnn + \__codelist_display_label_coffin {l}{b} + \__codelist_display_coffin {l}{t} + {0pt}{-1ex} + \vspace*{-1ex} + \coffin_typeset:Nnnnn \__codelist_display_label_coffin {l}{t}{\l__codedesc_offset_dim}{0pt} + \vspace*{2ex} + \par + \group_end: + } + +\cs_new_eq:NN \tscode \typesetcode + + + +\coffin_new:N \__codelist_display_coffin +\coffin_new:N \__codelist_display_label_coffin +\coffin_new:N \__codelist_demo_coffin +\coffin_new:N \__codelist_demo_label_coffin + +\dim_new:N \l__codedesc_width_dim +\dim_new:N \l__codedesc_offset_dim + +\NewDocumentCommand{\typesetdemo}{sO{}mO{1ex}} + { + \__codedesc_set_textcolwidth: + \group_begin: + \par\setlength\parindent{0pt} + \bool_if:nTF {#1} + { % one below the other + \dim_set:Nn \l__codedesc_width_dim {\l__codedesc_textcolwidth_dim} + \tl_set:Nn \l__codedesc_rule_in_tl {\__codedesc_rule:n {\l__codelist_ruleheight_tl}} + \tl_set:Nn \l__codedesc_rule_out_tl {} + } + { % side-by-side + \dim_set:Nn \l__codedesc_width_dim {0.5\l__codedesc_textcolwidth_dim} + \tl_set:Nn \l__codedesc_rule_in_tl {} + \tl_set:Nn \l__codedesc_rule_out_tl {\__codedesc_rule:n {\l__codelist_ruleheight_tl}} + } + + \__codelist_set_verbsc:n {#2} + \vcoffin_set:Nnn \__codelist_display_label_coffin {\l__codedesc_width_dim} + { + \raggedright + \l__codelist_codeprefix_tl + } + \vcoffin_set:Nnn \__codelist_display_coffin {\l__codedesc_width_dim} + { + \raggedright\vspace*{0.1ex} + \typestored{#3} + } + + \vcoffin_set:Nnn \__codelist_demo_label_coffin {\l__codedesc_width_dim} + { + \raggedright + \l__codelist_resultprefix_tl + } + \vcoffin_set:Nnn \__codelist_demo_coffin {\l__codedesc_width_dim} + { + \l__codedesc_rule_in_tl + \group_begin:\vspace*{0.5\baselineskip}%\vspace*{-1ex} + \setlength\parindent{\l__codelist_demo_parindent_dim} + \getstored{#3}%\vspace*{-1ex} + \group_end: + \l__codedesc_rule_in_tl + } + + \bool_if:nTF {#1} + { % one below the other + \coffin_join:NnnNnnnn + \__codelist_display_label_coffin {l}{b} + \__codelist_display_coffin {l}{t} + {0pt}{-1ex} + \vspace*{-1ex} + \coffin_typeset:Nnnnn \__codelist_display_label_coffin {l}{t}{0pt}{0pt}\vspace*{1ex} + \par + \coffin_join:NnnNnnnn + \__codelist_demo_label_coffin {l}{b} + \__codelist_demo_coffin {l}{t} + {0pt}{-1ex} + \coffin_typeset:Nnnnn \__codelist_demo_label_coffin {l}{t}{0pt}{0pt} + \vspace*{\baselineskip} + %\vspace*{1ex} + } + { % side-by-side + \coffin_join:NnnNnnnn + \__codelist_display_label_coffin {r}{b} + \__codelist_demo_label_coffin {l}{b} + {0pt}{0pt} + \coffin_join:NnnNnnnn + \__codelist_display_coffin {r}{vc} + \__codelist_demo_coffin {l}{vc} + {0pt}{0pt} + + \coffin_typeset:Nnnnn \__codelist_display_label_coffin {l}{t}{0pt}{0pt}\vspace*{1ex}\par + \l__codedesc_rule_out_tl + \coffin_typeset:Nnnnn \__codelist_display_coffin {l}{t}{0pt}{0pt} + \vspace*{0.25ex} + \l__codedesc_rule_out_tl + \vspace*{\baselineskip} + } + \par + \group_end: + } + + +\cs_new_eq:NN \tsdemo \typesetdemo + +%%% +%%% Using scontents package !!!! +%%% + + +%%% +%%% from https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Encoding_issue +\lstset{literate= + {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 + {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 + {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 + {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 + {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 + {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 + {ã}{{\~{a}}}1 {õ}{{\~{o}}}1 + {Ã}{{\~{A}}}1 {Õ}{{\~{O}}}1 + {ý}{{\'{y}}}1 {Ý}{{\'{Y}}}1 {ÿ}{{\"{y}}}1 {Ÿ}{{\"{Y}}}1 + {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 + {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 + {€}{{\EUR}}1 {£}{{\pounds}}1 +} + + + + +\endinput diff --git a/macros/latex/contrib/l3experimental/CHANGELOG.md b/macros/latex/contrib/l3experimental/CHANGELOG.md index fa3928d933..e440354bfb 100644 --- a/macros/latex/contrib/l3experimental/CHANGELOG.md +++ b/macros/latex/contrib/l3experimental/CHANGELOG.md @@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2023-05-11] + +### Changed +- Track `expl3` core changes + ## [2023-04-19] ### Added @@ -270,7 +275,8 @@ this project uses date-based 'snapshot' version identifiers. - New `l3color` module using `xcolor`-like expression syntax - New `l3draw` module, based on `pgf` layer of the TikZ system -[Unreleased]: https://github.com/latex3/latex3/compare/2023-04-19...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2023-05-11...HEAD +[2023-05-11]: https://github.com/latex3/latex3/compare/2023-04-19...2023-05-11 [2023-04-19]: https://github.com/latex3/latex3/compare/2023-03-30...2023-04-19 [2023-03-30]: https://github.com/latex3/latex3/compare/2023-01-24...2023-03-30 [2023-01-24]: https://github.com/latex3/latex3/compare/2022-04-20...2023-01-24 diff --git a/macros/latex/contrib/l3experimental/README.md b/macros/latex/contrib/l3experimental/README.md index ebd40bba2e..fad6c09a3b 100644 --- a/macros/latex/contrib/l3experimental/README.md +++ b/macros/latex/contrib/l3experimental/README.md @@ -1,7 +1,7 @@ Experimental LaTeX3 Concepts ============================ -Release 2023-04-19 +Release 2023-05-11 Overview -------- diff --git a/macros/latex/contrib/l3experimental/l3benchmark.dtx b/macros/latex/contrib/l3experimental/l3benchmark.dtx index c8ea43e4ac..c02099765d 100644 --- a/macros/latex/contrib/l3experimental/l3benchmark.dtx +++ b/macros/latex/contrib/l3experimental/l3benchmark.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -122,7 +122,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3benchmark}{2023-04-19}{} +\ProvidesExplPackage{l3benchmark}{2023-05-11}{} {L3 Experimental benchmarking} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/l3benchmark.pdf b/macros/latex/contrib/l3experimental/l3benchmark.pdf Binary files differindex e82c024dac..c8c57e9169 100644 --- a/macros/latex/contrib/l3experimental/l3benchmark.pdf +++ b/macros/latex/contrib/l3experimental/l3benchmark.pdf diff --git a/macros/latex/contrib/l3experimental/l3bitset.dtx b/macros/latex/contrib/l3experimental/l3bitset.dtx index 5eaffe8772..c15e0288e2 100644 --- a/macros/latex/contrib/l3experimental/l3bitset.dtx +++ b/macros/latex/contrib/l3experimental/l3bitset.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % \begin{documentation} @@ -264,7 +264,7 @@ %<@@=bitset> % \end{macrocode} % \begin{macrocode} -\ProvidesExplPackage{l3bitset}{2023-04-19}{} +\ProvidesExplPackage{l3bitset}{2023-05-11}{} {L3 Experimental bitset support} % \end{macrocode} % A bitset is a string variable. diff --git a/macros/latex/contrib/l3experimental/l3bitset.pdf b/macros/latex/contrib/l3experimental/l3bitset.pdf Binary files differindex dfcf42b9ab..b7744fd2b6 100644 --- a/macros/latex/contrib/l3experimental/l3bitset.pdf +++ b/macros/latex/contrib/l3experimental/l3bitset.pdf diff --git a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx index b07d763e83..d8704e4545 100644 --- a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-code.pdf b/macros/latex/contrib/l3experimental/l3draw-code.pdf Binary files differindex bdac951ab3..4926dccaa7 100644 --- a/macros/latex/contrib/l3experimental/l3draw-code.pdf +++ b/macros/latex/contrib/l3experimental/l3draw-code.pdf diff --git a/macros/latex/contrib/l3experimental/l3draw-layers.dtx b/macros/latex/contrib/l3experimental/l3draw-layers.dtx index e72350c26a..0303081b15 100644 --- a/macros/latex/contrib/l3experimental/l3draw-layers.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-layers.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-paths.dtx b/macros/latex/contrib/l3experimental/l3draw-paths.dtx index d747daf2f8..702ef922f9 100644 --- a/macros/latex/contrib/l3experimental/l3draw-paths.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-paths.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-points.dtx b/macros/latex/contrib/l3experimental/l3draw-points.dtx index fea9203745..e858b98f10 100644 --- a/macros/latex/contrib/l3experimental/l3draw-points.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-points.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx index 2601b04f25..75b5238b38 100644 --- a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx index 3b1b4cdf07..867164c026 100644 --- a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-state.dtx b/macros/latex/contrib/l3experimental/l3draw-state.dtx index aa4b539157..fca6f78389 100644 --- a/macros/latex/contrib/l3experimental/l3draw-state.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-state.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx index bc15d518bd..901b0b6f84 100644 --- a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx +++ b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3experimental/l3draw.dtx b/macros/latex/contrib/l3experimental/l3draw.dtx index 8aafa2681e..7d4afed84f 100644 --- a/macros/latex/contrib/l3experimental/l3draw.dtx +++ b/macros/latex/contrib/l3experimental/l3draw.dtx @@ -110,7 +110,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -1173,7 +1173,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3draw}{2023-04-19}{} +\ProvidesExplPackage{l3draw}{2023-05-11}{} {L3 Experimental core drawing support} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/l3draw.pdf b/macros/latex/contrib/l3experimental/l3draw.pdf Binary files differindex b087608e83..81f9aa126c 100644 --- a/macros/latex/contrib/l3experimental/l3draw.pdf +++ b/macros/latex/contrib/l3experimental/l3draw.pdf diff --git a/macros/latex/contrib/l3experimental/l3galley.dtx b/macros/latex/contrib/l3experimental/l3galley.dtx index 5ad2b5c90e..a40688f42a 100644 --- a/macros/latex/contrib/l3experimental/l3galley.dtx +++ b/macros/latex/contrib/l3experimental/l3galley.dtx @@ -61,7 +61,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -686,7 +686,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3galley}{2023-04-19}{} +\ProvidesExplPackage{l3galley}{2023-05-11}{} {L3 Experimental galley code} % \end{macrocode} % @@ -1834,7 +1834,7 @@ \tex_parshape:D \int_min:nn { \seq_count:N #1 } { \seq_count:N #2 } \exp_stop_f: - \seq_mapthread_function:NNN #1 #2 + \seq_map_pairwise_function:NNN #1 #2 \@@_parshape_set_indents:nn } \cs_new:Npn \@@_parshape_set_indents:nn #1#2 diff --git a/macros/latex/contrib/l3experimental/l3galley.pdf b/macros/latex/contrib/l3experimental/l3galley.pdf Binary files differindex 0470a5b137..e0ca0b85d4 100644 --- a/macros/latex/contrib/l3experimental/l3galley.pdf +++ b/macros/latex/contrib/l3experimental/l3galley.pdf diff --git a/macros/latex/contrib/l3experimental/l3graphics.dtx b/macros/latex/contrib/l3experimental/l3graphics.dtx index 209660e870..3209e4793c 100644 --- a/macros/latex/contrib/l3experimental/l3graphics.dtx +++ b/macros/latex/contrib/l3experimental/l3graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -184,7 +184,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3graphics}{2023-04-19}{} +\ProvidesExplPackage{l3graphics}{2023-05-11}{} {L3 Experimental graphics inclusion support} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/l3graphics.pdf b/macros/latex/contrib/l3experimental/l3graphics.pdf Binary files differindex 3d5fb2bcc2..e51c8b2650 100644 --- a/macros/latex/contrib/l3experimental/l3graphics.pdf +++ b/macros/latex/contrib/l3experimental/l3graphics.pdf diff --git a/macros/latex/contrib/l3experimental/l3opacity.dtx b/macros/latex/contrib/l3experimental/l3opacity.dtx index 50dac87620..0412372235 100644 --- a/macros/latex/contrib/l3experimental/l3opacity.dtx +++ b/macros/latex/contrib/l3experimental/l3opacity.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -96,7 +96,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3opacity}{2023-04-19}{} +\ProvidesExplPackage{l3opacity}{2023-05-11}{} {L3 Experimental opacity support} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/l3opacity.pdf b/macros/latex/contrib/l3experimental/l3opacity.pdf Binary files differindex 967c1ca92f..8a1140d1cb 100644 --- a/macros/latex/contrib/l3experimental/l3opacity.pdf +++ b/macros/latex/contrib/l3experimental/l3opacity.pdf diff --git a/macros/latex/contrib/l3experimental/l3str-format.dtx b/macros/latex/contrib/l3experimental/l3str-format.dtx index 2616f41a68..af0ad23e9f 100644 --- a/macros/latex/contrib/l3experimental/l3str-format.dtx +++ b/macros/latex/contrib/l3experimental/l3str-format.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -166,7 +166,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3str-format}{2023-04-19}{} +\ProvidesExplPackage{l3str-format}{2023-05-11}{} {L3 Experimental string formatting} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/l3str-format.pdf b/macros/latex/contrib/l3experimental/l3str-format.pdf Binary files differindex d315eeffcd..5c7e16f870 100644 --- a/macros/latex/contrib/l3experimental/l3str-format.pdf +++ b/macros/latex/contrib/l3experimental/l3str-format.pdf diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.dtx b/macros/latex/contrib/l3experimental/l3sys-shell.dtx index f27e540563..dfc2fb188a 100644 --- a/macros/latex/contrib/l3experimental/l3sys-shell.dtx +++ b/macros/latex/contrib/l3experimental/l3sys-shell.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -151,7 +151,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3sys-shell}{2023-04-19}{} +\ProvidesExplPackage{l3sys-shell}{2023-05-11}{} {L3 Experimental system shell functions} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.pdf b/macros/latex/contrib/l3experimental/l3sys-shell.pdf Binary files differindex 81ed18d9eb..fb739697fd 100644 --- a/macros/latex/contrib/l3experimental/l3sys-shell.pdf +++ b/macros/latex/contrib/l3experimental/l3sys-shell.pdf diff --git a/macros/latex/contrib/l3experimental/xcoffins.dtx b/macros/latex/contrib/l3experimental/xcoffins.dtx index 49b65d6ff2..97f1432be0 100644 --- a/macros/latex/contrib/l3experimental/xcoffins.dtx +++ b/macros/latex/contrib/l3experimental/xcoffins.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -672,7 +672,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xcoffins}{2023-04-19}{} +\ProvidesExplPackage{xcoffins}{2023-05-11}{} {L3 Experimental design level coffins} % \end{macrocode} % diff --git a/macros/latex/contrib/l3experimental/xcoffins.pdf b/macros/latex/contrib/l3experimental/xcoffins.pdf Binary files differindex d5a1678b8f..f67094abd6 100644 --- a/macros/latex/contrib/l3experimental/xcoffins.pdf +++ b/macros/latex/contrib/l3experimental/xcoffins.pdf diff --git a/macros/latex/contrib/l3experimental/xgalley.dtx b/macros/latex/contrib/l3experimental/xgalley.dtx index f464ca8c02..c7731b0b66 100644 --- a/macros/latex/contrib/l3experimental/xgalley.dtx +++ b/macros/latex/contrib/l3experimental/xgalley.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-04-19} +% \date{Released 2023-05-11} % % \maketitle % @@ -731,7 +731,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xgalley}{2023-04-19}{} +\ProvidesExplPackage{xgalley}{2023-05-11}{} {L3 Experimental galley} \RequirePackage{xtemplate,l3galley} % \end{macrocode} diff --git a/macros/latex/contrib/l3experimental/xgalley.pdf b/macros/latex/contrib/l3experimental/xgalley.pdf Binary files differindex 26a7ab7d04..8fbd8fb0a0 100644 --- a/macros/latex/contrib/l3experimental/xgalley.pdf +++ b/macros/latex/contrib/l3experimental/xgalley.pdf diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md index 0960f6ff86..e973577cff 100644 --- a/macros/latex/contrib/l3kernel/CHANGELOG.md +++ b/macros/latex/contrib/l3kernel/CHANGELOG.md @@ -7,6 +7,21 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2023-05-11] + +### Added +- `\seq_map_pairwise_function:NNN` (renamed from `\seq_mapthread_function:NNN`) + +### Changed +- Moved `\seq_set_item:Nnn` to stable status +- Track seen filenames to improve performance of + `\file_full_name:n` and dependent file operations + +### Removed +- Experimental function `\seq_pop_item:NnN` from `l3candidates` +- Experimental function `\seq_mapthread_function:NNN` now renamed + `\seq_map_pairwise_function:NNN` + ## [2023-05-05] ### Added @@ -40,7 +55,7 @@ this project uses date-based 'snapshot' version identifiers. - `\tl_range_braced:Nnn` and `\tl_range_unbraced:Nnn` - Experimental functions now renamed - `\bool_case_true:n(TF)` (now `\bool_case:n(TF)`) - - `\flag_raise_if_clear:n` (now `\flag_raise_if_clear:n`) + - `\flag_raise_if_clear:n` (now `\flag_ensure_raised:n`) - `\iow_allow_break:` (now `\iow_wrap_allow_break:`) - Experimental functions moved to kernel-internal: - `\msg_log_eval:Nn` and `\msg_show_eval:Nn` @@ -1383,7 +1398,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2023-05-05...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2023-05-11...HEAD +[2023-05-11]: https://github.com/latex3/latex3/compare/2023-05-05...2023-05-11 [2023-05-05]: https://github.com/latex3/latex3/compare/2023-04-20...2023-05-05 [2023-04-20]: https://github.com/latex3/latex3/compare/2023-04-19...2023-04-20 [2023-04-19]: https://github.com/latex3/latex3/compare/2023-03-30...2023-04-19 diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md index 881c2bbcdc..14a42feda5 100644 --- a/macros/latex/contrib/l3kernel/README.md +++ b/macros/latex/contrib/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2023-05-05 +Release 2023-05-11 Overview -------- diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx index dcdb6a23fb..3b86288ffa 100644 --- a/macros/latex/contrib/l3kernel/expl3.dtx +++ b/macros/latex/contrib/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> %</driver|generic|package|2ekernel> -\def\ExplFileDate{2023-05-05}% +\def\ExplFileDate{2023-05-11}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf Binary files differindex 2204ca816f..0a40032cef 100644 --- a/macros/latex/contrib/l3kernel/expl3.pdf +++ b/macros/latex/contrib/l3kernel/expl3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf Binary files differindex 22387e6da0..f1d727899c 100644 --- a/macros/latex/contrib/l3kernel/interface3.pdf +++ b/macros/latex/contrib/l3kernel/interface3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex index 400116b4f8..5d53fcc74b 100644 --- a/macros/latex/contrib/l3kernel/interface3.tex +++ b/macros/latex/contrib/l3kernel/interface3.tex @@ -62,7 +62,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2023-05-05} +\date{Released 2023-05-11} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx index 7febaf4653..2440b8ea32 100644 --- a/macros/latex/contrib/l3kernel/l3basics.dtx +++ b/macros/latex/contrib/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx index e0846c06ec..7c5e8f5e66 100644 --- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx +++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx index 379f42e910..33b46834db 100644 --- a/macros/latex/contrib/l3kernel/l3box.dtx +++ b/macros/latex/contrib/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index 4c08d8e422..4bbdc84bbb 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % @@ -86,24 +86,6 @@ % % \section{Additions to \pkg{l3seq}} % -% \begin{function}[rEXP] -% { -% \seq_mapthread_function:NNN, \seq_mapthread_function:NcN, -% \seq_mapthread_function:cNN, \seq_mapthread_function:ccN -% } -% \begin{syntax} -% \cs{seq_mapthread_function:NNN} \meta{seq_1} \meta{seq_2} \meta{function} -% \end{syntax} -% Applies \meta{function} to every pair of items -% \meta{seq_1-item}--\meta{seq_2-item} from the two sequences, returning -% items from both sequences from left to right. The \meta{function} -% receives two \texttt{n}-type arguments for each iteration. The mapping -% terminates when -% the end of either sequence is reached (\emph{i.e.}~whichever sequence has -% fewer items determines how many iterations -% occur). -% \end{function} -% % \begin{function}{\seq_set_filter:NNn, \seq_gset_filter:NNn} % \begin{syntax} % \cs{seq_set_filter:NNn} \meta{sequence_1} \meta{sequence_2} \Arg{inline boolexpr} @@ -119,42 +101,6 @@ % \end{texnote} % \end{function} % -% \begin{function}[added = 2021-04-29, noTF] -% {\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn} -% \begin{syntax} -% \cs{seq_set_item:Nnn} \meta{seq~var} \Arg{int expr} \Arg{item} -% \cs{seq_set_item:NnnTF} \meta{seq~var} \Arg{int expr} \Arg{item} \Arg{true code} \Arg{false code} -% \end{syntax} -% Removes the item of \meta{sequence} at the position given by -% evaluating the \meta{int expr} and replaces it by -% \meta{item}. Items are indexed from $1$ on the left/top of the -% \meta{sequence}, or from $-1$ on the right/bottom. If the -% \meta{int expr} is zero or is larger (in absolute value) -% than the number of items in the sequence, the \meta{sequence} is not -% modified. In these cases, \cs{seq_set_item:Nnn} raises an error -% while \cs{seq_set_item:NnnTF} runs the \meta{false code}. In cases -% where the assignment was successful, \meta{true code} is run -% afterwards. -% \end{function} -% -% \begin{function}[added = 2021-04-28, noTF] -% {\seq_pop_item:NnN, \seq_pop_item:cnN, \seq_gpop_item:NnN, \seq_gpop_item:cnN} -% \begin{syntax} -% \cs{seq_pop_item:NnN} \meta{seq~var} \Arg{int expr} \Arg{tl~var} -% \cs{seq_pop_item:NnNTF} \meta{seq~var} \Arg{int expr} \Arg{tl~var} \Arg{true code} \Arg{false code} -% \end{syntax} -% Removes the \meta{item} at position \meta{int expr} in the -% \meta{sequence}, and places it in the \meta{token list variable}. -% Items are indexed from $1$ on the left/top of the \meta{sequence}, -% or from $-1$ on the right/bottom. If the position is zero or is -% larger (in absolute value) than the number of items in the sequence, -% the \meta{seq~var} is not modified, the \meta{token list} is set to -% the special marker \cs{q_no_value}, and the \meta{false code} is -% left in the input stream; otherwise the \meta{true code} is. The -% \meta{token list} assignment is local while the \meta{sequence} is -% assigned locally for |pop| or globally for |gpop| functions. -% \end{function} -% % \section{Additions to \pkg{l3tl}} % % \begin{function}[added = 2018-04-01]{\tl_build_begin:N, \tl_build_gbegin:N} @@ -241,53 +187,6 @@ %<@@=seq> % \end{macrocode} % -% \begin{macro} -% { -% \seq_mapthread_function:NNN, \seq_mapthread_function:NcN, -% \seq_mapthread_function:cNN, \seq_mapthread_function:ccN -% } -% \begin{macro} -% { -% \@@_mapthread_function:wNN, \@@_mapthread_function:wNw, -% \@@_mapthread_function:Nnnwnn -% } -% The idea is to first expand both sequences, adding the -% usual |{ ? \prg_break: } { }| to the end of each one. This is -% most conveniently done in two steps using an auxiliary function. -% The mapping then throws away the first tokens of |#2| and |#5|, -% which for items in both sequences are \cs{s_@@} -% \cs{@@_item:n}. The function to be mapped are then be applied to -% the two entries. When the code hits the end of one of the -% sequences, the break material stops the entire loop and tidy up. -% This avoids needing to find the count of the two sequences, or -% worrying about which is longer. -% \begin{macrocode} -\cs_new:Npn \seq_mapthread_function:NNN #1#2#3 - { \exp_after:wN \@@_mapthread_function:wNN #2 \s_@@_stop #1 #3 } -\cs_new:Npn \@@_mapthread_function:wNN \s_@@ #1 \s_@@_stop #2#3 - { - \exp_after:wN \@@_mapthread_function:wNw #2 \s_@@_stop #3 - #1 { ? \prg_break: } { } - \prg_break_point: - } -\cs_new:Npn \@@_mapthread_function:wNw \s_@@ #1 \s_@@_stop #2 - { - \@@_mapthread_function:Nnnwnn #2 - #1 { ? \prg_break: } { } - \s_@@_stop - } -\cs_new:Npn \@@_mapthread_function:Nnnwnn #1#2#3#4 \s_@@_stop #5#6 - { - \use_none:n #2 - \use_none:n #5 - #1 {#3} {#6} - \@@_mapthread_function:Nnnwnn #1 #4 \s_@@_stop - } -\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc , c , cc } -% \end{macrocode} -% \end{macro} -% \end{macro} -% % \begin{macro}{\seq_set_filter:NNn, \seq_gset_filter:NNn} % \begin{macro}{\@@_set_filter:NNNn} % Similar to \cs{seq_map_inline:Nn}, without a @@ -312,176 +211,6 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\@@_int_eval:w} -% Useful to more quickly go through items. -% \begin{macrocode} -\cs_new_eq:NN \@@_int_eval:w \tex_numexpr:D -% \end{macrocode} -% \end{macro} -% -% \begin{macro}[noTF]{\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn} -% \begin{macro}{\@@_set_item:NnnNN, \@@_set_item:nnNNNN, \@@_set_item_false:nnNNNN, \@@_set_item:nNnnNNNN} -% \begin{macro}[rEXP]{\@@_set_item:wn, \@@_set_item_end:w} -% The conditionals are distinguished from the |Nnn| versions by the -% last argument \cs{use_ii:nn} vs \cs{use_i:nn}. -% \begin{macrocode} -\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3 - { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn } -\cs_new_protected:Npn \seq_gset_item:Nnn #1#2#3 - { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_i:nn } -\cs_generate_variant:Nn \seq_set_item:Nnn { c } -\cs_generate_variant:Nn \seq_gset_item:Nnn { c } -\prg_new_protected_conditional:Npnn \seq_set_item:Nnn #1#2#3 { TF , T , F } - { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_ii:nn } -\prg_new_protected_conditional:Npnn \seq_gset_item:Nnn #1#2#3 { TF , T , F } - { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_ii:nn } -\prg_generate_conditional_variant:Nnn \seq_set_item:Nnn { c } { TF , T , F } -\prg_generate_conditional_variant:Nnn \seq_gset_item:Nnn { c } { TF , T , F } -% \end{macrocode} -% Save the item to be stored and evaluate the position and the sequence -% length only once. Then depending on the sign of the position, check -% that it is not bigger than the length (in absolute value) nor zero. -% \begin{macrocode} -\cs_new_protected:Npn \@@_set_item:NnnNN #1#2#3 - { - \tl_set:Nn \l_@@_internal_a_tl { \@@_item:n {#3} } - \exp_args:Nff \@@_set_item:nnNNNN - { \int_eval:n {#2} } { \seq_count:N #1 } #1 \use_none:nn - } -\cs_new_protected:Npn \@@_set_item:nnNNNN #1#2 - { - \int_compare:nNnTF {#1} > 0 - { \int_compare:nNnF {#1} > {#2} { \@@_set_item:nNnnNNNN { #1 - 1 } } } - { - \int_compare:nNnF {#1} < {-#2} - { - \int_compare:nNnF {#1} = 0 - { \@@_set_item:nNnnNNNN { #2 + #1 } } - } - } - \@@_set_item_false:nnNNNN {#1} {#2} - } -% \end{macrocode} -% If the position is not ok, \cs{@@_set_item_false:nnNNNN} calls an -% error or returns \texttt{false} (depending on the \cs{use_i:nn} vs -% \cs{use_ii:nn} argument mentioned above). -% \begin{macrocode} -\cs_new_protected:Npn \@@_set_item_false:nnNNNN #1#2#3#4#5#6 - { - #6 - { - \msg_error:nnxxx { seq } { item-too-large } - { \token_to_str:N #3 } {#2} {#1} - } - { \prg_return_false: } - } -\msg_new:nnnn { seq } { item-too-large } - { Sequence~'#1'~does~not~have~an~item~#3 } - { - An~attempt~was~made~to~push~or~pop~the~item~at~position~#3~ - of~'#1',~but~this~ - \int_compare:nTF { #3 = 0 } - { position~does~not~exist. } - { sequence~only~has~#2~item \int_compare:nF { #2 = 1 } {s}. } - } -% \end{macrocode} -% If the position is ok, \cs{@@_set_item:nNnnNNNN} makes the assignment -% and returns \texttt{true} (in the case of conditionnals). Here |#1| -% is an integer expression (position minus one), it needs to be -% evaluated. The sequence |#5| starts with \cs{s_@@} (even if empty), -% which stops the integer expression and is absorbed by it. The -% \cs{if_meaning:w} test is slightly faster than an integer test (but -% only works when testing against zero, hence the offset we chose in -% the position). When we are done skipping items, insert the saved -% item \cs{l_@@_internal_a_tl}. For |put| functions the last argument -% of \cs{@@_set_item_end:w} is \cs{use_none:nn} and it absorbs the -% item |#2| that we are removing: this is only useful for the |pop| -% functions. -% \begin{macrocode} -\cs_new_protected:Npn \@@_set_item:nNnnNNNN #1#2#3#4#5#6#7#8 - { - #7 #5 - { - \s_@@ - \exp_after:wN \@@_set_item:wn - \int_value:w \@@_int_eval:w #1 - #5 \s_@@_stop #6 - } - #8 { } { \prg_return_true: } - } -\cs_new:Npn \@@_set_item:wn #1 \@@_item:n #2 - { - \if_meaning:w 0 #1 \@@_set_item_end:w \fi: - \exp_not:n { \@@_item:n {#2} } - \exp_after:wN \@@_set_item:wn - \int_value:w \@@_int_eval:w #1 - 1 \s_@@ - } -\cs_new:Npn \@@_set_item_end:w #1 \exp_not:n #2 #3 \s_@@ #4 \s_@@_stop #5 - { - #1 - \exp_not:o \l_@@_internal_a_tl - \exp_not:n {#4} - #5 #2 - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}[noTF]{\seq_pop_item:NnN, \seq_pop_item:cnN, \seq_gpop_item:NnN, \seq_gpop_item:cnN} -% \begin{macro}{\@@_pop_item:NnNNN} -% The |NnN| versions simply call the conditionals, for which we will -% rely on the internals of \cs{seq_set_item:Nnn}. -% \begin{macrocode} -\cs_new_protected:Npn \seq_pop_item:NnN #1#2#3 - { \seq_pop_item:NnNTF #1 {#2} #3 { } { } } -\cs_new_protected:Npn \seq_gpop_item:NnN #1#2#3 - { \seq_gpop_item:NnNTF #1 {#2} #3 { } { } } -\cs_generate_variant:Nn \seq_pop_item:NnN { c } -\cs_generate_variant:Nn \seq_gpop_item:NnN { c } -\prg_new_protected_conditional:Npnn \seq_pop_item:NnN #1#2#3 { TF , T , F } - { \@@_pop_item:NnNN #1 {#2} #3 \__kernel_tl_set:Nx } -\prg_new_protected_conditional:Npnn \seq_gpop_item:NnN #1#2#3 { TF , T , F } - { \@@_pop_item:NnNN #1 {#2} #3 \__kernel_tl_gset:Nx } -\prg_generate_conditional_variant:Nnn \seq_pop_item:NnN { c } { TF , T , F } -\prg_generate_conditional_variant:Nnn \seq_gpop_item:NnN { c } { TF , T , F } -% \end{macrocode} -% Save in \cs{l_@@_internal_b_tl} the token list variable |#3| in -% which we will store the item. The \cs{@@_set_item:nnNNNN} auxiliary -% eventually inserts \cs{l_@@_internal_a_tl} in place of the item -% found in the sequence, so we empty that. Instead of the last -% argument \cs{use_i:nn} or \cs{use_ii:nn} used for |put| functions, -% we introduce \cs{@@_pop_item:nn}, which stores \cs{q_no_value} -% before calling its second argument -% (\cs{prg_return_true:}/\texttt{false:}) to end the conditional. The -% item found is passed to \cs{@@_pop_item_aux:w}, which interrupts the -% |x|-expanding sequence assignment and stores the item using the -% assignment function in \cs{l_@@_internal_b_tl}. -% \begin{macrocode} -\cs_new_protected:Npn \@@_pop_item:NnNN #1#2#3#4 - { - \tl_clear:N \l_@@_internal_a_tl - \tl_set:Nn \l_@@_internal_b_tl { \__kernel_tl_set:Nx #3 } - \exp_args:Nff \@@_set_item:nnNNNN - { \int_eval:n {#2} } { \seq_count:N #1 } - #1 \@@_pop_item_aux:w #4 \@@_pop_item:nn - } -\cs_new_protected:Npn \@@_pop_item:nn #1#2 - { - \if_meaning:w \prg_return_false: #2 - \l_@@_internal_b_tl { \exp_not:N \q_no_value } - \fi: - #2 - } -\cs_new:Npn \@@_pop_item_aux:w \@@_item:n #1 - { - \if_false: { \fi: } - \l_@@_internal_b_tl { \if_false: } \fi: \exp_not:n {#1} - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% % \subsection{Additions to \pkg{l3tl}} % % \subsubsection{Building a token list} diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx index e379c5406a..18dbc69238 100644 --- a/macros/latex/contrib/l3kernel/l3cctab.dtx +++ b/macros/latex/contrib/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx index 1aaeb46384..ff4f9f7197 100644 --- a/macros/latex/contrib/l3kernel/l3clist.dtx +++ b/macros/latex/contrib/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx index 0d64025010..66f601180d 100644 --- a/macros/latex/contrib/l3kernel/l3coffins.dtx +++ b/macros/latex/contrib/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx index a38773626f..e931d0b871 100644 --- a/macros/latex/contrib/l3kernel/l3color.dtx +++ b/macros/latex/contrib/l3kernel/l3color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx index b189c0e9ec..c0475ede4e 100644 --- a/macros/latex/contrib/l3kernel/l3debug.dtx +++ b/macros/latex/contrib/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx index 3e4bbca6d5..c1fe0db03a 100644 --- a/macros/latex/contrib/l3kernel/l3deprecation.dtx +++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % @@ -529,6 +529,13 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\seq_mapthread_function:NNN} +% \begin{macrocode} +\__kernel_patch_deprecation:nnNNpn { 2023-05-10 } { \seq_mapthread_function:NNN } +\cs_gset:Npn \seq_mapthread_function:NNN { \seq_map_pairwise_function:NNN } +% \end{macrocode} +% \end{macro} +% % \subsection{Deprecated \pkg{l3sys} functions} % % \begin{macrocode} diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx index c2b095f919..6056a215d0 100644 --- a/macros/latex/contrib/l3kernel/l3doc.dtx +++ b/macros/latex/contrib/l3kernel/l3doc.dtx @@ -85,7 +85,7 @@ and all files in that bundle must be distributed together. % require you to do updates, if the class changes.}} % % \author{\Team} -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % \maketitle % \tableofcontents % diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/contrib/l3kernel/l3doc.pdf Binary files differindex ee26574500..e4f681f131 100644 --- a/macros/latex/contrib/l3kernel/l3doc.pdf +++ b/macros/latex/contrib/l3kernel/l3doc.pdf diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx index 1431a78d3c..e58953c8bb 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.dtx +++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf Binary files differindex bd8eb0411e..194e4f8e35 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.pdf +++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx index 55f0b65159..8e6e06deeb 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx index 4d1b0660b7..c5e7fc1df7 100644 --- a/macros/latex/contrib/l3kernel/l3file.dtx +++ b/macros/latex/contrib/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % @@ -2815,8 +2815,8 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}[EXP]{\file_full_name:n, \@@_full_name:n} -% \begin{macro}[EXP]{\@@_full_name_aux:nn} +% \begin{macro}[EXP]{\file_full_name:n, \@@_full_name:n, \@@_full_name_aux:n} +% \begin{macro}[EXP]{\@@_full_name_auxi:nn, \@@_full_name_auxii:nn} % \begin{macro}[EXP]{\@@_full_name_aux:Nnn} % \begin{macro}[EXP]{\@@_full_name_aux:nN} % \begin{macro}[EXP]{\@@_full_name_aux:nnN} @@ -2849,9 +2849,40 @@ \cs_new:Npn \@@_full_name:n #1 { \tl_if_blank:nF {#1} - { \exp_args:Nne \@@_full_name_aux:nn {#1} { \@@_size:n {#1} } } + { \exp_args:Nne \@@_full_name_auxii:nn {#1} { \@@_full_name_aux:n {#1} } } } -\cs_new:Npn \@@_full_name_aux:nn #1 #2 +% \end{macrocode} +% To avoid repeated reading of files we need to cache the loading: +% this is important as the code here is used by \emph{all} file checks. +% The same marker is used in the \LaTeXe{} kernel, meaning that we get a +% double-saving with for example \cs{IfFileExists}. As this is all about +% performance, we use the low-level approach for the conditionals. For +% a file already seen, the size is reported as $-1$ so it's distinct from +% any non-cached ones. +% \begin{macrocode} +\cs_new:Npn \@@_full_name_aux:n #1 + { + \if_cs_exist:w @@_seen_ \tl_to_str:n {#1} : \cs_end: + -1 + \else: + \exp_args:Ne \@@_full_name_auxi:nn { \@@_size:n {#1} } {#1} + \fi: + } +% \end{macrocode} +% We will need the size of files later, and we have to avoid the +% \cs{scan_stop:} causing issues if we are raising the flag. Thus there is +% a slightly odd gobble here. +% \begin{macrocode} +\cs_new:Npn \@@_full_name_auxi:nn #1#2 + { + \if:w \scan_stop: #1 \scan_stop: + \else: + \exp_after:wN \use_none:n + \cs:w @@_seen_ \tl_to_str:n {#2} : \cs_end: + #1 + \fi: + } +\cs_new:Npn \@@_full_name_auxii:nn #1 #2 { \tl_if_blank:nTF {#2} { @@ -2873,7 +2904,7 @@ \cs_new:Npn \@@_full_name_aux:Nnn #1#2#3 { \exp_args:Ne \@@_full_name_aux:nN { \tl_to_str:n {#3} / #2 } #1 } \cs_new:Npn \@@_full_name_aux:nN #1 - { \exp_args:Nne \@@_full_name_aux:nnN {#1} { \@@_size:n {#1} } } + { \exp_args:Nne \@@_full_name_aux:nnN {#1} { \@@_full_name_aux:n {#1} } } \cs_new:Npn \@@_full_name_aux:nnN #1 #2 #3 { \tl_if_blank:nF {#2} @@ -2913,14 +2944,15 @@ { #1 #3 } } \cs_new:Npn \@@_ext_check:nnn #1 - { \exp_args:Nne \@@_ext_check:nnnn {#1} { \@@_size:n {#1} } } + { \exp_args:Nne \@@_ext_check:nnnn {#1} { \@@_full_name_aux:n {#1} } } \cs_new:Npn \@@_ext_check:nnnn #1#2#3#4 { \tl_if_blank:nTF {#2} {#3} { - \int_compare:nNnTF - {#4} = {#2} + \bool_lazy_or:nnTF + { \int_compare_p:nNn {#4} = {#2} } + { \int_compare_p:nNn {#2} = { -1 } } {#1} {#3} } diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx index 98f74360d0..581b7a7227 100644 --- a/macros/latex/contrib/l3kernel/l3flag.dtx +++ b/macros/latex/contrib/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx index 03c018eec4..1fcd33b8d9 100644 --- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx index dcd9442da6..b18b39218d 100644 --- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx index c9275deea4..635ebbcdde 100644 --- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx index a9cf9298e7..6eb83223ab 100644 --- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx index d80f06d201..99824f74a8 100644 --- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx index 1b87ecdc1b..ca1372da43 100644 --- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx index cdbdb96f77..ca76fecb2c 100644 --- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx index 4f745b04a3..d3969b735c 100644 --- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx index 94313834ba..76c797e2eb 100644 --- a/macros/latex/contrib/l3kernel/l3fp-random.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx index 4e0f7fcd8f..3ece03051c 100644 --- a/macros/latex/contrib/l3kernel/l3fp-round.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx index 6ece565727..7c2b5cf957 100644 --- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx index bb6192a8c8..991a56ec7a 100644 --- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx index b7ee984fa7..1d14dba2b6 100644 --- a/macros/latex/contrib/l3kernel/l3fp.dtx +++ b/macros/latex/contrib/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx index fbd5758a5c..7311ad5358 100644 --- a/macros/latex/contrib/l3kernel/l3fparray.dtx +++ b/macros/latex/contrib/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx index bdfa2a6385..ca095b0359 100644 --- a/macros/latex/contrib/l3kernel/l3int.dtx +++ b/macros/latex/contrib/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx index d2af694015..3cc0e52578 100644 --- a/macros/latex/contrib/l3kernel/l3intarray.dtx +++ b/macros/latex/contrib/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx index 35441b1fdb..2bd0c676f0 100644 --- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx +++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx index 4d5faa2af5..60645c8363 100644 --- a/macros/latex/contrib/l3kernel/l3keys.dtx +++ b/macros/latex/contrib/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx index c3024b4fba..0b228b4333 100644 --- a/macros/latex/contrib/l3kernel/l3legacy.dtx +++ b/macros/latex/contrib/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx index cd31d0ebe2..e73b5cbe7c 100644 --- a/macros/latex/contrib/l3kernel/l3luatex.dtx +++ b/macros/latex/contrib/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx index f2705cf8bc..bb739840dc 100644 --- a/macros/latex/contrib/l3kernel/l3msg.dtx +++ b/macros/latex/contrib/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % @@ -1991,6 +1991,15 @@ LaTeX~has~been~asked~to~create~a~new~scan~mark~'#1'~ but~this~name~has~already~been~used~for~a~scan~mark. } +\msg_new:nnnn { seq } { item-too-large } + { Sequence~'#1'~does~not~have~an~item~#3 } + { + An~attempt~was~made~to~push~or~pop~the~item~at~position~#3~ + of~'#1',~but~this~ + \int_compare:nTF { #3 = 0 } + { position~does~not~exist. } + { sequence~only~has~#2~item \int_compare:nF { #2 = 1 } {s}. } + } \msg_new:nnnn { seq } { shuffle-too-large } { The~sequence~#1~is~too~long~to~be~shuffled~by~TeX. } { diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx index 7a04a58b0b..1470671ec6 100644 --- a/macros/latex/contrib/l3kernel/l3names.dtx +++ b/macros/latex/contrib/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf Binary files differindex bc190a368d..636a6e0ec5 100644 --- a/macros/latex/contrib/l3kernel/l3news.pdf +++ b/macros/latex/contrib/l3kernel/l3news.pdf diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf Binary files differindex 156a7a5378..3f72f1e5b3 100644 --- a/macros/latex/contrib/l3kernel/l3news01.pdf +++ b/macros/latex/contrib/l3kernel/l3news01.pdf diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf Binary files differindex 5831b805d8..ae10be53a6 100644 --- a/macros/latex/contrib/l3kernel/l3news02.pdf +++ b/macros/latex/contrib/l3kernel/l3news02.pdf diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf Binary files differindex d36a7cc5db..ff4daf4033 100644 --- a/macros/latex/contrib/l3kernel/l3news03.pdf +++ b/macros/latex/contrib/l3kernel/l3news03.pdf diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf Binary files differindex 2d7a417810..57731785c3 100644 --- a/macros/latex/contrib/l3kernel/l3news04.pdf +++ b/macros/latex/contrib/l3kernel/l3news04.pdf diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf Binary files differindex c40b6b1ac5..1c51600729 100644 --- a/macros/latex/contrib/l3kernel/l3news05.pdf +++ b/macros/latex/contrib/l3kernel/l3news05.pdf diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf Binary files differindex f974a19833..c170a56ff6 100644 --- a/macros/latex/contrib/l3kernel/l3news06.pdf +++ b/macros/latex/contrib/l3kernel/l3news06.pdf diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf Binary files differindex 2074566cda..3fa83fddad 100644 --- a/macros/latex/contrib/l3kernel/l3news07.pdf +++ b/macros/latex/contrib/l3kernel/l3news07.pdf diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf Binary files differindex 50c2eb1947..c3a95d78de 100644 --- a/macros/latex/contrib/l3kernel/l3news08.pdf +++ b/macros/latex/contrib/l3kernel/l3news08.pdf diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf Binary files differindex 241159b270..c4902677af 100644 --- a/macros/latex/contrib/l3kernel/l3news09.pdf +++ b/macros/latex/contrib/l3kernel/l3news09.pdf diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf Binary files differindex 0dec104832..3f1f303dc5 100644 --- a/macros/latex/contrib/l3kernel/l3news10.pdf +++ b/macros/latex/contrib/l3kernel/l3news10.pdf diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf Binary files differindex e4f69d06f8..623bb991d2 100644 --- a/macros/latex/contrib/l3kernel/l3news11.pdf +++ b/macros/latex/contrib/l3kernel/l3news11.pdf diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf Binary files differindex 7c5d4bdd4a..ad090e333b 100644 --- a/macros/latex/contrib/l3kernel/l3news12.pdf +++ b/macros/latex/contrib/l3kernel/l3news12.pdf diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/contrib/l3kernel/l3pdf.dtx index aa22e82215..f3e7834b6e 100644 --- a/macros/latex/contrib/l3kernel/l3pdf.dtx +++ b/macros/latex/contrib/l3kernel/l3pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf Binary files differindex 1b0b196286..d3204c1c37 100644 --- a/macros/latex/contrib/l3kernel/l3prefixes.pdf +++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx index 1324b1eb42..83b2904740 100644 --- a/macros/latex/contrib/l3kernel/l3prg.dtx +++ b/macros/latex/contrib/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % @@ -654,7 +654,7 @@ % The \meta{code} associated to this first case is left in the input % stream, followed by the \meta{true code}, and other cases are % discarded. If none of the cases match then only the \meta{false -% code} is inserted. The function \cs{bool_case_true:n}, +% code} is inserted. The function \cs{bool_case:n}, % which does nothing if there is no match, is % also available. For example % \begin{verbatim} diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx index da3a73a51c..297fcd877f 100644 --- a/macros/latex/contrib/l3kernel/l3prop.dtx +++ b/macros/latex/contrib/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx index a039cf8a97..fda47356ef 100644 --- a/macros/latex/contrib/l3kernel/l3quark.dtx +++ b/macros/latex/contrib/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx index b2443a4b27..46629fc8d6 100644 --- a/macros/latex/contrib/l3kernel/l3regex.dtx +++ b/macros/latex/contrib/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx index e4aeffa83f..d5d0a52146 100644 --- a/macros/latex/contrib/l3kernel/l3seq.dtx +++ b/macros/latex/contrib/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % @@ -474,6 +474,24 @@ % \cs{tl_if_eq:nnTF}. % \end{function} % +% \begin{function}[added = 2021-04-29, noTF] +% {\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn} +% \begin{syntax} +% \cs{seq_set_item:Nnn} \meta{seq~var} \Arg{int expr} \Arg{item} +% \cs{seq_set_item:NnnTF} \meta{seq~var} \Arg{int expr} \Arg{item} \Arg{true code} \Arg{false code} +% \end{syntax} +% Removes the item of \meta{sequence} at the position given by +% evaluating the \meta{int expr} and replaces it by +% \meta{item}. Items are indexed from $1$ on the left/top of the +% \meta{sequence}, or from $-1$ on the right/bottom. If the +% \meta{int expr} is zero or is larger (in absolute value) +% than the number of items in the sequence, the \meta{sequence} is not +% modified. In these cases, \cs{seq_set_item:Nnn} raises an error +% while \cs{seq_set_item:NnnTF} runs the \meta{false code}. In cases +% where the assignment was successful, \meta{true code} is run +% afterwards. +% \end{function} +% % \begin{function}[added = 2014-07-18] % { % \seq_reverse:N, \seq_reverse:c, @@ -621,6 +639,24 @@ % and so on) as~|#1| and the \meta{item} as~|#2|. % \end{function} % +% \begin{function}[rEXP, added = 2023-05-10] +% { +% \seq_map_pairwise_function:NNN, \seq_map_pairwise_function:NcN, +% \seq_map_pairwise_function:cNN, \seq_map_pairwise_function:ccN +% } +% \begin{syntax} +% \cs{seq_map_pairwise_function:NNN} \meta{seq_1} \meta{seq_2} \meta{function} +% \end{syntax} +% Applies \meta{function} to every pair of items +% \meta{seq_1-item}--\meta{seq_2-item} from the two sequences, returning +% items from both sequences from left to right. The \meta{function} +% receives two \texttt{n}-type arguments for each iteration. The mapping +% terminates when +% the end of either sequence is reached (\emph{i.e.}~whichever sequence has +% fewer items determines how many iterations +% occur). +% \end{function} +% % \begin{function}[rEXP, updated = 2012-06-29]{\seq_map_break:} % \begin{syntax} % \cs{seq_map_break:} @@ -1513,6 +1549,113 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\@@_int_eval:w} +% Useful to more quickly go through items. +% \begin{macrocode} +\cs_new_eq:NN \@@_int_eval:w \tex_numexpr:D +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[noTF]{\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn} +% \begin{macro}{\@@_set_item:NnnNN, \@@_set_item:nnNNNN, \@@_set_item_false:nnNNNN, \@@_set_item:nNnnNNNN} +% \begin{macro}[rEXP]{\@@_set_item:wn, \@@_set_item_end:w} +% The conditionals are distinguished from the |Nnn| versions by the +% last argument \cs{use_ii:nn} vs \cs{use_i:nn}. +% \begin{macrocode} +\cs_new_protected:Npn \seq_set_item:Nnn #1#2#3 + { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_i:nn } +\cs_new_protected:Npn \seq_gset_item:Nnn #1#2#3 + { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_i:nn } +\cs_generate_variant:Nn \seq_set_item:Nnn { c } +\cs_generate_variant:Nn \seq_gset_item:Nnn { c } +\prg_new_protected_conditional:Npnn \seq_set_item:Nnn #1#2#3 { TF , T , F } + { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_set:Nx \use_ii:nn } +\prg_new_protected_conditional:Npnn \seq_gset_item:Nnn #1#2#3 { TF , T , F } + { \@@_set_item:NnnNN #1 {#2} {#3} \__kernel_tl_gset:Nx \use_ii:nn } +\prg_generate_conditional_variant:Nnn \seq_set_item:Nnn { c } { TF , T , F } +\prg_generate_conditional_variant:Nnn \seq_gset_item:Nnn { c } { TF , T , F } +% \end{macrocode} +% Save the item to be stored and evaluate the position and the sequence +% length only once. Then depending on the sign of the position, check +% that it is not bigger than the length (in absolute value) nor zero. +% \begin{macrocode} +\cs_new_protected:Npn \@@_set_item:NnnNN #1#2#3 + { + \tl_set:Nn \l_@@_internal_a_tl { \@@_item:n {#3} } + \exp_args:Nff \@@_set_item:nnNNNN + { \int_eval:n {#2} } { \seq_count:N #1 } #1 \use_none:nn + } +\cs_new_protected:Npn \@@_set_item:nnNNNN #1#2 + { + \int_compare:nNnTF {#1} > 0 + { \int_compare:nNnF {#1} > {#2} { \@@_set_item:nNnnNNNN { #1 - 1 } } } + { + \int_compare:nNnF {#1} < {-#2} + { + \int_compare:nNnF {#1} = 0 + { \@@_set_item:nNnnNNNN { #2 + #1 } } + } + } + \@@_set_item_false:nnNNNN {#1} {#2} + } +% \end{macrocode} +% If the position is not ok, \cs{@@_set_item_false:nnNNNN} calls an +% error or returns \texttt{false} (depending on the \cs{use_i:nn} vs +% \cs{use_ii:nn} argument mentioned above). +% \begin{macrocode} +\cs_new_protected:Npn \@@_set_item_false:nnNNNN #1#2#3#4#5#6 + { + #6 + { + \msg_error:nnxxx { seq } { item-too-large } + { \token_to_str:N #3 } {#2} {#1} + } + { \prg_return_false: } + } +% \end{macrocode} +% If the position is ok, \cs{@@_set_item:nNnnNNNN} makes the assignment +% and returns \texttt{true} (in the case of conditionnals). Here |#1| +% is an integer expression (position minus one), it needs to be +% evaluated. The sequence |#5| starts with \cs{s_@@} (even if empty), +% which stops the integer expression and is absorbed by it. The +% \cs{if_meaning:w} test is slightly faster than an integer test (but +% only works when testing against zero, hence the offset we chose in +% the position). When we are done skipping items, insert the saved +% item \cs{l_@@_internal_a_tl}. For |put| functions the last argument +% of \cs{@@_set_item_end:w} is \cs{use_none:nn} and it absorbs the +% item |#2| that we are removing: this is only useful for the |pop| +% functions. +% \begin{macrocode} +\cs_new_protected:Npn \@@_set_item:nNnnNNNN #1#2#3#4#5#6#7#8 + { + #7 #5 + { + \s_@@ + \exp_after:wN \@@_set_item:wn + \int_value:w \@@_int_eval:w #1 + #5 \s_@@_stop #6 + } + #8 { } { \prg_return_true: } + } +\cs_new:Npn \@@_set_item:wn #1 \@@_item:n #2 + { + \if_meaning:w 0 #1 \@@_set_item_end:w \fi: + \exp_not:n { \@@_item:n {#2} } + \exp_after:wN \@@_set_item:wn + \int_value:w \@@_int_eval:w #1 - 1 \s_@@ + } +\cs_new:Npn \@@_set_item_end:w #1 \exp_not:n #2 #3 \s_@@ #4 \s_@@_stop #5 + { + #1 + \exp_not:o \l_@@_internal_a_tl + \exp_not:n {#4} + #5 #2 + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macro} % {\seq_reverse:N, \seq_reverse:c, \seq_greverse:N, \seq_greverse:c} % \begin{macro}{\@@_reverse:NN} @@ -2160,6 +2303,53 @@ % \end{macrocode} % \end{macro} % +% \begin{macro} +% { +% \seq_map_pairwise_function:NNN, \seq_map_pairwise_function:NcN, +% \seq_map_pairwise_function:cNN, \seq_map_pairwise_function:ccN +% } +% \begin{macro} +% { +% \@@_map_pairwise_function:wNN, \@@_map_pairwise_function:wNw, +% \@@_map_pairwise_function:Nnnwnn +% } +% The idea is to first expand both sequences, adding the +% usual |{ ? \prg_break: } { }| to the end of each one. This is +% most conveniently done in two steps using an auxiliary function. +% The mapping then throws away the first tokens of |#2| and |#5|, +% which for items in both sequences are \cs{s_@@} +% \cs{@@_item:n}. The function to be mapped are then be applied to +% the two entries. When the code hits the end of one of the +% sequences, the break material stops the entire loop and tidy up. +% This avoids needing to find the count of the two sequences, or +% worrying about which is longer. +% \begin{macrocode} +\cs_new:Npn \seq_map_pairwise_function:NNN #1#2#3 + { \exp_after:wN \@@_map_pairwise_function:wNN #2 \s_@@_stop #1 #3 } +\cs_new:Npn \@@_map_pairwise_function:wNN \s_@@ #1 \s_@@_stop #2#3 + { + \exp_after:wN \@@_map_pairwise_function:wNw #2 \s_@@_stop #3 + #1 { ? \prg_break: } { } + \prg_break_point: + } +\cs_new:Npn \@@_map_pairwise_function:wNw \s_@@ #1 \s_@@_stop #2 + { + \@@_map_pairwise_function:Nnnwnn #2 + #1 { ? \prg_break: } { } + \s_@@_stop + } +\cs_new:Npn \@@_map_pairwise_function:Nnnwnn #1#2#3#4 \s_@@_stop #5#6 + { + \use_none:n #2 + \use_none:n #5 + #1 {#3} {#6} + \@@_map_pairwise_function:Nnnwnn #1 #4 \s_@@_stop + } +\cs_generate_variant:Nn \seq_map_pairwise_function:NNN { Nc , c , cc } +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\seq_set_map_x:NNn, \seq_gset_map_x:NNn} % \begin{macro}{\@@_set_map_x:NNNn} % Very similar to \cs{seq_set_filter:NNn}. We could actually diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx index 2d18a850d5..808807483a 100644 --- a/macros/latex/contrib/l3kernel/l3skip.dtx +++ b/macros/latex/contrib/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx index 80be229f40..72db7d8c42 100644 --- a/macros/latex/contrib/l3kernel/l3sort.dtx +++ b/macros/latex/contrib/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx index abaeb6d72a..f71d2cb47e 100644 --- a/macros/latex/contrib/l3kernel/l3str-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx index 603af98607..e199e98b94 100644 --- a/macros/latex/contrib/l3kernel/l3str.dtx +++ b/macros/latex/contrib/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf Binary files differindex dc78cc2558..bf81491af3 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.pdf +++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex index d72c42d3bf..093b2e6e83 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.tex +++ b/macros/latex/contrib/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2023-05-05} +\date{Released 2023-05-11} \begin{document} diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf Binary files differindex 42670a750f..d5534b9fa4 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex index 4b050d797d..e8b8b4911a 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2023-05-05} +\date{Released 2023-05-11} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx index 6125c76928..6f64b5ea4c 100644 --- a/macros/latex/contrib/l3kernel/l3sys.dtx +++ b/macros/latex/contrib/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf Binary files differindex f70f96750d..96e6dba07f 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf +++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex index c33970000c..4ef72973f7 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.tex +++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2023-05-05} +\date{Released 2023-05-11} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx index 3a71dd4b01..0dc9db24ed 100644 --- a/macros/latex/contrib/l3kernel/l3text-case.dtx +++ b/macros/latex/contrib/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text-map.dtx b/macros/latex/contrib/l3kernel/l3text-map.dtx index ef93deb909..958ac7370e 100644 --- a/macros/latex/contrib/l3kernel/l3text-map.dtx +++ b/macros/latex/contrib/l3kernel/l3text-map.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx index 35c73a621a..799d676b13 100644 --- a/macros/latex/contrib/l3kernel/l3text-purify.dtx +++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index d9057ea51f..11fe78a202 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx index c9beca06a3..127aaaab2a 100644 --- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx +++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx index 741463fee8..6f0eb9f39e 100644 --- a/macros/latex/contrib/l3kernel/l3tl.dtx +++ b/macros/latex/contrib/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx index dad206a406..77e94d5b25 100644 --- a/macros/latex/contrib/l3kernel/l3token.dtx +++ b/macros/latex/contrib/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx index 7c10f17791..fc3a2ba5e0 100644 --- a/macros/latex/contrib/l3kernel/l3unicode.dtx +++ b/macros/latex/contrib/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-05-05} +% \date{Released 2023-05-11} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf Binary files differindex 820dcb66c9..68f89b6013 100644 --- a/macros/latex/contrib/l3kernel/source3.pdf +++ b/macros/latex/contrib/l3kernel/source3.pdf diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex index 95a81cac1b..ba7f8d430f 100644 --- a/macros/latex/contrib/l3kernel/source3.tex +++ b/macros/latex/contrib/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2023-05-05} +\date{Released 2023-05-11} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/ufrgscca/README.md b/macros/latex/contrib/ufrgscca/README.md index b841fe2513..b857eb22cd 100644 --- a/macros/latex/contrib/ufrgscca/README.md +++ b/macros/latex/contrib/ufrgscca/README.md @@ -118,7 +118,11 @@ The Current Maintainer of this work is Alceu Frigeri ------------- ## Changelog -* Version 1.9 (this) +* Version 1.10 (this) + - documentation review: typos and formating + - added options 'article' and 'nogeometry' (see documentation) + +* Version 1.9 - changing the version system to a more reasonable x.y - fine tuning the List of Figures/Tables spacing (in case of relnum==false) diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf index 78cc4cfb9d..0377c66f09 100644 --- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf +++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf @@ -1,3174 +1,3462 @@ %PDF-1.5 % 4 0 obj -<< /S /GoTo /D (section.1) >> +<< /S /GoTo /D (section.2) >> endobj 7 0 obj (\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n) endobj 8 0 obj -<< /S /GoTo /D (subsection.2) >> +<< /S /GoTo /D (subsection.3) >> endobj 11 0 obj (\376\377\000C\000u\000r\000r\000e\000n\000t\000\040\000V\000e\000r\000s\000i\000o\000n) endobj 12 0 obj -<< /S /GoTo /D (section.3) >> +<< /S /GoTo /D (section.4) >> endobj 15 0 obj (\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000\040\000C\000l\000a\000s\000s) endobj 16 0 obj -<< /S /GoTo /D (subsection.4) >> +<< /S /GoTo /D (subsection.5) >> endobj 19 0 obj (\376\377\000C\000l\000a\000s\000s\000\040\000O\000p\000t\000i\000o\000n\000s) endobj 20 0 obj -<< /S /GoTo /D (subsection.5) >> +<< /S /GoTo /D (subsection.6) >> endobj 23 0 obj (\376\377\000C\000l\000a\000s\000s\000\040\000D\000e\000c\000l\000a\000r\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 24 0 obj -<< /S /GoTo /D (subsection.6) >> +<< /S /GoTo /D (subsection.7) >> endobj 27 0 obj (\376\377\000C\000l\000a\000s\000s\000\040\000K\000n\000o\000w\000n\000\040\000H\000o\000o\000k\000s) endobj 28 0 obj -<< /S /GoTo /D (section.7) >> +<< /S /GoTo /D (section.8) >> endobj 31 0 obj (\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000a\000b\000n\000t\000\040\000P\000a\000c\000k\000a\000g\000e) endobj 32 0 obj -<< /S /GoTo /D (subsection.8) >> +<< /S /GoTo /D (subsection.9) >> endobj 35 0 obj (\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) endobj 36 0 obj -<< /S /GoTo /D (subsection.17) >> +<< /S /GoTo /D (subsection.10) >> endobj 39 0 obj -(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s) +(\376\377\000C\000o\000m\000m\000a\000n\000d\000s) endobj 40 0 obj -<< /S /GoTo /D (subsection.26) >> +<< /S /GoTo /D (subsection.19) >> endobj 43 0 obj -(\376\377\000T\000a\000b\000u\000l\000a\000r\000\040\000N\000e\000w\000\040\000C\000o\000l\000u\000m\000n\000s) +(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s) endobj 44 0 obj -<< /S /GoTo /D (subsection.27) >> +<< /S /GoTo /D (subsection.28) >> endobj 47 0 obj -(\376\377\000e\000n\000u\000m\000i\000t\000e\000m\000\040\000E\000x\000t\000r\000a\000\040\000K\000e\000y\000s) +(\376\377\000T\000a\000b\000u\000l\000a\000r\000\040\000N\000e\000w\000\040\000C\000o\000l\000u\000m\000n\000s) endobj 48 0 obj -<< /S /GoTo /D (section.126) >> +<< /S /GoTo /D (subsection.29) >> endobj 51 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000r\000e\000\040\000P\000a\000c\000k\000a\000g\000e) +(\376\377\000e\000n\000u\000m\000i\000t\000e\000m\000\040\000E\000x\000t\000r\000a\000\040\000K\000e\000y\000s) endobj 52 0 obj -<< /S /GoTo /D (subsection.127) >> +<< /S /GoTo /D (section.128) >> endobj 55 0 obj -(\376\377\000C\000o\000r\000e\000\040\000F\000o\000r\000m\000s\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000r\000e\000\040\000P\000a\000c\000k\000a\000g\000e) endobj 56 0 obj -<< /S /GoTo /D (subsection.128) >> +<< /S /GoTo /D (subsection.129) >> endobj 59 0 obj -(\376\377\000C\000o\000r\000e\000\040\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000C\000o\000r\000e\000\040\000F\000o\000r\000m\000s\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 60 0 obj -<< /S /GoTo /D (subsection.129) >> +<< /S /GoTo /D (subsection.130) >> endobj 63 0 obj -(\376\377\000C\000o\000r\000e\000\040\000S\000p\000e\000c\000i\000f\000i\000c\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000C\000o\000r\000e\000\040\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 64 0 obj -<< /S /GoTo /D (section.130) >> +<< /S /GoTo /D (subsection.131) >> endobj 67 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000v\000e\000r\000\040\000P\000a\000c\000k\000a\000g\000e) +(\376\377\000C\000o\000r\000e\000\040\000S\000p\000e\000c\000i\000f\000i\000c\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 68 0 obj -<< /S /GoTo /D (subsection.131) >> +<< /S /GoTo /D (section.132) >> endobj 71 0 obj -(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000v\000e\000r\000\040\000P\000a\000c\000k\000a\000g\000e) endobj 72 0 obj -<< /S /GoTo /D (subsection.132) >> +<< /S /GoTo /D (subsection.133) >> endobj 75 0 obj -(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) endobj 76 0 obj -<< /S /GoTo /D (section.133) >> +<< /S /GoTo /D (subsection.134) >> endobj 79 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000f\000o\000r\000m\000s\000\040\000P\000a\000c\000k\000a\000g\000e) +(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 80 0 obj -<< /S /GoTo /D (subsection.134) >> +<< /S /GoTo /D (section.135) >> endobj 83 0 obj -(\376\377\000F\000o\000r\000m\000s\000\040\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000f\000o\000r\000m\000s\000\040\000P\000a\000c\000k\000a\000g\000e) endobj 84 0 obj -<< /S /GoTo /D (section.135) >> +<< /S /GoTo /D (subsection.136) >> endobj 87 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000l\000i\000s\000t\000s\000\040\000P\000a\000c\000k\000a\000g\000e) +(\376\377\000F\000o\000r\000m\000s\000\040\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 88 0 obj -<< /S /GoTo /D (subsection.136) >> +<< /S /GoTo /D (section.137) >> endobj 91 0 obj -(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000l\000i\000s\000t\000s\000\040\000P\000a\000c\000k\000a\000g\000e) endobj 92 0 obj -<< /S /GoTo /D (subsection.150) >> +<< /S /GoTo /D (subsection.138) >> endobj 95 0 obj -(\376\377\000D\000e\000c\000l\000a\000r\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t) endobj 96 0 obj -<< /S /GoTo /D (section.159) >> +<< /S /GoTo /D (subsection.152) >> endobj 99 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000g\000e\000n\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) +(\376\377\000D\000e\000c\000l\000a\000r\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 100 0 obj -<< /S /GoTo /D (subsection.160) >> +<< /S /GoTo /D (section.161) >> endobj 103 0 obj -(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000g\000e\000n\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) endobj 104 0 obj -<< /S /GoTo /D (subsection.161) >> +<< /S /GoTo /D (subsection.162) >> endobj 107 0 obj -(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) endobj 108 0 obj -<< /S /GoTo /D (section.170) >> +<< /S /GoTo /D (subsection.163) >> endobj 111 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000o\000r\000d\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) +(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 112 0 obj -<< /S /GoTo /D (subsection.171) >> +<< /S /GoTo /D (section.172) >> endobj 115 0 obj -(\376\377\000P\000a\000c\000k\000a\000g\000e\000/\000R\000e\000p\000o\000r\000t\000\040\000O\000p\000t\000i\000o\000n\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000o\000r\000d\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) endobj 116 0 obj -<< /S /GoTo /D (subsection.172) >> +<< /S /GoTo /D (subsection.173) >> endobj 119 0 obj -(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000P\000a\000c\000k\000a\000g\000e\000/\000R\000e\000p\000o\000r\000t\000\040\000O\000p\000t\000i\000o\000n\000s) endobj 120 0 obj -<< /S /GoTo /D (subsubsection.178) >> +<< /S /GoTo /D (subsection.174) >> endobj 123 0 obj -(\376\377\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000I) +(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 124 0 obj -<< /S /GoTo /D (subsubsection.195) >> +<< /S /GoTo /D (subsubsection.180) >> endobj 127 0 obj -(\376\377\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000I\000I) +(\376\377\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000I) endobj 128 0 obj -<< /S /GoTo /D (subsubsection.238) >> +<< /S /GoTo /D (subsubsection.197) >> endobj 131 0 obj -(\376\377\000S\000t\000u\000d\000e\000n\000t\000\040\000S\000p\000e\000c\000i\000f\000i\000c\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000I\000I) endobj 132 0 obj -<< /S /GoTo /D (section.254) >> +<< /S /GoTo /D (subsubsection.237) >> endobj 135 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000p\000p\000c\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000b\000e\000t\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) +(\376\377\000S\000t\000u\000d\000e\000n\000t\000\040\000S\000p\000e\000c\000i\000f\000i\000c\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 136 0 obj -<< /S /GoTo /D (subsection.255) >> +<< /S /GoTo /D (section.253) >> endobj 139 0 obj -(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000p\000p\000c\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000b\000e\000t\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) endobj 140 0 obj -<< /S /GoTo /D (subsection.256) >> +<< /S /GoTo /D (subsection.254) >> endobj 143 0 obj -(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s) endobj 144 0 obj -<< /S /GoTo /D (subsection.259) >> +<< /S /GoTo /D (subsection.255) >> endobj 147 0 obj -(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s) +(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 148 0 obj -<< /S /GoTo /D (section.260) >> +<< /S /GoTo /D (subsection.258) >> endobj 151 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000b\000e\000t\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) +(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s) endobj 152 0 obj -<< /S /GoTo /D (subsection.261) >> +<< /S /GoTo /D (section.259) >> endobj 155 0 obj -(\376\377\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000C\000r\000e\000a\000t\000i\000n\000g\000\040\000t\000h\000e\000\040\000m\000a\000n\000y\000\040\000l\000i\000s\000t\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000b\000e\000t\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) endobj 156 0 obj -<< /S /GoTo /D (subsection.262) >> +<< /S /GoTo /D (subsection.260) >> endobj 159 0 obj -(\376\377\000L\000i\000s\000t\000\040\000P\000r\000o\000c\000e\000s\000s\000i\000n\000g\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000C\000r\000e\000a\000t\000i\000n\000g\000\040\000t\000h\000e\000\040\000m\000a\000n\000y\000\040\000l\000i\000s\000t\000s) endobj 160 0 obj -<< /S /GoTo /D (section.263) >> +<< /S /GoTo /D (subsection.261) >> endobj 163 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000-\000t\000a\000b\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000a\000l\000p\000h\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) +(\376\377\000L\000i\000s\000t\000\040\000P\000r\000o\000c\000e\000s\000s\000i\000n\000g\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 164 0 obj -<< /S /GoTo /D (subsection.264) >> +<< /S /GoTo /D (section.262) >> endobj 167 0 obj -(\376\377\000T\000a\000b\000u\000l\000a\000r\000\040\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000o\000m\000m\000a\000n\000d\000s) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000-\000t\000a\000b\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000a\000l\000p\000h\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) endobj 168 0 obj -<< /S /GoTo /D (section.265) >> +<< /S /GoTo /D (subsection.263) >> endobj 171 0 obj -(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000-\000g\000r\000a\000p\000h\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000a\000l\000p\000h\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) +(\376\377\000T\000a\000b\000u\000l\000a\000r\000\040\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000o\000m\000m\000a\000n\000d\000s) endobj 172 0 obj -<< /S /GoTo /D (subsection.266) >> +<< /S /GoTo /D (section.264) >> endobj 175 0 obj -(\376\377\000G\000r\000a\000p\000h\000\040\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000o\000m\000m\000a\000n\000d) +(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000-\000g\000r\000a\000p\000h\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000a\000l\000p\000h\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051) endobj 176 0 obj -<< /S /GoTo /D [177 0 R /Fit] >> +<< /S /GoTo /D (subsection.265) >> endobj -236 0 obj +179 0 obj +(\376\377\000G\000r\000a\000p\000h\000\040\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000o\000m\000m\000a\000n\000d) +endobj +180 0 obj +<< /S /GoTo /D [181 0 R /Fit] >> +endobj +237 0 obj << -/Length 4395 +/Length 3665 /Filter /FlateDecode >> stream -x]K6ϯQSe1qloI6%ɡ#_)*8xZ -Ƅ^hϪri=٪`Ho1[z۬h:]R듽nLsqFFߌwe]Rx|2j)ݼQ~
](\+ׇr)0eh܇)]18`o2coKV1GquO[Sn^k;ez~8lpvЍWܙ;OZlfkFM]d_ڻfm[ZgL+Y!Ju<k^U`QE&U'ZݯwyJA+H~EJyFaF.4ΩuD8vveVcZd)B·GGry]((m^x%y5wxWVJoTDo9Y_Kj7&.oO"kN6Oɫ܂\oz2Q]0~r^7V]",UA,K+^Xq1rsiJD\Z1ҶLuXٯ.WvK仕(maϮ!_2ۭ -iXфŶe2f -V^&]X~\ɛ<01VD<D%>aM0F6eA8AA!Ax1A8Avpq7.Զ: JZ1$4Z'*QL(:. Yj1
m1 Y]^$D*$TPw ~ #$B@#L<b-==amX6QqLB _)ق^1Q7~mrLOmwZQQ,D-3U+7*өΪI{w2~7Xu9 -0 -?- ZHfrǾM-vu}}~Ea(t첺إwBkg?֩ohQ(TPeUmB[
\F"+/Y$Vǂ0:5'/SOWq%KFʃ303܅)(\}I8X`jC9n$* -.lf0L@NrC9gJ`vX d99Prqex -;8&ri7L3dZ5I<E'8 -WsCaxA.Q.a7v)t1;y:oc~{&xFIeh6T9oN5NX{MSF &K%^$2 -V.'K*ddNZr0HŒA -# ̴
jΓfNg 'C*&6T7䀐! V!uBrAMj\dY rA;QUTDF?(1 jBj\+0Mi?HoҴE%
!]R;=%,P{sҙ#-Y iHP/o
)JƍiT:a*c.^[EP]XSq5ROETx[rxU7353@L䭢0 -?CκKfwg<g/̛/t|༔e(O -||ă=__=Bq0 -?1ˢNf5W㏻7'5ZM(r4w81Qji.,
LPjU|rFYVҭ8Ȃ@` -q-F`,2}O,"A0[D,e -F=TC
̍`rBXD``Y``{ܭKDY(':|H8~끐\#-d'1'i3gvE̬a0w !/2bB;XP^9;[Xg,41K(PW,2""Ǧq! cnd -nXv<#NV1 QgNr;MD'0 -nHM*MCܲ +ll7uAVrn)pAp $BRq1Hr!y}rAH"!91gsAHC!]t@Xr@Y`
C謋"Ff9p!Bΰx(슇"-KT=t8C!쒋p^rS'S& -!=2 h:(c@!-ɺ̴phf[i!Ň@nwCSw3p b $I:[X+g,41Hfۏ#0B2 Լ/",R_9ϱ )rl'~( -ԮQ?=qW+kќ̮TkQaVIy!MLFaFf5@UU<8Qu FDTgMk鐊 Ϧ$W9 I9dќB4s$-< KTO!H{ -ARS@ddSBM!0M1A l&S̾L3(qbSHMCd"hƃ9&<Ă)!^a+arafݧ18k`p0^p H!֞ -QstyzP qDZi
NvX"E(7kܽ5+]J`¢$?U8K:v-4d}W]<W^SƓ86( -0 -,?(P=oP +x]]۶}_G* +SN~MCj}3>nÙYi3D3G]M R3v4X*e1q92n;rC-_ǩ`k_ :rΞy4ˌfR˔jxMt¤̪fqaEj*dhHOtj +S)f0 +)/̤Ҵk.feWXQGc4Fc4FKNen".
L>4Zũm8E@'ձ1ױ`%y}Lzyssh+ܨ0U^c_l`^C&gM濾s~'1D.܄5SpMɹf>rKgVYwfbVάsљ g;s eݙIW)[JgF-]͊6iW:\".\H]] +kB*KL!}NQHr7(vxYqob,Vω3v ,,M2G>&`D!vAbhX r:M%ޮ)_:+ZvT3)|sB;d❑"MN|P <9ϗEWyK#x(^s^'KZ}4y<5#4[=+g'cM^qJ$'nh\r|nsݢPJ[hhM, +jԎYV&uhhtP1ЅԙĔǾjl2fv9b.wwZqX4F㯌2ךcݹ.QeIEnjh[*ji2Yeh-o:ʫ(`u%uad% Ve0X`ei Q8X`-w 0XM@QrC)%xD ,k"7ٌ8x::0 +O't +-xLnF4FgGf +ʻ,2؍}-=me9m2x4Fga݅*l.y1??&|MEVs3o-UVMdվmB2-[$fArx$!hA.1H + +&!$B(?gA{Єe(.((N(,(l(((D(+0Tyr!Li# Lpx@'51Ip@p~؇.dM:p.f,Y/LzI<11HJxTp!uj7@J<{u&$q<L8 +уz Ji4qpt[H x,d +F*3\\ɂADн(Ⱦ,<Rʭ~;־cGc4~uz!o[s+:]2z4F_h +V,̽W[-E׳å|M%Gu5mXd0|/ 0v +fzuu]Rs6k61ovF@0ٷ,e"65DlLu +CS#
+WWb:2.3zŅKJ }bY3>)",60^:,^X.B<^]>'#xbN2'ck:MA2:s'wɱ6ُ8ϟC)s +}zkGCsQ(qA_ޕoʱ4x@L]<69B_Dc47QU=o7RF[8JP_5VlݹWr+EhO5.ėOzFHC;!/EA;C?!["1R;&%A3!*Nd
A86=LZMp +1p+k84]O#Gء endstream endobj -177 0 obj +181 0 obj << /Type /Page -/Contents 236 0 R -/Resources 235 0 R +/Contents 237 0 R +/Resources 236 0 R /MediaBox [0 0 595.276 841.89] -/Parent 245 0 R -/Annots [ 179 0 R 181 0 R 183 0 R 185 0 R 187 0 R 189 0 R 191 0 R 193 0 R 195 0 R 197 0 R 199 0 R 201 0 R 203 0 R 205 0 R 207 0 R 209 0 R 211 0 R 213 0 R 215 0 R 217 0 R 219 0 R 221 0 R 223 0 R 225 0 R 227 0 R 229 0 R ] +/Parent 249 0 R +/Annots [ 182 0 R 184 0 R 186 0 R 188 0 R 190 0 R 192 0 R 194 0 R 196 0 R 198 0 R 200 0 R 202 0 R 204 0 R 206 0 R 208 0 R 210 0 R 212 0 R 214 0 R 216 0 R 218 0 R 220 0 R 222 0 R 224 0 R ] >> endobj -179 0 obj +182 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 416.198 269.145 432.636] -/A << /S /GoTo /D (section.1) >> +/Rect [378.86 619.069 380.853 638.994] +/A << /S /GoTo /D (Hfootnote.1) >> >> endobj -181 0 obj +184 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 401.752 286.768 418.19] -/A << /S /GoTo /D (subsection.2) >> +/Rect [203.098 379.336 269.145 395.774] +/A << /S /GoTo /D (section.2) >> >> endobj -183 0 obj +186 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 385.18 277.148 401.618] -/A << /S /GoTo /D (section.3) >> +/Rect [203.098 364.89 286.768 381.328] +/A << /S /GoTo /D (subsection.3) >> >> endobj -185 0 obj +188 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 370.734 276.173 387.173] -/A << /S /GoTo /D (subsection.4) >> +/Rect [203.098 348.318 277.148 364.757] +/A << /S /GoTo /D (section.4) >> >> endobj -187 0 obj +190 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 356.288 341.693 372.727] +/Rect [203.098 333.872 276.173 350.311] /A << /S /GoTo /D (subsection.5) >> >> endobj -189 0 obj +192 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 341.843 307.381 358.281] +/Rect [203.098 319.427 341.693 335.865] /A << /S /GoTo /D (subsection.6) >> >> endobj -191 0 obj +194 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 325.271 318.8 341.709] -/A << /S /GoTo /D (section.7) >> +/Rect [203.098 304.981 307.381 321.419] +/A << /S /GoTo /D (subsection.7) >> >> endobj -193 0 obj +196 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 310.825 290.836 327.263] -/A << /S /GoTo /D (subsection.8) >> +/Rect [203.098 288.409 318.8 304.847] +/A << /S /GoTo /D (section.8) >> >> endobj -195 0 obj +198 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 296.379 275.879 312.817] -/A << /S /GoTo /D (subsection.17) >> +/Rect [203.098 273.963 290.836 290.401] +/A << /S /GoTo /D (subsection.9) >> >> endobj -197 0 obj +200 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 281.933 320.262 298.372] -/A << /S /GoTo /D (subsection.26) >> +/Rect [203.098 259.517 262.386 275.956] +/A << /S /GoTo /D (subsection.10) >> >> endobj -199 0 obj +202 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 267.487 317.496 283.926] -/A << /S /GoTo /D (subsection.27) >> +/Rect [203.098 245.071 275.879 261.51] +/A << /S /GoTo /D (subsection.19) >> >> endobj -201 0 obj +204 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 250.916 316.523 267.354] -/A << /S /GoTo /D (section.126) >> +/Rect [203.098 230.626 320.262 247.064] +/A << /S /GoTo /D (subsection.28) >> >> endobj -203 0 obj +206 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 236.47 325.694 252.908] -/A << /S /GoTo /D (subsection.127) >> +/Rect [203.098 216.18 317.496 232.618] +/A << /S /GoTo /D (subsection.29) >> >> endobj -205 0 obj +208 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 222.024 328.15 238.462] -/A << /S /GoTo /D (subsection.128) >> +/Rect [203.098 199.608 316.523 216.046] +/A << /S /GoTo /D (section.128) >> >> endobj -207 0 obj +210 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 207.578 332.948 224.016] +/Rect [203.098 185.162 325.694 201.601] /A << /S /GoTo /D (subsection.129) >> >> endobj -209 0 obj +212 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 191.006 322.051 207.445] -/A << /S /GoTo /D (section.130) >> +/Rect [203.098 170.716 328.15 187.155] +/A << /S /GoTo /D (subsection.130) >> >> endobj -211 0 obj +214 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 176.56 290.836 192.999] +/Rect [203.098 156.271 332.948 172.709] /A << /S /GoTo /D (subsection.131) >> >> endobj -213 0 obj +216 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 162.115 305.145 178.553] -/A << /S /GoTo /D (subsection.132) >> +/Rect [203.098 139.699 322.051 156.137] +/A << /S /GoTo /D (section.132) >> >> endobj -215 0 obj +218 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 145.543 324.067 161.981] -/A << /S /GoTo /D (section.133) >> +/Rect [203.098 125.253 290.836 141.691] +/A << /S /GoTo /D (subsection.133) >> >> endobj -217 0 obj +220 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 131.097 340.489 147.535] +/Rect [203.098 110.807 305.145 127.245] /A << /S /GoTo /D (subsection.134) >> >> endobj -219 0 obj +222 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 114.525 316.003 130.964] +/Rect [203.098 94.235 324.067 110.674] /A << /S /GoTo /D (section.135) >> >> endobj -221 0 obj +224 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 100.079 271.261 116.518] +/Rect [203.098 79.789 340.489 96.228] /A << /S /GoTo /D (subsection.136) >> >> endobj -223 0 obj +238 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 85.634 310.997 102.072] -/A << /S /GoTo /D (subsection.150) >> +/D [181 0 R /XYZ 140.732 808.885 null] >> endobj -225 0 obj +239 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 69.062 452.119 85.5] -/A << /S /GoTo /D (section.159) >> +/D [181 0 R /XYZ 141.732 771.024 null] >> endobj -227 0 obj +236 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 54.616 290.836 71.054] -/A << /S /GoTo /D (subsection.160) >> + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F39 240 0 R /F42 241 0 R /F64 242 0 R /F82 243 0 R /F78 244 0 R /F85 245 0 R /F90 246 0 R /F75 247 0 R /F81 248 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +288 0 obj +<< +/Length 5422 +/Filter /FlateDecode >> +stream +x][6~[UC\ڇq&qMj*lmU2Dwkz$u 8d'>- Iwn +puQ&<oeoЇL뢄>{/p;>pQlVIwfӱ|9˪)yT[ש: +HD1bT-(4hmşf-])mT9iREaUiUt2 UhWr* +m+[ +o
+bTGi*YwFFQF6=0 +J<Fl":QTZHI:cI0:b&R"tUFPFfAf^r) `6k?'vq礎Y*ŋZ$`x,eK錠DFѐqIy֔S0U$̣ugJ "E)@ wISYO')lNQru4?zlMn Bq#ۘz3!U^x?NEk?S!9բs +5:3uA[]_;2kZlV:# c7oQ;lϋ[Urp-%]T՚HjhMy 4CLPT왈@\@\l4ąscrq +InRpmJ *YEČӒe\TCA5XZ
m +\EzL |K)e(ŧsZ&҂δ'iOGtʜs^8d&B(c@g{a +\QG狘kkZH +P +dx +1pFbtdMHT'j6eJ+#4'.
>)`l;$NrSbQLj"I9`ZCrv\Md~"!%#>^_{F.ݰh
G$6C1o{Uzµp-
U( +Sv40`GL19#&vPڌ~F9>&57z :ၐU>Yၜ,FۏR$(d((,(t(z!zLJiNT;]kd#5Kdl¦k߹IE:-ȶuc즟Q^$sb'̸<IY3V."#$D!mj7|$i Gyx6RDBޞlI{
9G7ScJnӷg&q"NJyEˑ8gpC;|\P7<G
5qQypg[}wxL58WLsY9$?3-Seµ0-M0*8yтI65|ωZC:]X.;p<YWCߵEBS)\$" Nqે`=\$ yH!),Npi"NpY@MD`,nk 01d`Hd
|e341x23*^^GT8=2%t"U\"YFHQ`pWZBjsw5@H ifaԧ|<4NlF"bs"97#9ǐ!)HvJ6 +YZ\Է7ȻOnݟ(Tko-'\ej2TS 2Skۢ615AvwIQ5 |d' es|d1GE@}`̧17G<ou}d,>#c! bxhXG"->2h<d4f#5)HHLC[RR)gPڐ24I,!c2r,Ci贓Z9ƒ>H,*AI!HsԂ94ǚAiJ<"5Q6E\ES{ @3̋9!HM_3Qc}*7gH"AF"1"xF
BBҕ80 D`Ks#fc *41!䙵J3Vi@0ВyL-!;0+#:eO(Us9/cKA<,P< 1&ELtIXY,x>S}bk +t1iɔ}.'ErN7\?nJo.W6 |w<:]Lc><2&:?{l^y3'ewaõʲkع]?;soiε;M{mwߟv}w-H-EK4iKs_7gB뜃fn]}:l0anґNYa:3ġ%̄IVP@}fy[1ll5T4ᮡu#?L7Wg7J5+(IJF~ku&t[JJ=i +6cK0/)g:mđʿ09Fbi% +Sn +bێ]ҝn(.'~oi0yn{GH'\cC(QsV/?iZN㩧שU-~qT4h~OJ)JB@LJ#rTmsӅ`Td"
AuMot]H~Fj%\I ͯKg&ؙP%%*-Nȶ4hlVI4gpMf9mp[%m^Y7#w4LSw%GշGc%2AVhu:]׳/^ӵl~ 1F
Zt~JNsaLҙ"`8a:
9t{c#P0.o-napn9wۃpGo/p|dhkqs'|4(b$~ZI.!?fy^_oXPunԓ +endstream endobj -229 0 obj +287 0 obj +<< +/Type /Page +/Contents 288 0 R +/Resources 286 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 249 0 R +/Annots [ 226 0 R 228 0 R 230 0 R 232 0 R 234 0 R 251 0 R 253 0 R 255 0 R 257 0 R 259 0 R 261 0 R 263 0 R 265 0 R 267 0 R 269 0 R 271 0 R 273 0 R 275 0 R 277 0 R 279 0 R 281 0 R 283 0 R 290 0 R 285 0 R ] +>> +endobj +226 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 40.17 305.145 56.608] -/A << /S /GoTo /D (subsection.161) >> +/Rect [203.098 753.738 316.003 770.177] +/A << /S /GoTo /D (section.137) >> >> endobj -237 0 obj +228 0 obj << -/D [177 0 R /XYZ 140.732 808.885 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.098 739.293 271.261 755.731] +/A << /S /GoTo /D (subsection.138) >> >> endobj -238 0 obj +230 0 obj << -/D [177 0 R /XYZ 141.732 771.024 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.098 724.847 310.997 741.285] +/A << /S /GoTo /D (subsection.152) >> >> endobj -235 0 obj +232 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F39 239 0 R /F42 240 0 R /F64 241 0 R /F61 242 0 R /F68 243 0 R /F73 244 0 R >> -/ProcSet [ /PDF /Text ] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.098 708.275 452.119 724.713] +/A << /S /GoTo /D (section.161) >> >> endobj -277 0 obj +234 0 obj << -/Length 5420 -/Filter /FlateDecode +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.098 693.829 290.836 710.267] +/A << /S /GoTo /D (subsection.162) >> >> -stream -x]I6ׯʈM,ɎCvqLtT[)eR-)$^VnR">X,yHWPVyΒ -%E^,]Ӧ{WTݘ%4aOK+\fLO~sTIR&
))DCgV<>r>tmMͩᨇdy'qda2Ya1"8$8Zd2|9G E"n'0E|u_$n]dy8]<>!Fy|ݩ{xG gi#z?F@@%/?Ao) GșY|4EJ;/Z>%xANʁk1WoH3T/CJԤs v<A(OT )O3L",۱˼Jޱ;B;nNJ)yxX)"Aj -*4R&XeY -FOBEn0Ʋ(ELhтVXg?,Ad#hՄvX:xY -S)Hʅ LPfl qm\نr)۠s]ݴ"kJ|dw6]ӱfkde^֔9L9А56 ҶqQ¸:% -j[(&"<PSUv|ԁm'_ (}lbmCF(C'l
Q"LTNoK3tlDG1.M0UPyTQHY,l%pƂg'̤q"h*C0lGi 5axv;^.rLb)xC7$. 鐂|}|6y|>?UQ=Ǐtwxk(bm3B@}:&[3(9L16/aq(C=eCԲP_KBbɞ!-& -K7t3 -KAER@Gڸ6k2l`/EO3.պkR3.[F\HoMҲtV~wԜskLuw*62aoJT(CO&"g,~@z_Qw}8lw_zٟG~`ߤPӓk>=677R㛷Uý9o>.?/构&Ӵ,LvE9n٢o1Ȇ1_.ڥ;c=쏍ުoi5ܧ|nZ&6 VCmf;]z$c.4N9/M^(d1|٦ao9g7gV
.K劍?v@v
a4<u?hӟe?/*h{<]кKyic_p>٦`V-\ݞo-{#toӷ7m7>5^-؋{K^ӓ[?jﱶ['0T5RڜzyRХ\t]RQ-%Z
eI~ô;KVfvb'U^oVEF=dPUdYdSQ(@Re(Tz=F?;3<o~Wmڥ{R卦ǽ%z5<
9G[rR[պ[jxl߆D -7jю\%\мd;KagJLlwnr 鞨%
7nʇtҕ[]-O>c!jy;rcpS2AdN|sS*ZUF-o^n9cSw1D偷_t|^&PmܲBloR!_u t7{W?Ql~?ڃ[Ogw?L˩DZBP ac>U'OȹypV|ܧ
7f
͇mcSk!?zOŧ$Թ-n☽jpU)B9qYR{䷈,
OFqƜq~l<4Yn@ -ɕ/K.aZ@Yffiκ5{a{W'p}8XQɔ!HEWyٚ*CsPE2.yHYj+]:⢆hto}LZ] -endstream endobj -276 0 obj +251 0 obj << -/Type /Page -/Contents 277 0 R -/Resources 275 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 245 0 R -/Annots [ 231 0 R 233 0 R 246 0 R 248 0 R 250 0 R 252 0 R 254 0 R 256 0 R 258 0 R 260 0 R 262 0 R 264 0 R 266 0 R 268 0 R 270 0 R 272 0 R 279 0 R 274 0 R ] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.098 679.383 305.145 695.822] +/A << /S /GoTo /D (subsection.163) >> >> endobj -231 0 obj +253 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 753.738 462.85 770.177] -/A << /S /GoTo /D (section.170) >> +/Rect [203.098 662.811 462.85 679.25] +/A << /S /GoTo /D (section.172) >> >> endobj -233 0 obj +255 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 739.293 332.292 755.731] -/A << /S /GoTo /D (subsection.171) >> +/Rect [203.098 648.366 332.292 664.804] +/A << /S /GoTo /D (subsection.173) >> >> endobj -246 0 obj +257 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 724.847 305.145 741.285] -/A << /S /GoTo /D (subsection.172) >> +/Rect [203.098 633.92 305.145 650.358] +/A << /S /GoTo /D (subsection.174) >> >> endobj -248 0 obj +259 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 710.401 308.311 726.839] -/A << /S /GoTo /D (subsubsection.178) >> +/Rect [203.098 619.474 308.311 635.912] +/A << /S /GoTo /D (subsubsection.180) >> >> endobj -250 0 obj +261 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 695.955 312.86 712.393] -/A << /S /GoTo /D (subsubsection.195) >> +/Rect [203.098 605.028 312.86 621.467] +/A << /S /GoTo /D (subsubsection.197) >> >> endobj -252 0 obj +263 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 681.509 348.882 697.948] -/A << /S /GoTo /D (subsubsection.238) >> +/Rect [203.098 590.582 348.882 607.021] +/A << /S /GoTo /D (subsubsection.237) >> >> endobj -254 0 obj +265 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 664.937 488.538 681.376] -/A << /S /GoTo /D (section.254) >> +/Rect [203.098 574.011 488.538 590.449] +/A << /S /GoTo /D (section.253) >> >> endobj -256 0 obj +267 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 650.492 290.836 666.93] -/A << /S /GoTo /D (subsection.255) >> +/Rect [203.098 559.565 290.836 576.003] +/A << /S /GoTo /D (subsection.254) >> >> endobj -258 0 obj +269 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 636.046 305.145 652.484] -/A << /S /GoTo /D (subsection.256) >> +/Rect [203.098 545.119 305.145 561.557] +/A << /S /GoTo /D (subsection.255) >> >> endobj -260 0 obj +271 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 621.6 275.879 638.038] -/A << /S /GoTo /D (subsection.259) >> +/Rect [203.098 530.673 275.879 547.111] +/A << /S /GoTo /D (subsection.258) >> >> endobj -262 0 obj +273 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 605.028 490.814 621.467] -/A << /S /GoTo /D (section.260) >> +/Rect [203.098 514.101 490.814 530.54] +/A << /S /GoTo /D (section.259) >> >> endobj -264 0 obj +275 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 590.582 386.731 607.021] -/A << /S /GoTo /D (subsection.261) >> +/Rect [203.098 499.655 386.731 516.094] +/A << /S /GoTo /D (subsection.260) >> >> endobj -266 0 obj +277 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 576.137 343.869 592.575] -/A << /S /GoTo /D (subsection.262) >> +/Rect [203.098 485.21 343.869 501.648] +/A << /S /GoTo /D (subsection.261) >> >> endobj -268 0 obj +279 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 559.565 516.523 576.003] -/A << /S /GoTo /D (section.263) >> +/Rect [203.098 468.638 516.523 485.076] +/A << /S /GoTo /D (section.262) >> >> endobj -270 0 obj +281 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 545.119 374.47 561.557] -/A << /S /GoTo /D (subsection.264) >> +/Rect [203.098 454.192 374.47 470.63] +/A << /S /GoTo /D (subsection.263) >> >> endobj -272 0 obj +283 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 528.547 539.579 544.985] -/A << /S /GoTo /D (section.265) >> +/Rect [203.098 437.62 539.579 454.059] +/A << /S /GoTo /D (section.264) >> >> endobj -279 0 obj +290 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 514.101 229.804 530.54] -/A << /S /GoTo /D (section.265) >> +/Rect [140.736 423.174 229.804 439.613] +/A << /S /GoTo /D (section.264) >> >> endobj -274 0 obj +285 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [203.098 499.655 362.454 516.094] -/A << /S /GoTo /D (subsection.266) >> +/Rect [203.098 408.729 362.454 425.167] +/A << /S /GoTo /D (subsection.265) >> >> endobj -278 0 obj +289 0 obj << -/D [276 0 R /XYZ 140.732 808.885 null] +/D [287 0 R /XYZ 140.732 808.885 null] >> endobj 5 0 obj << -/D [276 0 R /XYZ 141.732 488.697 null] +/D [287 0 R /XYZ 141.732 387.043 null] >> endobj 9 0 obj << -/D [276 0 R /XYZ 141.732 293.944 null] ->> -endobj -13 0 obj -<< -/D [276 0 R /XYZ 141.732 187.244 null] +/D [287 0 R /XYZ 141.732 140.978 null] >> endobj -275 0 obj +286 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F78 280 0 R /F68 243 0 R /F101 281 0 R /F67 282 0 R /F108 283 0 R /F111 284 0 R >> +/Font << /F42 241 0 R /F101 291 0 R /F107 292 0 R /F85 245 0 R /F127 293 0 R /F134 294 0 R /F78 244 0 R /F81 248 0 R /F148 295 0 R >> /ProcSet [ /PDF /Text ] >> endobj -287 0 obj +298 0 obj << -/Length 4136 +/Length 4172 /Filter /FlateDecode >> stream -x[o6_*@Zڢ{õ=C{Lۺ%W77ÛlЭ)"9p~af-Mt7E-8BhJ.8$[ܭ2WGuaՍI뾯ZZN<P-
'E0ny=Et:?}Mdarev6YܬH4Q^߾PQC-}ZKοjdvW2
W7}qT2>GN0T*ߚK*::J\ -LqU<^fUEo,o
d2f3c{Djyf0S`ϟ,ES -,ռBwW[ֆ5FYCv7
n[oQEpI檸CXv/)HA{byPyCji%ӧVR*P!.ž':k͢4dFUAF-+Dh5= n2b( uϧb -*e"5Y4<}ےmnƃ.uOM>^qPCs15Z/\q&i M -z E hjJ,*pa^\^N'WkuF\\kp%OGV8IT5 h
f^hߤТA!&HC$|"Fep* MBI(r5 -4I~R s\}oO;kVAJiL2]4fs(6@i8>9"m;lƚk*K[ [:AСa7n]geQstfSWv^L^ -UFY5h` cq3j9[z=6|X:!82ؙZ2t}W5*TWmvk"bVeW|h!҉N+[7l+̆HECKWګ`7dd^5ߺ!S}cJcm=BCA -mÍʢyUYsX8>>~Fҋ/*ME&6[P'5nQ+>Tlj r<ʜd\"\嚞:@
/5.; zk+-,OْJښ2woy;yAHLwn@W!)Os{_ פ%FKW>EOL1h^QݣPPu+zp/,Yn0hL-2~]Q;0]U
(WtNXKBOL?W8\_;맨Q=EG -üx'۽ij/%^I -w1l5EjvF)B0AHpmC)V(h(RDp[<nc;2PXPWO1hH.K&#S<I BfC `cق5wPs5G,ho-ӱ#䲖usq{J!yw#t(
ǂ.Ľ7n;5-͉\K8dy<vhS譫loIV1+O``^T_ޑt#sMMgyx# -99Óu
-#TJ0tnfMߖo! -w?I5&`F9$%xS092zIph -iedXsO+b.'I>bo&q<?a
%s83 {9N.#K>!3bߝs -g0kYǵ>9FǏBEU> Um}UP,P£}-[5Y>ADnȮlq,h -<:yrI[<>h6+SW;/<|/䃛|:9NcǨqPWˮ@?k˦ý@(Z?lJhܔE]lmﶅ8nĠD]eOkG3\t&-Xw}mŷV~>#+I'j&76^ -4tޏKf;d>V֬ly@ڬ'itf<sGr˾h¶x4D%c>wAPa992 -S %s(Gu$:ڭ Y3vej7PmI!B5VlQ=ZG`pVA ^`Fϰɥ'tvg ]9%:mݾдxֳ麢*nqjc+0]''I'&I1-Q4^)5v[h.Ȓ4j/OT$'kN%U 'bHtRj`{K]EK̟T};E=VQ&E -&0S?WSP-kg**[O,'Q +xڵ\[6~?0Uc$ o{RIvSlC`9~-3A/9q
Oݧedp +Se{7Kn
j_k*\Mo-[ ܮ99ݑ3ɼMݯ"}}"3 Y-;BߪF&Vd{%!\kGy
TG)0<=0r7$ÇaKFfֶhxtQ=?ccWU]l?`
jnçt 8nGS"rs엑*ɧei:pVKV꺺NG UzcdntbQ +^*xRBCgktPNU΄K,M (( +V +F'Hs4vݬtcLO}7Ӎbz6tc%3<ZE"3k}g*(i6'u]f +ni.O +5"a,јکW)a,;`^s6c]P1R?q$é~ΐ;/mWn7➚2Xf{&Io]CޭÉqE1 OmG(}PZ;$^*I٬XWam]!O$4~9V]w:g1Mj+` Iw/6ԯF$TLhǒ:gWdmFy'`E9
;3"ұKR)[/=k:Ҡsױy15QSӇ>vkH)]f
ܒ)jOnmSږ-%Y4$1~Xvd[_u-؍"$ +:zdaSH}ʢt$|v*vTd] ;J(VNmzU6DVkN6cCFN<!hEuKsxYXxӶ<x#u/B#ĘߵPۗ XM$"~gzyAڥ=i,# *S[̉VEŹ\xgl<"{E,Xn|a+])3P]BWe}z](=We)S@G2;
JhxCԔ:zWv_4o7S-oprK\l@P65( 3@ș]yKiGpeh_4[@N=bXqd7>>t
py8[26c>x. +8U!q?t~C"V5<&~Ė^ܱSԏگ]j@1SƵG)I|,svtJ~M<mXLt'Ao ,l*N^}"ބ5,` (í=`2{8V]B9qޑr:>Or
zZwP>̨uj:ᛞJ}0;v/RM#5BlLkn zC + endstream endobj -286 0 obj +297 0 obj << /Type /Page -/Contents 287 0 R -/Resources 285 0 R +/Contents 298 0 R +/Resources 296 0 R /MediaBox [0 0 595.276 841.89] -/Parent 245 0 R +/Parent 249 0 R >> endobj -288 0 obj +299 0 obj +<< +/D [297 0 R /XYZ 140.732 808.885 null] +>> +endobj +13 0 obj << -/D [286 0 R /XYZ 140.732 808.885 null] +/D [297 0 R /XYZ 141.732 771.024 null] >> endobj 17 0 obj << -/D [286 0 R /XYZ 141.732 771.024 null] +/D [297 0 R /XYZ 141.732 603.49 null] >> endobj -285 0 obj +296 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F108 283 0 R /F42 240 0 R /F68 243 0 R /F86 289 0 R /F98 290 0 R /F67 282 0 R /F95 291 0 R /F111 284 0 R >> +/Font << /F101 291 0 R /F42 241 0 R /F85 245 0 R /F107 292 0 R /F81 248 0 R /F148 295 0 R /F141 300 0 R /F121 301 0 R >> /ProcSet [ /PDF /Text ] >> endobj -294 0 obj +304 0 obj << -/Length 3722 +/Length 2717 /Filter /FlateDecode >> stream -xr}EC
u]=8bf#h¢Ȏwg]4VSH;k?4Gwfee)Q}&u_]y-#(DQ4fIJ"3 -]u4Z{u?\a(7oݠ
뺽w8nWš]|>jɦSWnPT}]^t<bIƐ rH%(1&
|h('ﻲHK
<[whq|MJ`K ۪8F3o}" 4Ú N1*YB -3s״]m{Bg<2ax->hܷ;`*]y_oGD(@qhyb>Ӯ*vߗ3ٞq-lo.Afg>tJ[^Žh{ -qU=f]jGdsrނ";bSBL"|MOrKV#囟`KIeT)6G-@EHyu7)59vwW -@P+a$ -ur3]}Myj}s>X^5-2F#/6#rukIT(qX -SlGT~3=(I=P@I"%3H.ߢ&I2DʟOyէb{FmTNQWaQ@]#ݓp|hu~Vv{jٙ.3]0w'ӾFOD7,ؤL)wyvѝIXq4UbYQ)C% -]ڝVPc]=[k!F9g\!SfsPO;]5!I3kSG&T!3w8CX;)- ,ޢ:_^$qFϦ*]m>8;I>IcF-m̓\lZ]C' -O<f4<=pD -fS"MA$p\gzRljqt=fqԎSk0JWqFְ;:[<k,nX>OkB,Ś -X#
Öb[#ש8EICfNBIIByy-V9ٱՁ!ʐjWI'LssO&cuw䘲eP$4$,
Πc6NEQ"0ֈ(, -t! --EAE4Z:h-;
sQ3vV.%1~"hQPU -`GaȓkIZ"@m -T0U403@oW/:M0GI61gYV;3lC0bMuJS=sv F lFŶxZgdS)i6Lg>3TC]eB?ddƊ]߀$&@\-kZj7:V꾨/j{ -~gz?=t -1Cz?}˘nfq2E=ͻM=G94Si[bcBMlO>%s}Q3@<{Ğaèe(95wC;XIhQw7ֲͦe1ҲHq9z߂xe7@J1߽rF7Ͷ:i{wU]Cݭٝ}eOSHTEˇQ|#]h=t -lleК)86cHlV,>-TC~巓
h?ۜTl6e6E95.{pǥ.},=K#2A..`lYJSbkk}FוP#77<6}՟/ vfrȼP~sAs{ +xZIoϯmh76cKLm%1GR#{~})ǔ, ͭվf,~_|\)x\/8%Ll$8bX-݃Y4UۦP[ZUw/bWvXh.[[Me"eI#~kwtjzK립p)7"Ek +O.Q| % E +Ww1UK,/`Z.j-Ƞ$gŃ4"U| +rg[d1S)z[T +d#,ZeU_GE?ۤ2)&ܢF"X*v$DŽ\FH
<:정ئ?D}ԂPU-/N48fc<7m?uyd*Gt\a8 +]S'}}S<^X`Ql |J%dz*_$+S~h<gޜ@i(rѓTi:aMkVmt<h'#N+]Q@aʮ0&]۶5%}gg6w,;ҩ* 9T^!Ң]cgl5$փϽasɣMe]Dkۺ;F'7W.O +[3
~(9aÔF!l7U3,ᇽHN.``Sp،xqb43]ϰM +ڻ4 ;i1Z `Er6f_ΗW%Ww7*-msH +/uZSA~C1].&Xߩ1/,%Ön
Xu +-?%%zPy"3Q'qeZ\g<!)
n"*PJh;:A9 Qzi(}fʸ/MRʂYS/!5(Ή"qjCEX1ex76BY+NXMK- Xqg!ƎKu:&]?os^ ۡѐ Lij[e/ieTBc~HGO;[/3u48tNu
%:VG/sPؘx⤉a>4}zR,%zQ_Ģuyʅ#}>yLL]%Y~1:bJ|恮'gw2*&6z]Py.!]r>AYLojD\MҚ)ԋ2@s6?<_JĽ!x:.a&(OÄo_w1 endstream endobj -293 0 obj +303 0 obj << /Type /Page -/Contents 294 0 R -/Resources 292 0 R +/Contents 304 0 R +/Resources 302 0 R /MediaBox [0 0 595.276 841.89] -/Parent 245 0 R +/Parent 249 0 R >> endobj -295 0 obj -<< -/D [293 0 R /XYZ 140.732 808.885 null] ->> -endobj -21 0 obj -<< -/D [293 0 R /XYZ 141.732 542.885 null] ->> -endobj -25 0 obj -<< -/D [293 0 R /XYZ 141.732 347.314 null] ->> -endobj -29 0 obj +305 0 obj << -/D [293 0 R /XYZ 141.732 183.764 null] +/D [303 0 R /XYZ 140.732 808.885 null] >> endobj -292 0 obj +302 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F68 243 0 R /F108 283 0 R /F67 282 0 R /F98 290 0 R /F111 284 0 R /F140 296 0 R >> +/Font << /F42 241 0 R /F81 248 0 R /F85 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -299 0 obj +308 0 obj << -/Length 3812 +/Length 3531 /Filter /FlateDecode >> stream -x[o6VT>Ez@[Yu%$oo3)DZ5%RCp72~̾y~y"fBĹ1rvs7Zĩqb|]bqog߽yJfQQ>;%n~2~^Dq"$$3AJInV0"M}}ժUMGҨy}tS_|ϯiDuT}6Օ*Ѱ(&Cvß9{H<Ʌ㘹Y=4+nt'PUh7#W+i ]ʰݰi;dt=}wk
xuIf7GofXd)zG55n7yz?~q2!3"ZkU`lWk/[ТUfW
JG9Ji;,<S-ruV,&^Vz+ŪqA|X@Z]'I>{'t! 9|(Nha#fZ9*XhSⱰbFN$"6Y)]Xi6zaVpg֊-+j~w P硸]P -I˩BMqy@:|* -kT)E7sd.ǝ%uU)t,tS%vv蠸)TT}rCA"`;`*=;dRvO1pLh #chHH)*e"Imz`F3ILIRE"~/ʩ(3pIT !^Җ[NE4rY=WCd$xVg"MlOeK txYѷ>+17[rW@xdmzXNնh&;A*]l^?sQ -3gi*tW~u -i¯pXbwtY^&_;9.)ud^䤩XGv{:ԻmIǰKF0I̙. -dTJCόUJI+5gc]q8EzH dWq2GrjC<:0x &*8Giy[859א]^̷IdCð}uu74p^ִ3wF@ -;uxjϽmȟnV;" -]rhuv@b< -w+ 2n,̽YlsuǶO V 觭C4*F}tZC+?"ks/Cwl܂
y7RSr~L46&r7 -lapݍ؉)Ic=\֤,-y'84ga# -jĿS1n -xP_iW9[lQeq(O(EĜ'xzrҼ?V
z}sp0VF,naE2:Pwm!lLteUC̩jIS 9]RHH'K3/L%iRK{fRlaj@i5\wIFS -866&F_ȯZs>"ب=7z&dJ߃=}baU;eNktM*Mrf&t".:8~ΫOmٟDm<=c)UDǹu/LĘ$^3+kzAusIj[9GYX&eZ]4ܱH<c10CbiBxD"챂vIU\.<=w]re$vdf}Ijݍ_ -=hqlu -Xv>H'9DfM}l"
a{=ev-@D[ i?c@ +xruR3B< fפiif4E[%R!z:H%]d cDC~z_~TRHɂ +JbX&$R:]?Ϸ??~K_Ӻ?:qV|]n6i݇GTP~0龹ܘ74J%h3ETăl᧟`/$MEuSqx*S
8D$DjHHwMYHar3$f1.D}a#|czИPQAŇ[1 +{7peu0]/GD&܃S2sowD8csDU9{,7FG֠!(hgU",Wh4/
&`\eIDrͲy̎~1'P!X9Ųc(yQ;HѼM\h!xl;G!J g9#iA"A?o3!LB:S~q0qYyCgF^8;70>+ק~w}cׇNM^6wt)"OwgFE41%S$ 3Nk.&ϬV)~1>}mc3>a囓ތAr&Q:iKLI/Ei +O~~/bXs/+mVM4{{QUD5yz^eea*X7,RD4|]ƋzLRp ~=, U@D]JqcʔxԲzLrg<-|aHn6߸+K?
iUtn}҅'8@F\B2P1Kd~,CZځnTPJ0s}X{βܙiiogrw,qcMfsEL-8SJ3z6i)v(սMx,Ͻw
`FaAYv<.X
epAתj +m**Eu4bA$'Kgvw'Y|KD+d0}ki1ƻXu6%R㒦gڊ*&O>%%PlW0S>tw_=Yǘ1pX$7WY8iM$Lf|j/>X58 w#&2ȈCL;4f
0u)^$BH`AݔBjG2>Q Dz6A]6=ddBImD!XNUwޥx7]w
uĔUPA @i{ +AQꁪA)CT! 8@YHI? =T DQR_Ud@_G( *#3`!y +Z<0E_<(`5Uwj>DdǰpBjƄtU r>@ u6LH9'dlfJX.I +SB`23%Gu偞O}W:Z$p.}]Z1k^JP@
UZ P*[NV:2MZ1T0>"OH0s.tLGx-[bK)eڈEά'iZ0!I~* #:neЃ~,=C\8q67GCym~l,Iزx;mx}::^m$mLO<apAavu:c*|[w~W=n P.9?z+]jgk6 fn=^5γscǓ`Ia |r4>Lb^geb;e\gWћV,&]*6ۖei6m:uU/6lzgZMz6g]aLg\g\m?7{#<2f3\}8Eu͛5ІGmvW96!c#l4|6pW, +_iyA<"Tv69oК2_^ۓ~挙;l+yt܍OlX?Wn^n|.E;$hbwvk$Q;5F*FDYˮlz46ZݧJY6vCNގ^"JX5?nb4ځشu +DzSAflDBW +f +&Mc`(k9B;eol!/6-9s""U구`C8b+8C֙[nT c +ٕ@ :Ǚpȕ +kg85#u&5ݟ+y1`>ڤêo';~p
j
;lem\}P~1(!''ʵ"5S9tY%m2ձ#D)-/ +OgjsCg:7s5G=gN5JNbVv`V;kn״=RԵRK1-2ڣH@0Ͷe-
9նY鶈위y| kd]R*?0pٟ4*lӶoJޟ>AOEkﴦms$bdwe ӻx+T endstream endobj -298 0 obj +307 0 obj << /Type /Page -/Contents 299 0 R -/Resources 297 0 R +/Contents 308 0 R +/Resources 306 0 R /MediaBox [0 0 595.276 841.89] -/Parent 245 0 R +/Parent 249 0 R >> endobj -300 0 obj +309 0 obj << -/D [298 0 R /XYZ 140.732 808.885 null] +/D [307 0 R /XYZ 140.732 808.885 null] >> endobj -33 0 obj +21 0 obj << -/D [298 0 R /XYZ 141.732 771.024 null] +/D [307 0 R /XYZ 141.732 771.024 null] >> endobj -301 0 obj +25 0 obj << -/D [298 0 R /XYZ 141.732 114.353 null] +/D [307 0 R /XYZ 141.732 524.578 null] >> endobj -302 0 obj +29 0 obj << -/D [298 0 R /XYZ 141.732 114.353 null] +/D [307 0 R /XYZ 141.732 321.145 null] >> endobj -303 0 obj +33 0 obj << -/D [298 0 R /XYZ 141.732 102.398 null] +/D [307 0 R /XYZ 141.732 132.694 null] >> endobj -297 0 obj +306 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F108 283 0 R /F42 240 0 R /F68 243 0 R /F86 289 0 R /F98 290 0 R /F67 282 0 R /F78 280 0 R /F101 281 0 R /F140 296 0 R /F147 304 0 R >> +/Font << /F148 295 0 R /F81 248 0 R /F141 300 0 R /F42 241 0 R /F85 245 0 R /F101 291 0 R /F166 310 0 R >> /ProcSet [ /PDF /Text ] >> endobj -307 0 obj +313 0 obj << -/Length 4079 +/Length 2615 /Filter /FlateDecode >> stream -x\o8_*@Ŋm-wmUl%9Knolɑmu!%r8!'I|뫫? PJ,IrbyB*(ќ%ZZ+\͓]*nW2㜦^W]ŨŻ\蒙t1+T//_'mqUN.?@@t\Ary_yJ"8'B.b1<]7,t@W_4j@Nh*C -"IV+,("sϥsyO -bk&Uo`DFVybULA:ȁhT/wzz;3'˟nUf9//3d xW~*wK !W=ig- -,宁Q - -kQ1Z-`@!%y"Sߋ.]ŏS0uQ[z՚j#3iM_oihg2,E)sC]N(Q:CvGBH$W ʪBTh -\N9ud5++C>o46$Wrι-!MbeP:),q\JU:6{@hDB(óm#pl -Ѝvp^}<Jˌm\)8ٺte?\@1LsNr=#4
MH t -gk@sct{ -MbRy;#V7̪ c
[u2.M0g#-bP9"' -@цni1Gu% p56!;]y2P+xf<'| MYiQR-Du]N^DZ -p:+@|(q՛T
Ei( -ODa6WG~L'7 -4Иduv0mK|hU]UٜwE@"oP[ -|LzȹCI`CVC^IGJnYl-O+>3c[(@|h4sv˞%9Ƕa -ya -[}"6x)
aJ,W÷1-,T -EJK86nV[@D6 -.mFn^5xnYj'aۡK -,w9tpH>4 -Ei:B<nX +xMo_D襋{k`3{Pd&F\I7((K'vQIz|__=NZ`1ruZLUf8J6ЮoLw,K}Hf
뇝{Z$Kx[zƽUֿ4W)u~ÿ([<[3]oЛc +߹\m.KXZld)hIY #-Qe +!'Olpy,=l}mӓWla3
>.,9*J>T=97aZ7oT?s!kGhB*^h)ɦm +C)̃Z#)v|↟\`FZ"k $gHܮ=~ +'+ +}Fǜ4Nǯ
x(N) +Z8yqMRAP4xv04S4#GTOUeO{_is6f@efy"Uzm94FC렂Gqbi
Dc5Н+XR>e \0_M|m QȦϡIruB撔чݠ?w-41 U-2.@9졋 +{B(ǧ>a㸁jPF +jZ2V&.kR0`Y1蜃9{u''"MЩdHǒB>$ uND`L3z7̘|WѡHCBikj'w
Ӻ~Yn%nRk=I|ZWk vG8w)dB:C +epưBL[p8z 52@cw)㗚nַ&ƨyTb!*f<*Qis}TKDOĨ`YT +|QOT&sRǶte5$Ww`ː /wҢEPsnv (?`F'5S<ˋc<4;EXF#=p +b<3iM˲ endstream endobj -306 0 obj +312 0 obj << /Type /Page -/Contents 307 0 R -/Resources 305 0 R +/Contents 313 0 R +/Resources 311 0 R /MediaBox [0 0 595.276 841.89] -/Parent 245 0 R ->> -endobj -308 0 obj -<< -/D [306 0 R /XYZ 140.732 808.885 null] ->> -endobj -309 0 obj -<< -/D [306 0 R /XYZ 141.732 726.842 null] ->> -endobj -310 0 obj -<< -/D [306 0 R /XYZ 141.732 730.429 null] ->> -endobj -311 0 obj -<< -/D [306 0 R /XYZ 141.732 597.848 null] +/Parent 249 0 R >> endobj -312 0 obj -<< -/D [306 0 R /XYZ 141.732 597.848 null] ->> -endobj -313 0 obj +314 0 obj << -/D [306 0 R /XYZ 141.732 585.893 null] +/D [312 0 R /XYZ 140.732 808.885 null] >> endobj 37 0 obj << -/D [306 0 R /XYZ 141.732 442.724 null] +/D [312 0 R /XYZ 141.732 345.404 null] >> endobj -314 0 obj +311 0 obj << -/D [306 0 R /XYZ 141.732 339.893 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F42 241 0 R /F81 248 0 R /F85 245 0 R /F141 300 0 R /F148 295 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -315 0 obj +317 0 obj << -/D [306 0 R /XYZ 141.732 339.893 null] +/Length 3417 +/Filter /FlateDecode >> +stream +x]o6}^ +W&̵`kvI_RXO~7M!dG" MGj +?5ѐer +=`[|1TA1eU2BsHpb4{[g~td2pIឭekm('+(۲WrD,)[\mliƛj)C?$L)5n
3vGY9aLv7+fVWaR +}PvldB0k;%QrnN7DKG]V)sK J{[ljwO/#Ў6>~H0z&$1G"P|(='>g
f`
oṈ3.)4_Saȏa)ͰvQնLu,u(oc&]~MG;[?<r00ftj@
bSsؗro__3}w&`ĻhGQonm9|y4M-Yz\{1XI90 +D1}YC߲o."8
ۅC_3ng_wwF)5op0lvֹ䣖P(E5qj1x1үжq>!$<&";o5e?N#b;/K
7v2j?^LlkA6Ҩe(7Q9\d?uJY!б3 !GJNpn>~N7 +ޫ9GYOaG(Y6^A{4_`ohLƃ(A(vEX$vE)',$RѬSB%V&ʁ%I*ե<U4\N"WƓ-7H[ ˓XCH%Sy b$( +ZVEpIM]ͺ揉22K3FЂULȆ2⏏2avp6)Ӷ6qq1owŤ9"dYriH~
JM|/6}w[m"(,bqmCЊM0u<L6Bb<2腄Fv|QkBGa<\vAiΦv^qWDŽv&DiyK%gѱc=Q0 +-@O?8}qbΟ9-!JlkIdhsKH/]c{6ai\@5#.W;]xƀ=lHOp*
{..mx/
kq«ɭ%x f"s&TZW&QK۱iҀ"1fN&<D29u91Iq$SyHֺ *ѸtrDI=̌$fy!s4h= .IAݥ"\ +/Ҡ!op0M=/bnW4xGXU`|Wׇ (*m^R&OQdaԠcldvWoGYf@
cA$F%^ryaqD <d csMf6sOgmw'Uֿ!߲S|ԚP6vBnэNeIF@5 +endstream endobj 316 0 obj << -/D [306 0 R /XYZ 141.732 327.938 null] ->> -endobj -317 0 obj -<< -/D [306 0 R /XYZ 141.732 315.983 null] +/Type /Page +/Contents 317 0 R +/Resources 315 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 328 0 R >> endobj 318 0 obj << -/D [306 0 R /XYZ 141.732 304.028 null] +/D [316 0 R /XYZ 140.732 808.885 null] >> endobj 319 0 obj << -/D [306 0 R /XYZ 141.732 195.911 null] +/D [316 0 R /XYZ 141.732 592.169 null] >> endobj 320 0 obj << -/D [306 0 R /XYZ 141.732 195.911 null] +/D [316 0 R /XYZ 141.732 595.756 null] >> endobj 321 0 obj << -/D [306 0 R /XYZ 141.732 172.001 null] +/D [316 0 R /XYZ 141.732 583.801 null] >> endobj -305 0 obj +323 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F78 280 0 R /F101 281 0 R /F140 296 0 R /F67 282 0 R /F98 290 0 R /F68 243 0 R /F108 283 0 R /F61 242 0 R >> -/ProcSet [ /PDF /Text ] +/D [316 0 R /XYZ 141.732 459.353 null] >> endobj 324 0 obj << -/Length 2245 -/Filter /FlateDecode ->> -stream -xZoF_ʀAZ Ww9=恖h
E$U'(Uږ2<ؤofggv& M~>z>;y c)œUB&,aXb#TdJ.&edSԤ=vr0㏼UoiӺ[k&2~pcE>ie}16Ltfu|Wk)'ҷyZdӏwr-h.Poדx(200i&JizTIVo1ƍDQ}xD6p٫0e)")s -"%Sdvj$)L_jﳛ@MUlVe3D2h̖i)V%H5~@|űo i]_vd -Ip׃zciUCLUqe[S0`1qߋ|zyy$ -:I<mmuYF(j,(x%5ͦ]qț6Κm7yQ)uZs/4.z+ {U?E - -#6+a_Sx7W~]\^-&`&*+^
{0 -endstream -endobj -323 0 obj -<< -/Type /Page -/Contents 324 0 R -/Resources 322 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 353 0 R +/D [316 0 R /XYZ 141.732 462.94 null] >> endobj 325 0 obj << -/D [323 0 R /XYZ 140.732 808.885 null] ->> -endobj -41 0 obj -<< -/D [323 0 R /XYZ 141.732 729.679 null] ->> -endobj -45 0 obj -<< -/D [323 0 R /XYZ 141.732 591.875 null] +/D [316 0 R /XYZ 141.732 289.8 null] >> endobj 326 0 obj << -/D [323 0 R /XYZ 141.732 455.623 null] +/D [316 0 R /XYZ 141.732 293.387 null] >> endobj 327 0 obj << -/D [323 0 R /XYZ 141.732 459.21 null] +/D [316 0 R /XYZ 141.732 281.432 null] >> endobj -328 0 obj +315 0 obj << -/D [323 0 R /XYZ 141.732 447.254 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F107 292 0 R /F127 293 0 R /F166 310 0 R /F171 322 0 R /F85 245 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -329 0 obj +331 0 obj << -/D [323 0 R /XYZ 141.732 435.299 null] +/Length 2580 +/Filter /FlateDecode >> +stream +xZmo8_o +#R<dj|矮~i>>ˢȳUUDvswgb۫aӒh&h0&6 +DI~?m$ZUb;(iZl3Nb.tȾ%*I}0B`aE$@Dr{6PvԦHb=I6suO{~gFɇŽ7~NŴL*8اxMռWjMvoԐ?*RV/wn>T2mzv槶5\ +kω},v%Usˍ[v$CHfڃ,JGtNӏT,t'E +Kz2-} 6ϓ*-㤄qmaR%EtZkreXYiBe. +نep,}Tizd^{"/lb/\L +AWr,z!C\MģM+i9)7O0 whCÁotZXOc%Hv&<55r|s N$ 64ee8jD\vkr~':ܦ#
ߡ!<g +X8Mᚑ
=L5xw1h<#[|ˆ0ܚnAy|6j.3,-E%x%|?]ú]HaudLm^Y;|n՝77,}M4]a}e鳕PHßׅzE=.,5z;"#W +B(D79]B./X[]Cuҽ)o8_m #APwGA͉ v{a.،95[қft{ Pԇ˛yⷕj1?XGm1R~O"?VD͡ _7mm{= +F yz♦6-V0߿\ވB<O0U^͓쳗l#Epbs;)ޠ&U8if pG.~uu\e}=<b +]{<j]\8Fs%kB8\ +endstream endobj 330 0 obj << -/D [323 0 R /XYZ 141.732 423.344 null] +/Type /Page +/Contents 331 0 R +/Resources 329 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 328 0 R >> endobj -331 0 obj +332 0 obj << -/D [323 0 R /XYZ 141.732 411.389 null] +/D [330 0 R /XYZ 140.732 808.885 null] >> endobj -332 0 obj +41 0 obj << -/D [323 0 R /XYZ 141.732 399.434 null] +/D [330 0 R /XYZ 141.732 771.024 null] >> endobj 333 0 obj << -/D [323 0 R /XYZ 141.732 387.479 null] +/D [330 0 R /XYZ 141.732 614.785 null] >> endobj 334 0 obj << -/D [323 0 R /XYZ 141.732 375.523 null] +/D [330 0 R /XYZ 141.732 618.371 null] >> endobj 335 0 obj << -/D [323 0 R /XYZ 141.732 363.568 null] +/D [330 0 R /XYZ 141.732 606.416 null] >> endobj 336 0 obj << -/D [323 0 R /XYZ 141.732 351.613 null] +/D [330 0 R /XYZ 141.732 594.461 null] >> endobj 337 0 obj << -/D [323 0 R /XYZ 141.732 339.658 null] +/D [330 0 R /XYZ 141.732 582.506 null] >> endobj 338 0 obj << -/D [323 0 R /XYZ 141.732 327.703 null] +/D [330 0 R /XYZ 141.732 436.893 null] >> endobj 339 0 obj << -/D [323 0 R /XYZ 141.732 315.748 null] +/D [330 0 R /XYZ 141.732 440.48 null] >> endobj 340 0 obj << -/D [323 0 R /XYZ 141.732 303.792 null] +/D [330 0 R /XYZ 141.732 416.57 null] >> endobj -341 0 obj +45 0 obj << -/D [323 0 R /XYZ 141.732 291.837 null] +/D [330 0 R /XYZ 141.732 179.919 null] >> endobj -342 0 obj +329 0 obj << -/D [323 0 R /XYZ 141.732 279.882 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F148 295 0 R /F81 248 0 R /F141 300 0 R /F85 245 0 R /F42 241 0 R /F127 293 0 R /F166 310 0 R /F107 292 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 343 0 obj << -/D [323 0 R /XYZ 141.732 267.927 null] +/Length 1831 +/Filter /FlateDecode +>> +stream +xZo6_@co0 ӱV[J%yiQI)$vȻ>xf^~}uv~qG2FeIFQX!Yve%IW0F&2"a'lҖKޏ-g]A[ǕkDJ# SPG4w7u*:6M~z1)bt +Wnᓊy +psDez=%7Hs?AG,/?*A'`s:X),#1R@#*7Q"ml r]/NR0Ԩ| +zټ5,];`&8IYW]iG +qHG!vo@zϬ<cIc1w!܊|W-hL*<RCȦ0[> `9>@*bpFwҝ\aHz,qR"kprTPN.LjF8E'zqpG/aO.m8i=5#P +ޥN\B +͑#4kqzΎ^BAE AX8`Ͷ)Z8bUpGNW롬}nн(gK-FQ>t"y^,5`p
g +̫CMXWgU5PDaxUޖ=X]ŦH7;"DT]cTY7u۽B\ؾyQ;)$W^3LZT d0}3u%@(CyL1@TV]PULEqo*)Y`_W! +r,d-K ̛z_X&Lo2[AS8`0=I +x7ǿ +endstream +endobj +342 0 obj +<< +/Type /Page +/Contents 343 0 R +/Resources 341 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 328 0 R >> endobj 344 0 obj << -/D [323 0 R /XYZ 141.732 255.972 null] +/D [342 0 R /XYZ 140.732 808.885 null] +>> +endobj +49 0 obj +<< +/D [342 0 R /XYZ 141.732 703.278 null] >> endobj 345 0 obj << -/D [323 0 R /XYZ 340.157 453.86 null] +/D [342 0 R /XYZ 141.732 523.004 null] >> endobj 346 0 obj << -/D [323 0 R /XYZ 340.157 435.662 null] +/D [342 0 R /XYZ 141.732 526.591 null] >> endobj 347 0 obj << -/D [323 0 R /XYZ 340.157 411.253 null] +/D [342 0 R /XYZ 141.732 514.636 null] >> endobj 348 0 obj << -/D [323 0 R /XYZ 340.157 386.845 null] +/D [342 0 R /XYZ 141.732 502.68 null] >> endobj 349 0 obj << -/D [323 0 R /XYZ 340.157 362.436 null] +/D [342 0 R /XYZ 141.732 490.725 null] >> endobj 350 0 obj << -/D [323 0 R /XYZ 340.157 338.028 null] +/D [342 0 R /XYZ 141.732 478.77 null] >> endobj 351 0 obj << -/D [323 0 R /XYZ 340.157 313.619 null] +/D [342 0 R /XYZ 141.732 466.815 null] >> endobj 352 0 obj << -/D [323 0 R /XYZ 340.157 289.211 null] +/D [342 0 R /XYZ 141.732 454.86 null] >> endobj -322 0 obj +353 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F78 280 0 R /F108 283 0 R /F68 243 0 R /F98 290 0 R /F101 281 0 R /F140 296 0 R /F67 282 0 R >> -/ProcSet [ /PDF /Text ] +/D [342 0 R /XYZ 141.732 442.905 null] >> endobj -356 0 obj +354 0 obj << -/Length 1681 -/Filter /FlateDecode +/D [342 0 R /XYZ 141.732 430.949 null] >> -stream -xZKoFWR`M)A/uu(@K#TWE{gHWeboo%ׄM~R(L[2.P2Os|CD8
VGA/΄8ѳŮ]h6;+8*'W[ψ@5zGā\anAR4!Lz|}|QL@X=a?b=WY{Q_Ga
2y4$}lдT,`v
3@;,6DZy16TE-hMtmnN -U.;bֽbb0QցB9nx5+)ps˯ۏz%&Uqk{jpO(J}`(%>68o*Ni٪.,^-gͯOK=]G_M/g;z'<" -Q:3Ȧ@AxLmO)Qu -hYdYV_'CQֵ[aC -R}=Q*2ŭJ*TPKRod'2EưktHR㉋ݟ[9qmT:.;|=qi^N£`d*-N;V!ŗ/K&N]&~U)C?IF1
*1VVAVc#G)·+CW`0Rb֗?vvYnk0_@/ -endstream endobj 355 0 obj << -/Type /Page -/Contents 356 0 R -/Resources 354 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 353 0 R +/D [342 0 R /XYZ 141.732 418.994 null] +>> +endobj +356 0 obj +<< +/D [342 0 R /XYZ 141.732 407.039 null] >> endobj 357 0 obj << -/D [355 0 R /XYZ 140.732 808.885 null] +/D [342 0 R /XYZ 141.732 395.084 null] >> endobj 358 0 obj << -/D [355 0 R /XYZ 141.732 752.925 null] +/D [342 0 R /XYZ 141.732 383.129 null] >> endobj 359 0 obj << -/D [355 0 R /XYZ 141.732 756.511 null] +/D [342 0 R /XYZ 141.732 371.174 null] >> endobj 360 0 obj << -/D [355 0 R /XYZ 141.732 744.556 null] +/D [342 0 R /XYZ 141.732 359.218 null] >> endobj 361 0 obj << -/D [355 0 R /XYZ 141.732 732.601 null] +/D [342 0 R /XYZ 141.732 347.263 null] >> endobj 362 0 obj << -/D [355 0 R /XYZ 141.732 720.646 null] +/D [342 0 R /XYZ 141.732 335.308 null] >> endobj 363 0 obj << -/D [355 0 R /XYZ 141.732 708.691 null] +/D [342 0 R /XYZ 141.732 323.353 null] >> endobj 364 0 obj << -/D [355 0 R /XYZ 141.732 696.736 null] +/D [342 0 R /XYZ 340.157 519.451 null] >> endobj 365 0 obj << -/D [355 0 R /XYZ 141.732 684.78 null] +/D [342 0 R /XYZ 340.157 501.253 null] >> endobj 366 0 obj << -/D [355 0 R /XYZ 141.732 672.825 null] +/D [342 0 R /XYZ 340.157 473.855 null] >> endobj 367 0 obj << -/D [355 0 R /XYZ 141.732 660.87 null] +/D [342 0 R /XYZ 340.157 449.447 null] >> endobj 368 0 obj << -/D [355 0 R /XYZ 141.732 648.915 null] +/D [342 0 R /XYZ 340.157 422.05 null] >> endobj 369 0 obj << -/D [355 0 R /XYZ 141.732 636.96 null] +/D [342 0 R /XYZ 340.157 397.641 null] >> endobj 370 0 obj << -/D [355 0 R /XYZ 141.732 625.005 null] +/D [342 0 R /XYZ 340.157 370.244 null] >> endobj 371 0 obj << -/D [355 0 R /XYZ 340.157 740.319 null] +/D [342 0 R /XYZ 340.157 345.835 null] >> endobj -372 0 obj +341 0 obj << -/D [355 0 R /XYZ 340.157 722.121 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F85 245 0 R /F141 300 0 R /F42 241 0 R /F148 295 0 R /F107 292 0 R /F127 293 0 R /F166 310 0 R /F81 248 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -373 0 obj +374 0 obj << -/D [355 0 R /XYZ 340.157 692.731 null] +/Length 1898 +/Filter /FlateDecode >> +stream +xZIoFWʐ&/F ȥ +'CPзn%~6dz$깲MbEGa\"{id[j`zs]4<G36/@,r:[dV)b{ۣlZV(m,o&.EDW$MY>w?w@dE/\#uy|̲z@'t +,P;+n\ Gp6`1i[LAu!h3NJae|M +1,=kX#7ix24JıKJCynXSOHfNq +f)(RŠeqc09@vE8H"@@.?̸DSasz!8Bt99='i0
1Q=n`$+v̓ +Hj(0$Sw&vDdP
<_UG +;?D8RŞk(v.Nn9W44)4+Z%՛taY|֏Փ +s[ DGYd)9'"}v-gv%E't~?IpgYngE\ +ZChl|);7+t`
i@$j^ⷸO툁~I,[39eU,Ǖ6'XPj7h{WZ$ HB`B<&0 kx\C?oH)`ĚVL8Um$v?sSkUEtϮ4.S8IRXU'`PVaGU}UWL48Κ ? +K"O$p0RMF"v!&
τ!n:`;nmCz{5cR^N;/7%i⦇M']8xcV|q*hp3#.5E4MlԘٛ;80:ZӽSxȖ
f:@/cf2 +&M`6^eʍI^380
./Z{8,5biն`w +endstream endobj -374 0 obj +373 0 obj << -/D [355 0 R /XYZ 340.157 676.226 null] +/Type /Page +/Contents 374 0 R +/Resources 372 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 328 0 R >> endobj 375 0 obj << -/D [355 0 R /XYZ 340.157 651.818 null] +/D [373 0 R /XYZ 140.732 808.885 null] >> endobj 376 0 obj << -/D [355 0 R /XYZ 340.157 637.372 null] +/D [373 0 R /XYZ 141.732 738.429 null] >> endobj -354 0 obj +377 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F140 296 0 R /F67 282 0 R /F42 240 0 R /F78 280 0 R /F68 243 0 R /F101 281 0 R >> -/ProcSet [ /PDF /Text ] +/D [373 0 R /XYZ 141.732 742.016 null] >> endobj -379 0 obj +378 0 obj << -/Length 2568 -/Filter /FlateDecode +/D [373 0 R /XYZ 141.732 730.061 null] >> -stream -x\IsܸWjʄ}ncGTٮ -MI{QzǙv7n-M\Ƿ|x@H4Oh㿮i&--a$ՇO4Jɗtpx:Kv+J?/ȓ#rɭXCȄ1bLVEr_HGDOo^\|M, -Trs0 h G -i!ȸ-v<_QM7OW(y7?l&<_|?_oĐIQR -00br^\gdeQTrXl(oՅ1(6(4ʺ4Fọ! b1A(ؑsahau;$e%)B^R27D;,6j|Y4._!-91:Pl/F`rXbClt%~234 -"]#%As4x[#&Taє(1B~|ІPJMF`3,2B.r|ߖr2Dk;R.% -3GM$UB#vn%ؠ0~1i}D3J06J`|Ȥ|@f"heWu1!M4E)lӔwNF-{eK`2ea)<0(t<3N ,=v,usCDmg"3,J
-OF'Bͨh!4Fx4;gA+Ui09̸Մd7G}+Tt]gNI&SW>Sw\o/ܹ'ޗkX|<i4wv^Ek0gw鲾n~u<,MZlmХo#O0͛0ZVe -!|;d-BJ%n)x -C`MS?;^X0Ohm -(߭̀
-9AL5! -gkF[[zR-kӵ'²;J*Qثso坏3EV}>cg#wgǃ[M%[Era:w:h,Ft`ȍy
eMa{_O&y6Yj= -wt밿GGR#]x~j3ܮ⮹t|_9u2ceV~4 -bGf(j#^SV:`K;wŨ&>SQzeKO6\mj$%~+<QI&ێh0,CF_xWrs\Nz`/Tk[%Wj%T:rܧH̎Wwn7<Th.(\jP]Ɗ9_NHI
V$GC>'ML!gASEvMZKUVU(7e>-g
8bCn01XP3t
$ߔ˅%<yȝſݫ
3 -endstream endobj -378 0 obj +379 0 obj << -/Type /Page -/Contents 379 0 R -/Resources 377 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 353 0 R +/D [373 0 R /XYZ 141.732 718.106 null] >> endobj 380 0 obj << -/D [378 0 R /XYZ 140.732 808.885 null] +/D [373 0 R /XYZ 141.732 706.151 null] >> endobj 381 0 obj << -/D [378 0 R /XYZ 141.732 734.43 null] +/D [373 0 R /XYZ 141.732 694.195 null] >> endobj 382 0 obj << -/D [378 0 R /XYZ 141.732 738.017 null] +/D [373 0 R /XYZ 141.732 682.24 null] >> endobj 383 0 obj << -/D [378 0 R /XYZ 141.732 726.062 null] +/D [373 0 R /XYZ 141.732 670.285 null] >> endobj 384 0 obj << -/D [378 0 R /XYZ 141.732 714.107 null] +/D [373 0 R /XYZ 141.732 658.33 null] >> endobj 385 0 obj << -/D [378 0 R /XYZ 141.732 702.152 null] +/D [373 0 R /XYZ 141.732 646.375 null] >> endobj 386 0 obj << -/D [378 0 R /XYZ 141.732 690.196 null] +/D [373 0 R /XYZ 141.732 634.42 null] >> endobj 387 0 obj << -/D [378 0 R /XYZ 141.732 678.241 null] +/D [373 0 R /XYZ 141.732 622.464 null] >> endobj 388 0 obj << -/D [378 0 R /XYZ 141.732 666.286 null] +/D [373 0 R /XYZ 141.732 610.509 null] >> endobj 389 0 obj << -/D [378 0 R /XYZ 141.732 654.331 null] +/D [373 0 R /XYZ 340.157 727.52 null] >> endobj 390 0 obj << -/D [378 0 R /XYZ 141.732 642.376 null] +/D [373 0 R /XYZ 340.157 709.322 null] >> endobj 391 0 obj << -/D [378 0 R /XYZ 141.732 630.421 null] +/D [373 0 R /XYZ 340.157 676.943 null] >> endobj 392 0 obj << -/D [378 0 R /XYZ 141.732 618.465 null] +/D [373 0 R /XYZ 340.157 660.439 null] >> endobj 393 0 obj << -/D [378 0 R /XYZ 141.732 606.51 null] +/D [373 0 R /XYZ 340.157 633.041 null] >> endobj 394 0 obj << -/D [378 0 R /XYZ 141.732 594.555 null] +/D [373 0 R /XYZ 340.157 618.596 null] >> endobj 395 0 obj << -/D [378 0 R /XYZ 141.732 582.6 null] +/D [373 0 R /XYZ 141.732 535.151 null] >> endobj 396 0 obj << -/D [378 0 R /XYZ 141.732 570.645 null] +/D [373 0 R /XYZ 141.732 538.737 null] >> endobj 397 0 obj << -/D [378 0 R /XYZ 141.732 558.69 null] +/D [373 0 R /XYZ 141.732 526.782 null] >> endobj 398 0 obj << -/D [378 0 R /XYZ 141.732 546.734 null] +/D [373 0 R /XYZ 141.732 514.827 null] >> endobj 399 0 obj << -/D [378 0 R /XYZ 141.732 534.779 null] +/D [373 0 R /XYZ 141.732 502.872 null] >> endobj 400 0 obj << -/D [378 0 R /XYZ 141.732 522.824 null] +/D [373 0 R /XYZ 141.732 490.916 null] >> endobj 401 0 obj << -/D [378 0 R /XYZ 141.732 510.869 null] +/D [373 0 R /XYZ 141.732 478.961 null] >> endobj 402 0 obj << -/D [378 0 R /XYZ 141.732 498.914 null] +/D [373 0 R /XYZ 141.732 455.051 null] >> endobj 403 0 obj << -/D [378 0 R /XYZ 141.732 486.958 null] +/D [373 0 R /XYZ 141.732 443.096 null] >> endobj 404 0 obj << -/D [378 0 R /XYZ 141.732 475.003 null] +/D [373 0 R /XYZ 141.732 431.141 null] >> endobj 405 0 obj << -/D [378 0 R /XYZ 141.732 463.048 null] +/D [373 0 R /XYZ 141.732 419.185 null] >> endobj -406 0 obj +372 0 obj << -/D [378 0 R /XYZ 141.732 451.093 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F42 241 0 R /F127 293 0 R /F166 310 0 R /F81 248 0 R /F85 245 0 R /F180 406 0 R /F107 292 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -407 0 obj +409 0 obj << -/D [378 0 R /XYZ 340.157 752.925 null] +/Length 1486 +/Filter /FlateDecode >> +stream +xZK8W)H{ݢ^v<lAQ,/%9S'Mf!"?(R|Rr4wM1$FjH8#+%Fq]yb\5U|&^|e<TzQrU-b͗j=];B*zJy#PBRCsY\<
֢AְEL)D( +endstream endobj 408 0 obj << -/D [378 0 R /XYZ 340.157 734.727 null] ->> -endobj -409 0 obj -<< -/D [378 0 R /XYZ 340.157 710.318 null] +/Type /Page +/Contents 409 0 R +/Resources 407 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 328 0 R >> endobj 410 0 obj << -/D [378 0 R /XYZ 340.157 685.91 null] +/D [408 0 R /XYZ 140.732 808.885 null] >> endobj 411 0 obj << -/D [378 0 R /XYZ 340.157 661.501 null] +/D [408 0 R /XYZ 141.732 448.185 null] >> endobj 412 0 obj << -/D [378 0 R /XYZ 340.157 634.602 null] +/D [408 0 R /XYZ 141.732 451.772 null] >> endobj 413 0 obj << -/D [378 0 R /XYZ 340.157 615.175 null] +/D [408 0 R /XYZ 141.732 439.816 null] >> endobj 414 0 obj << -/D [378 0 R /XYZ 340.157 595.748 null] +/D [408 0 R /XYZ 141.732 427.861 null] >> endobj 415 0 obj << -/D [378 0 R /XYZ 340.157 573.83 null] +/D [408 0 R /XYZ 141.732 415.906 null] >> endobj 416 0 obj << -/D [378 0 R /XYZ 340.157 549.421 null] +/D [408 0 R /XYZ 141.732 403.951 null] >> endobj 417 0 obj << -/D [378 0 R /XYZ 340.157 525.013 null] +/D [408 0 R /XYZ 141.732 391.996 null] >> endobj 418 0 obj << -/D [378 0 R /XYZ 340.157 498.114 null] +/D [408 0 R /XYZ 141.732 380.041 null] >> endobj 419 0 obj << -/D [378 0 R /XYZ 340.157 475.698 null] +/D [408 0 R /XYZ 141.732 368.085 null] >> endobj 420 0 obj << -/D [378 0 R /XYZ 340.157 456.271 null] +/D [408 0 R /XYZ 141.732 356.13 null] >> endobj 421 0 obj << -/D [378 0 R /XYZ 340.157 434.353 null] +/D [408 0 R /XYZ 141.732 344.175 null] >> endobj 422 0 obj << -/D [378 0 R /XYZ 141.732 369.812 null] +/D [408 0 R /XYZ 141.732 332.22 null] >> endobj 423 0 obj << -/D [378 0 R /XYZ 141.732 373.398 null] +/D [408 0 R /XYZ 141.732 320.265 null] >> endobj 424 0 obj << -/D [378 0 R /XYZ 141.732 361.443 null] +/D [408 0 R /XYZ 141.732 308.31 null] >> endobj 425 0 obj << -/D [378 0 R /XYZ 141.732 349.488 null] +/D [408 0 R /XYZ 141.732 296.354 null] >> endobj 426 0 obj << -/D [378 0 R /XYZ 141.732 337.533 null] +/D [408 0 R /XYZ 141.732 284.399 null] >> endobj 427 0 obj << -/D [378 0 R /XYZ 141.732 325.578 null] +/D [408 0 R /XYZ 141.732 272.444 null] >> endobj 428 0 obj << -/D [378 0 R /XYZ 141.732 313.622 null] +/D [408 0 R /XYZ 141.732 260.489 null] >> endobj 429 0 obj << -/D [378 0 R /XYZ 141.732 289.712 null] +/D [408 0 R /XYZ 141.732 248.534 null] >> endobj 430 0 obj << -/D [378 0 R /XYZ 141.732 277.757 null] +/D [408 0 R /XYZ 141.732 236.578 null] >> endobj 431 0 obj << -/D [378 0 R /XYZ 141.732 265.802 null] +/D [408 0 R /XYZ 141.732 224.623 null] >> endobj 432 0 obj << -/D [378 0 R /XYZ 141.732 253.847 null] +/D [408 0 R /XYZ 141.732 212.668 null] >> endobj -49 0 obj +433 0 obj << -/D [378 0 R /XYZ 141.732 220.865 null] +/D [408 0 R /XYZ 141.732 200.713 null] >> endobj -53 0 obj +434 0 obj << -/D [378 0 R /XYZ 141.732 137.344 null] +/D [408 0 R /XYZ 141.732 188.758 null] >> endobj -377 0 obj +435 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F140 296 0 R /F67 282 0 R /F42 240 0 R /F68 243 0 R /F101 281 0 R /F154 433 0 R /F108 283 0 R /F98 290 0 R >> -/ProcSet [ /PDF /Text ] +/D [408 0 R /XYZ 141.732 176.803 null] >> endobj 436 0 obj << -/Length 3242 -/Filter /FlateDecode ->> -stream -x]KFW6Tf{x7*xnD %qm_z?В%mUbh - -y;vi#Uo<|pIrȏ/D g9AvYD,3ïD(#d;1AĎ$>h2:zdº][APYdn3X:Y@12쬍C<lX0ded})\%ۨ(] -&>,ۤ?>ku&?m*nfΎ j -(.oqziIC^06~| -]rey 8Q̪v2}W?EAf7,&K!"D&B 3wW4&Ka{v,n&Jt$,+6h|<s '0w- `'3O"h 3zc-,zDD!0Beǔ#a[hVnAL7:O^yeVv]ۏCیFn{>bP7ݕ;OG4M0zκ?OKpa֬Kx -f\}5dE.0f¬^}^]3K60W Գ70Iܭk\@._ӂhA%uH]p]Z.#N˼ʰ@^Ԣι{eq#goq -K_帞T'@]}PgA#P9E1;;vtLbaA /a]fхAɌ]F
vT̹Tnt'6얣ٙȋ|nqk3O̴!8+1J#\.ռR@VpܙT8#r9z_93fn[+xP`m` 0-qhX`r}\` f -[RmG/_uWM^"U\0-{1ӽd(RDZQ"q'ꡞv,rWg$_>dqwVdR/J7eR^FӲG~Ĝlܜ*{sL@k|"2@_k9 gV/m3H%Es<$6$Zl% -eo/B2+2X-+P+Bg2uE̱GbxE/[.%8`ME*8 -q]+4e~|yk(ݩRl8AfRuA_[Rt6(m?tzJ*&%7
%qX>@Ϻ[T2AEסtcؿIՖj@zL*])\?Z(F)kDp`NsFC;Dhi`Ơz8#v?6ڶ(iDJ6O.{ -endstream -endobj -435 0 obj -<< -/Type /Page -/Contents 436 0 R -/Resources 434 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 353 0 R +/D [408 0 R /XYZ 141.732 164.847 null] >> endobj 437 0 obj << -/D [435 0 R /XYZ 140.732 808.885 null] +/D [408 0 R /XYZ 340.157 468.376 null] >> endobj -57 0 obj +438 0 obj << -/D [435 0 R /XYZ 141.732 744.789 null] +/D [408 0 R /XYZ 340.157 450.178 null] >> endobj -61 0 obj +439 0 obj << -/D [435 0 R /XYZ 141.732 507.906 null] +/D [408 0 R /XYZ 340.157 425.769 null] >> endobj -65 0 obj +440 0 obj << -/D [435 0 R /XYZ 141.732 134.444 null] +/D [408 0 R /XYZ 340.157 398.372 null] >> endobj -434 0 obj +441 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F67 282 0 R /F108 283 0 R /F98 290 0 R >> -/ProcSet [ /PDF /Text ] +/D [408 0 R /XYZ 340.157 373.963 null] >> endobj -440 0 obj +442 0 obj << -/Length 2957 -/Filter /FlateDecode +/D [408 0 R /XYZ 340.157 347.064 null] >> -stream -xMwH_-轨ӟ4$/s{J -$.WX Ë%W8uA8?gbɨzێ`Wo8-08"&CH2,%IgmhݸUXj9,x\;igF^e{vSlZv7/1e誺[86i$lMQ\;+HaE DKBS. aU$;-`/<d7R`VwVF溩MuErb_oJ>+fX'>mu4Yee !\fGDv6/`
&M0Zb#kΌ
XNv?+.BiQ4{/x%|wOg#D"J -~
U5O1g.b12ԥOMʮ*^rы*!pG -ި<c~Ap=O([u^H|E\&G(h -ra1=D~#6!;CY?j0㏮C}?&R!,6 _ #yVxa -ʩczj#oi-/ּ3|)}=5$Vqyjxwܳ=|<$%|D9͠٬23`O U:`$wQAFr/-$BOEHwoBa½ҙ*6Smۢ:u#1xn{A gU43k%ͻr@D!7Yd/z:hqVnY*n=}*s~L#%HD+ˋͮR<lS_ɁgcӺ'BS:* O -$)q/SL\FZ7D! -Ū֭\e?|SK;h+ -UF8goBFOp6g@ -yVܘz_"f^2/lv!1JC2vҩ\x坽SR -<i'5"0ny[Yܪׇ#oak14c)h.9@it3: *iOYqVeke8tj8:kVm5mVѝJ4OF؝=j##[Pk2#ޭ9")ucڽy=F6{ ME'5}Sl4.5S<Ξ܆#۔۩3Ğ6ppj8uѝB垷gby
icCa~=h>Ϝn0>?T&.1ؑ1LqpuP:ԇ}ojX
z>
JrL3XRX'92e-x8x -endstream endobj -439 0 obj +443 0 obj << -/Type /Page -/Contents 440 0 R -/Resources 438 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 353 0 R +/D [408 0 R /XYZ 340.157 327.637 null] >> endobj -441 0 obj +444 0 obj << -/D [439 0 R /XYZ 140.732 808.885 null] +/D [408 0 R /XYZ 340.157 308.21 null] >> endobj -69 0 obj +445 0 obj << -/D [439 0 R /XYZ 141.732 771.024 null] +/D [408 0 R /XYZ 340.157 286.292 null] >> endobj -73 0 obj +446 0 obj << -/D [439 0 R /XYZ 141.732 647.765 null] +/D [408 0 R /XYZ 340.157 258.895 null] >> endobj -77 0 obj +447 0 obj << -/D [439 0 R /XYZ 141.732 367.81 null] +/D [408 0 R /XYZ 340.157 234.486 null] >> endobj -81 0 obj +448 0 obj << -/D [439 0 R /XYZ 141.732 301.255 null] +/D [408 0 R /XYZ 340.157 207.587 null] >> endobj -438 0 obj +449 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F108 283 0 R /F42 240 0 R /F68 243 0 R /F67 282 0 R /F78 280 0 R /F98 290 0 R /F159 442 0 R >> -/ProcSet [ /PDF /Text ] +/D [408 0 R /XYZ 340.157 185.171 null] >> endobj -445 0 obj +450 0 obj << -/Length 3470 -/Filter /FlateDecode +/D [408 0 R /XYZ 340.157 165.744 null] >> -stream -x[o_T`d>mp4C';Dw)K[]J,&q9;_;3FQ;I;;y3D -n1DgI-<7g';pF8#N.PDX|-(ELZ#ב?Ө~9p -24qD(+eEu -Ys*1,O{а)8BkXLՋ -:~>=u|> Jd!ٱ&h&.#g@yH6DC R5EVbMQa1-鏅l= -{
*=ɢO$<^< -| 땜"Qxy$QxqTO O@le`-Yŧ1;`,C< -O@YD=B|ʒ0am']L(ODBGq^!LfQιĺ]j -~C[ڌH$8GV4"Ø~RZ (?wQ\v5A#I:\Wum10ǦX!0į)OOqA6qbd"JJV+[>Q˄DL(/$+ُC83ĥ,쟫Qk&zgc92J\y~)I%mʸC+ﴏ -?I{Mk㈻u9s[95[}Hݐsui[,~_73όq`63cfאۙA)b?<2.$̃Jd~ -#b -?jӘ<sQ턯l.wj{eKFTϖԟ-z;C"wEkWyǼ(.܄:潪_Zs\H CTn>'04pW˪_{Ű$:0ū.!xl͐8:VG{PP-R`O eH2 -Q6>R|h;SEUzuꔻ7
/VUc&ɞULCA'?1ُϙBrXޣh,3˦y -0E,oF8>u,pu~e6~0E3;ZNhg6Egq:yqO{6+J^g0ꐶ4SNpQB)f^iŜ핆=&r:/7M47ݹhBfqpCv!.b+څw\:M1BX/v c.dօ:_Bg2A|=3&ٗLB2A^d3IT{z]Xgs3Ìt50~ߚLо~fe>'5,玄p3_bqH=C9ܴ7[]}H -6dIZCuCn-2nMv.d-]EqZgygZa鍷"F^4U@9zT7^vMB1l5b`~'7:nv; -
2PeA'큌WjHf9zƪSN~~fcY=sS'~,j4#ڀV -xw;ue}8CYz>iq5n\IɷXt%36C{mJձWrk#M1ˡYUrU\խ=Vn;]Du$IuSkGĒ(tB`f3598X6Mp6r~6(S|؏S\jN&4c]Xfd -endstream endobj -444 0 obj +451 0 obj << -/Type /Page -/Contents 445 0 R -/Resources 443 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 353 0 R +/D [408 0 R /XYZ 340.157 143.826 null] >> endobj -446 0 obj +407 0 obj << -/D [444 0 R /XYZ 140.732 808.885 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F42 241 0 R /F85 245 0 R /F127 293 0 R /F166 310 0 R /F81 248 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -85 0 obj +454 0 obj << -/D [444 0 R /XYZ 141.732 771.024 null] +/Length 2808 +/Filter /FlateDecode >> +stream +x\K6ϯTUqYV6-Q3%qBIv߷DJEPlU. Aw<8p|$"1.it7G)DwS'ٿn~!#)K˛Oha%ۙˈP1-7'iEaY
x.IWS6uo{KZߕrRG |`zTHH + #EH +l%E +㤑xZ> +䋅'GH@F!e@WHRFjT} #
U~\-}n_| +;%ba;H7H7½`ig*@URE2mdOMQ70m3#,~@cƜBVjWWK5Fp +פ aQ?28C5jQEzߋ2GH(5;{
Tm(ӽR<-6O`K +88 N%;nzm1w76J1
+&D#iYVBcI7lS7fV=_j&bpU;Rx|5˫N]> -vN%TN5RT](*jl5WtQ|pl|]y +nnp hQ
ɸQggd_%=*cLx܋c9 MҖ#`#__1[2M(bk|xw՟Yi1IG5A\=ˡRWq6n%un7A tV~q!oh +UB4! +ȶ-r55i4ѨFѤɋʀ|Ѩv F4N`)Mؾ~|4Gq>uny;-zBlx</t;ԸJoò:^k?i/I"4Iq}5aHX@i[G~<qbf.%5jsPxN +?+vV-ZǪ֧Gy@F\덛b5]}U(+n %1ZYb$9al3m~ 4 +endstream endobj -89 0 obj +453 0 obj << -/D [444 0 R /XYZ 141.732 692.883 null] +/Type /Page +/Contents 454 0 R +/Resources 452 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 328 0 R >> endobj -447 0 obj +455 0 obj << -/D [444 0 R /XYZ 141.732 620.704 null] +/D [453 0 R /XYZ 140.732 808.885 null] >> endobj -448 0 obj +53 0 obj << -/D [444 0 R /XYZ 141.732 620.704 null] +/D [453 0 R /XYZ 141.732 771.024 null] >> endobj -449 0 obj +57 0 obj << -/D [444 0 R /XYZ 141.732 608.749 null] +/D [453 0 R /XYZ 141.732 675.286 null] >> endobj -450 0 obj +61 0 obj << -/D [444 0 R /XYZ 141.732 596.794 null] +/D [453 0 R /XYZ 141.732 502.493 null] >> endobj -451 0 obj +65 0 obj << -/D [444 0 R /XYZ 141.732 584.839 null] +/D [453 0 R /XYZ 141.732 112.585 null] >> endobj 452 0 obj << -/D [444 0 R /XYZ 141.732 572.884 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F101 291 0 R /F42 241 0 R /F85 245 0 R /F148 295 0 R /F81 248 0 R /F141 300 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -453 0 obj +458 0 obj << -/D [444 0 R /XYZ 141.732 560.928 null] +/Length 2432 +/Filter /FlateDecode >> +stream +x][۶~_@NE{8oi[5|dorE,=FX"%~!9x!ѻ;?DG~wǠA5iIdQΣ4@/IMz)&V<ݿ tʗVZo@IJSO#&1GF*"('W&d~,ч_AD0wExn}dIl
Ĺl1LK`Yy-L?P*TUpbBE/M43(l1-.[gn8?e1>{xć["aFſzxۇa*iDAT6X*@Z?O
"٫4$!߂!Q>]ހnnIDK"O]$ђ}ϤӔ >S[_f jGN[ٛTA +i:g%NмH +i>pNsʈb7 +mZ +=hR,?G-?f2:پAkn3ʫ{ +tla{PzEl+TD/I1KTkŵHOa$#qe7$FGE7{,bm`i)^T7S&?r娞3PiI߿l,Lgn9[r5J_B+dnJY3A +S_FJQ~z;'E5ƘCvV7aQ>P߳qYs:a
ԆTc- +8.>Tnh_ Mkyfܗ`\8[*Mv(oŴ+/ķ~t72_W#TK[egOeeYdWwK +endstream endobj -454 0 obj +457 0 obj << -/D [444 0 R /XYZ 141.732 548.973 null] +/Type /Page +/Contents 458 0 R +/Resources 456 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 460 0 R >> endobj -455 0 obj +459 0 obj << -/D [444 0 R /XYZ 141.732 537.018 null] +/D [457 0 R /XYZ 140.732 808.885 null] >> endobj -456 0 obj +69 0 obj << -/D [444 0 R /XYZ 141.732 525.063 null] +/D [457 0 R /XYZ 141.732 180.913 null] >> endobj -457 0 obj +456 0 obj << -/D [444 0 R /XYZ 141.732 513.108 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F81 248 0 R /F141 300 0 R /F134 294 0 R /F78 244 0 R /F101 291 0 R /F42 241 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -458 0 obj +463 0 obj << -/D [444 0 R /XYZ 141.732 501.153 null] +/Length 2772 +/Filter /FlateDecode >> +stream +x˒6>_*uwmWrl2{sH
3ggSxP5%]H +fU˼5
-*ez_e]7>=nj]1½jJg-g$u3&Ȕ"MH mU`W## Af()1'1h2-F~|]7@qg
32a9jeb}2a`±6oX6AL$KRbFdIpq +a.-9Fz`#nAz h#4:+"f]3w)HLw}S4kyU[]Y$ԫA^1>@nzSjiܒ=ѣk[Jx8ZE:f,
RW`WmB[&x{͖#I$ +YҝM^Қ[bh??
-g)GӾG,G"z۫89!s a֨p,>B1NHӌcΥ%MXE&}(Y6U%oڢ{6߇Qp/$nǵJK'ezط(=$!}si=Q͋2)~'6%ut2zFoS^Rj}.k>]_L;i|L7V]«"<%H1x`{ب½q|ea=a}X-Xa<c8xvQfz6K]%3}T9i1ڞWWNMի3NU/rcug7l=dWnunS<}I#Q-\VM߾rH?n 0bM:f[5 C[ث9kV-x837eH':^ɻ}X
6@2%"(e {94BQ(n1u(hfnKȺc!D[ +'Lh + æ>=IWJf&e +4hRA +Lu2
yn<F>lf\4)<h<<M%],iQC#]`>h4q4&-w"py +''0h5T?>J +":MаUK{_] l'S=v
6N"~H/*o +Jьuj6IZ8_ga%L"e>V +ZWePE~uMBL|+5]dۄn~/7ѶE,n|6>_ԏ|պ{>+4^ eH8CUM_V+=}#
ɏ<T
Y͇m_̻ B^
QjOvyLԭo/9uhL!SdUn5)hjƚ=4^~as9}m?\.b-cڴE1Hk0*3xoh~&,TֶHJ9U.O!Pm'(9(%'I,`Ikj +fNh, +endstream endobj -459 0 obj +462 0 obj << -/D [444 0 R /XYZ 141.732 489.197 null] +/Type /Page +/Contents 463 0 R +/Resources 461 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 460 0 R >> endobj -93 0 obj +464 0 obj << -/D [444 0 R /XYZ 141.732 461.562 null] +/D [462 0 R /XYZ 140.732 808.885 null] >> endobj -460 0 obj +73 0 obj << -/D [444 0 R /XYZ 141.732 325.286 null] +/D [462 0 R /XYZ 141.732 771.024 null] >> endobj -461 0 obj +77 0 obj << -/D [444 0 R /XYZ 141.732 325.286 null] +/D [462 0 R /XYZ 141.732 618.397 null] >> endobj -462 0 obj +81 0 obj << -/D [444 0 R /XYZ 141.732 313.331 null] +/D [462 0 R /XYZ 141.732 255.394 null] >> endobj -463 0 obj +85 0 obj << -/D [444 0 R /XYZ 141.732 301.375 null] +/D [462 0 R /XYZ 141.732 168.869 null] >> endobj -464 0 obj +461 0 obj << -/D [444 0 R /XYZ 141.732 289.42 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F148 295 0 R /F42 241 0 R /F81 248 0 R /F107 292 0 R /F141 300 0 R /F101 291 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -465 0 obj +467 0 obj << -/D [444 0 R /XYZ 141.732 277.465 null] +/Length 2652 +/Filter /FlateDecode >> +stream +x\_s6[!CK23I2d]%%);-JeBv8Xq"v닟./8FIr`ɑd*!Ahp9ކ׳<{:w2DTUU;{D9F wJ +P%}BjQ"T0nué*>b\"IHa8e.zUlenU曼QAYIrw FIPDEb{QUUFz.,k% _)_y?i9w)gaRy216̮f
[ ߥyą$162[?j
\>]pc8ܪqk:<I@xs,_^]bYC+RVO8AbVL3vnuQl1!4,hOqtee9|HoB;tVH걽5}z%u8u~6Q1/ xB}$j%G17;_mԅk]ʧܟjz
jwcyoKAPvHn#(P$}$
` !D(! eS
!% +IPB`$@x>/ 14k܀$Bg@a ϻ+ J +HKsQ2s\EjmV>PubzOqT#2=b41QGpʌa2ÐH
GcÐRoʍRᏣ14Vd9bQzf?(T3?GQ(U[6xH7ClGHof&Rq=aXz#g|ΐQZS +mcYpNҭY@u9ܟZ]~dt2:'Oߒn3@=6uҟ +cJJdK[8Gl{A<ג"蜪[,Or`Z`Jxw&(d<Wl=`ȼsVh\wU*s 8|L +NN;=P\ +5@8R'9&n{DNZd_-ΟuBBO\4=P.}&},BptZ{/mM7mTWwot9i-7- e_mp%2(״-`d&ׁWaleE@zKzَkFE6mbL|>MwEkEagyrE79D"'DPӤ>{IUm>nޏ IP_A&+81\ޱSHmUTu>kVCk~d] )"TWzqeuzL1[1,ANMHYj.]~1l4R< +u s0 +,غJU63cEj922 # +I80ELl!Ea
B>0JX{39m^Ya32?Y1u𣊘q*tY0..HLBur-.V@}`%q#FpĦ5Ӏ=UP2˳U(B3Tk?N78F
{#7Lv1~w=3v-ؕgPy?yNg4f$cIH_&)4=ȃ:EOZB(hnxt/=1>lS|Ie:N(:sX%kW&s1+R0+5ڽ|i*U<L+¥L [p/85eo[lcd#0?7j5PX<8 +endstream endobj 466 0 obj << -/D [444 0 R /XYZ 141.732 265.51 null] +/Type /Page +/Contents 467 0 R +/Resources 465 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 460 0 R >> endobj -467 0 obj +468 0 obj << -/D [444 0 R /XYZ 141.732 253.555 null] +/D [466 0 R /XYZ 140.732 808.885 null] >> endobj -97 0 obj +89 0 obj << -/D [444 0 R /XYZ 141.732 225.919 null] +/D [466 0 R /XYZ 141.732 512.02 null] >> endobj -101 0 obj +93 0 obj << -/D [444 0 R /XYZ 141.732 144.724 null] +/D [466 0 R /XYZ 141.732 413.32 null] >> endobj -443 0 obj +469 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F111 284 0 R /F68 243 0 R /F78 280 0 R /F108 283 0 R /F67 282 0 R /F61 242 0 R /F101 281 0 R /F140 296 0 R /F98 290 0 R /F73 244 0 R >> -/ProcSet [ /PDF /Text ] +/D [466 0 R /XYZ 141.732 296.907 null] >> endobj -472 0 obj +470 0 obj << -/Length 3744 -/Filter /FlateDecode +/D [466 0 R /XYZ 141.732 300.494 null] >> -stream -xn_ `7;n.]C -0lß`KçI0ކ(he?)Mnɠ"} -a -T`t<]@:p$2 -H3Ib18&Uw4*Ѹ E)Xmx]UnʞwC.w1RXQC2\d{T,P0?N`Bu
~n%Ey:3j֥=3'A*0A\7Bo.8D"';eX)2l8̸{谖@U%mӸ1hSfŬomuQK\;mMxJX\/=(88З_+1 `I:'ܣ6ks x@d/ SbUSzGУDD2N5>*mlǷWڤMDT(/`OMBj -*'zSӜj(!Vkvbot8F68mjl-% -;uvPQ -H1Q1h3ߌɇB>V0>g~ -e\տճJ_J5[p -;{뷊λygK?fG%8Զ.>Ee8viSskw~9Кi&p'7. >sgP&tLYoP%@./8%w*ƴR;}_.kLt"e -H
c^qt_>&}Vro{o"@!`~y9efb(Smċ3,@M~=7|bNu0G:gşBRLvḾ;>\ -&%*:< -u1` - -r7hu&@S#XX,/$;Y>|(O2 -Ϣ QDU\D&BPM(;0z(ЋQ;vo-1ÉQP`< -``VFDI Ay{c;d(0aˢ8Tkɴ0eANVhHMV(QXԋbPX -t1~97?Ԗۅ_/KmV_zj@vuEo+v}0cnQoզlq -^͔ƕ[U77Ms]en#)߹w-1j;b/^oӖ>`bۮz|I+Ĕ6}M"3D2w :{pQTQ!5ZDſ*vѱuY"ҩL6/,%`U-k+` -endstream endobj 471 0 obj << -/Type /Page -/Contents 472 0 R -/Resources 470 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 482 0 R -/Annots [ 468 0 R 469 0 R ] ->> -endobj -468 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [462.758 254.04 537.889 266.593] -/A << /S /GoTo /D (subsection.134) >> +/D [466 0 R /XYZ 141.732 288.539 null] >> endobj -469 0 obj +472 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 241.919 278.126 252.147] -/A << /S /GoTo /D (subsection.134) >> +/D [466 0 R /XYZ 141.732 276.583 null] >> endobj 473 0 obj << -/D [471 0 R /XYZ 140.732 808.885 null] ->> -endobj -105 0 obj -<< -/D [471 0 R /XYZ 141.732 771.024 null] +/D [466 0 R /XYZ 141.732 264.628 null] >> endobj 474 0 obj << -/D [471 0 R /XYZ 141.732 454.859 null] +/D [466 0 R /XYZ 141.732 252.673 null] >> endobj 475 0 obj << -/D [471 0 R /XYZ 141.732 454.859 null] +/D [466 0 R /XYZ 141.732 240.718 null] >> endobj 476 0 obj << -/D [471 0 R /XYZ 141.732 442.904 null] +/D [466 0 R /XYZ 141.732 228.763 null] >> endobj 477 0 obj << -/D [471 0 R /XYZ 141.732 430.949 null] +/D [466 0 R /XYZ 141.732 216.808 null] >> endobj 478 0 obj << -/D [471 0 R /XYZ 141.732 418.994 null] +/D [466 0 R /XYZ 141.732 204.852 null] >> endobj 479 0 obj << -/D [471 0 R /XYZ 141.732 407.039 null] +/D [466 0 R /XYZ 141.732 192.897 null] >> endobj 480 0 obj << -/D [471 0 R /XYZ 141.732 395.084 null] +/D [466 0 R /XYZ 141.732 180.942 null] >> endobj 481 0 obj << -/D [471 0 R /XYZ 141.732 383.128 null] ->> -endobj -109 0 obj -<< -/D [471 0 R /XYZ 141.732 355.493 null] +/D [466 0 R /XYZ 141.732 168.987 null] >> endobj -113 0 obj +97 0 obj << -/D [471 0 R /XYZ 141.732 230.96 null] +/D [466 0 R /XYZ 141.732 122.627 null] >> endobj -470 0 obj +465 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F108 283 0 R /F67 282 0 R /F98 290 0 R /F42 240 0 R /F78 280 0 R /F101 281 0 R /F140 296 0 R /F68 243 0 R >> +/Font << /F141 300 0 R /F81 248 0 R /F42 241 0 R /F101 291 0 R /F85 245 0 R /F107 292 0 R /F148 295 0 R /F127 293 0 R /F166 310 0 R >> /ProcSet [ /PDF /Text ] >> endobj -487 0 obj +484 0 obj << -/Length 3824 +/Length 3307 /Filter /FlateDecode >> stream -xn=_B4`M8َw&.fKKIAg.DYJCYbR̹_F3GIt%яͫ?DE#9nn#0Dkb7?->6d:dlH,+3&
Asfa01y'q`e
0/Gl^oLID@އ!Qq^,?,fvPQ5oJEƳ4iYWmse)J*buq.nZ|H"4;ٹ{ibTY]!lofִ=:D8^!)X$4A -G ,pvlv㬪=**{}su:w#r^MpL-<<<e&uBTbWVِQ1p6 -Ov,D"F^k%ڤ63jcD8HqWw Q|-f;=)EP9k3L'gL&x*O]`n -Bp>gdnߘiRppO㮽G_Q'j `g-oMVye[xLv@ɦ̧s%\I8֚{ncmY+Ejy$7&֜Մ!\0wk+
eP19$?FI2w7)NnҒJe͋Gѓ$?ծQ4^5;Ai`92ȑMbMt9+pڧsU%6hʱ%YZ*l44I+S$R٪ǃ3LEl++|2[,`Wu:e6s
gG;[HNh$M})b+r؍/Oy{⹁x&KJ -$A$DmK/!yX[ϞdֈJٰǤ}laA1Eݯ_.⣯0U|uFBB|1D8ݪt6 i_6dF>1mKDqxCBFC]@We:. -@|p½e8O}8tr \]'Iy_C_0:&2e%X ؚq٪R=5냮+.ճ -}O?OIiv)&H6I>S@/,x8C5D($uX'b"^}9|#8s\f*:{+)PA#Ξy=s~<
0}p -(0u~;p7'3T'wVT'>DE!ʼnCAB@`Qh&(4NDCi
*3]UV(֊, -V;l_ W X/86Z]QTᎅʐL <YD,h8t8,9\B`AKA&]]'mrF42gv6e&w̴U8Sc1
OT`"wCl94:e8X[.@x\]=de^&srpBc,\|ꊬgޯ˩!QE4\)5
o)LtG;FG!W[EM)۔yHM66vkִfWǴ?UH\.RHHz-8h[`_˻{:Țf3]HMG%1"ARvՖ!Kxlfͬq[̍MU<I)37ٳ
`FVӌfȓsYiZSZx>ޖgLw\tP_Co@ Nº͉܃ff+@he"Y_orir6-EHQ±?d{᧮E>I{ﺮ4T<pv`ٸ
B +xێ_`N8a: Ht +8y%jZ(m33H]n +p6$pDE[t}A)3M#QFZPbf~O9< ҩ>١ _/8x7/yc +P7$+8qL<`}Uj4WCt0s ^W$]Xg嗩NuŨ3lZey!DWĝ#&4qGui.@%PL|TY0Vei:`b_9Be)
P!NxVb*>lyY>@K+~.|;\%u|i@eNZ-ԍMvotIK';D~6)X1Q\v"Edpg=7ꙚX1|q2ppxDTt2
:i|GCͣaz$ULYKFh +:)6>'ZO1 +G2HF:IeO/eJlEkuplÔ +XimS5 +PJm.+rӁ UuƔd;M:u{4sW3w]LTpHXޤaҐthC, ;&$Z%V("$'
U%.ʐF.dH^9!;&$*RYb`N* 2"ȩ +iY +V + "Ǡ$x1u1uρB¸ˍ!*)AN!E"Q4pIت-~3~2:~)5!4 + EQ@7sFt5W39Q4 +YsV#:Kf/lƬ<TPbAP_4 +(Gv,z +^ I8:!E8a;!8y~ *_\+Ǡ:5q> +ˮ( +&ʥe۞g8\F2Dh6dcw|L!=@?aޜn+)Yus kVmd>@OͲ?ݹYvj^7% -!q7t=< L>>Xv +?c2e3\dfe5JѸT,Vv)wh?
jͶҝk?m0~(;φζC+k`̇l/G!vUl''((ɸ%!i@u0{1Eonc:̘E/]0r +{;9DhGQ9 +Ӕ: endstream endobj -486 0 obj +483 0 obj << /Type /Page -/Contents 487 0 R -/Resources 485 0 R +/Contents 484 0 R +/Resources 482 0 R /MediaBox [0 0 595.276 841.89] -/Parent 482 0 R -/Annots [ 483 0 R 484 0 R 494 0 R ] +/Parent 460 0 R >> endobj -483 0 obj +485 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [390.401 577.25 466.623 591.198] -/A << /S /GoTo /D (subsection.128) >> +/D [483 0 R /XYZ 140.732 808.885 null] >> endobj -484 0 obj +486 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [473.359 577.25 539.579 591.198] -/A << /S /GoTo /D (subsection.128) >> +/D [483 0 R /XYZ 141.732 639.749 null] >> endobj -494 0 obj +487 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 563.469 200.024 576.021] -/A << /S /GoTo /D (subsection.128) >> +/D [483 0 R /XYZ 141.732 643.336 null] >> endobj 488 0 obj << -/D [486 0 R /XYZ 140.732 808.885 null] ->> -endobj -117 0 obj -<< -/D [486 0 R /XYZ 141.732 771.024 null] +/D [483 0 R /XYZ 141.732 631.381 null] >> endobj 489 0 obj << -/D [486 0 R /XYZ 141.732 724.365 null] +/D [483 0 R /XYZ 141.732 619.426 null] >> endobj 490 0 obj << -/D [486 0 R /XYZ 141.732 704.938 null] +/D [483 0 R /XYZ 141.732 607.47 null] >> endobj 491 0 obj << -/D [486 0 R /XYZ 141.732 676.046 null] +/D [483 0 R /XYZ 141.732 595.515 null] >> endobj 492 0 obj << -/D [486 0 R /XYZ 141.732 661.601 null] +/D [483 0 R /XYZ 141.732 583.56 null] >> endobj 493 0 obj << -/D [486 0 R /XYZ 141.732 644.498 null] +/D [483 0 R /XYZ 141.732 571.605 null] >> endobj -121 0 obj +101 0 obj << -/D [486 0 R /XYZ 141.732 615.773 null] +/D [483 0 R /XYZ 141.732 519.409 null] >> endobj -495 0 obj +105 0 obj << -/D [486 0 R /XYZ 141.732 472.028 null] +/D [483 0 R /XYZ 141.732 395.374 null] >> endobj -496 0 obj +109 0 obj << -/D [486 0 R /XYZ 141.732 472.028 null] +/D [483 0 R /XYZ 141.732 292.759 null] >> endobj -497 0 obj +482 0 obj << -/D [486 0 R /XYZ 141.732 436.163 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F85 245 0 R /F166 310 0 R /F90 246 0 R /F127 293 0 R /F101 291 0 R /F148 295 0 R /F107 292 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 498 0 obj << -/D [486 0 R /XYZ 141.732 412.253 null] +/Length 3001 +/Filter /FlateDecode +>> +stream +x]oH=aipOq;[p<lr'3jv0>E +t]UmлBU;Q^ex4D igKW>.OX{OkNJDNWzج +3hIԻYyTP9̻Yz?))oǛߞCB4ܛû+Ce0\}4s"{gH LeJEs>[82@DJ9Og~ +6:vؾ1pRpB +%p"Ek\IMV$şgmN6U 2I"D(cET1fN_"sv\xTcpş11%J +sHԄHa +~ff9$ ˰>Qpo_GUC weAscX@ニ߾,^
:rcQRDh9A?P,Ng5i!.J
D p{XG_y@=(><sy@dOfsBf\ ͦs;12r6'qpEhP,h**Vj[ +ZFb~חzHР&\(9 +S/ާE9^yys7 (=A@z"u4u'ː|@Ƚ=6_u'4]z+oHpeYGTkTy(s)hu;AؤwG35e~|)?5;naTj,StxӒy.Pzܙ݅9?A;D6.Z*wov^V98uJ?k +L-'C[,(dYL=z_5ﶟhUH)]hmOa_AN'W´54 Ve3&ITkWڈ[)m;綧Nmc̯HH{3Z5^[%# +IGdO$)&z}&/75f,np43pHDCp.`;O4HMCv.2qp(w3؋wcR~6P> Dug:[m)iYL' Bv%2}v11\[#\eO\$ ~`nń CSc+q¿67}*(j_",k+4~O*d<
,&clxC3{W E{F7#g"Q(aԣ=(dڧΐQ :NTes"jLyŊqeX!Vwe=d̍$|*Q[!*Ő +endstream +endobj +497 0 obj +<< +/Type /Page +/Contents 498 0 R +/Resources 496 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 460 0 R +/Annots [ 494 0 R 508 0 R 495 0 R ] +>> +endobj +494 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [502.261 362.066 539.579 374.618] +/A << /S /GoTo /D (subsection.136) >> +>> +endobj +508 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 347.62 181.749 360.173] +/A << /S /GoTo /D (subsection.136) >> +>> +endobj +495 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.91 347.62 324.301 360.173] +/A << /S /GoTo /D (subsection.136) >> >> endobj 499 0 obj << -/D [486 0 R /XYZ 141.732 400.297 null] +/D [497 0 R /XYZ 140.732 808.885 null] >> endobj 500 0 obj << -/D [486 0 R /XYZ 141.732 388.342 null] +/D [497 0 R /XYZ 141.732 611.754 null] >> endobj 501 0 obj << -/D [486 0 R /XYZ 141.732 364.432 null] +/D [497 0 R /XYZ 141.732 615.341 null] >> endobj 502 0 obj << -/D [486 0 R /XYZ 141.732 352.477 null] +/D [497 0 R /XYZ 141.732 603.386 null] >> endobj 503 0 obj << -/D [486 0 R /XYZ 141.732 340.522 null] +/D [497 0 R /XYZ 141.732 591.431 null] >> endobj 504 0 obj << -/D [486 0 R /XYZ 141.732 328.566 null] +/D [497 0 R /XYZ 141.732 579.475 null] >> endobj 505 0 obj << -/D [486 0 R /XYZ 141.732 304.656 null] +/D [497 0 R /XYZ 141.732 567.52 null] >> endobj 506 0 obj << -/D [486 0 R /XYZ 141.732 292.701 null] +/D [497 0 R /XYZ 141.732 555.565 null] >> endobj 507 0 obj << -/D [486 0 R /XYZ 141.732 280.746 null] +/D [497 0 R /XYZ 141.732 543.61 null] >> endobj -508 0 obj +113 0 obj << -/D [486 0 R /XYZ 141.732 268.791 null] +/D [497 0 R /XYZ 141.732 491.414 null] >> endobj -509 0 obj +117 0 obj << -/D [486 0 R /XYZ 141.732 171.417 null] +/D [497 0 R /XYZ 141.732 321.717 null] >> endobj -485 0 obj +496 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F108 283 0 R /F42 240 0 R /F78 280 0 R /F67 282 0 R /F98 290 0 R /F101 281 0 R /F147 304 0 R /F140 296 0 R /F105 510 0 R >> +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F107 292 0 R /F127 293 0 R /F166 310 0 R /F101 291 0 R /F85 245 0 R /F148 295 0 R >> /ProcSet [ /PDF /Text ] >> endobj -521 0 obj +513 0 obj << -/Length 3674 +/Length 2880 /Filter /FlateDecode >> stream -x\_s6ϧM}%&M%8y%ESJ iReuDBbw"N.z秏4!eB"(NHB8ADaEr+3[ɄrV愤Ze<>!,Kɇ7,xR]&WУT ~pFlR md{yWZ^Sb)K+ڋݔlT6diy^ik{,1+ -.J+[{Z]{9ƼɦWp$e7^z`TWXP%&33|=4}!lu`}ŋO*HC$gDަSeN=n5@]vi9LuJtƱ,66S7ρrp w`~$ϒ HfFtj>e1P]GpZ&Hpn[~{OUZHHdxt'3$H= -]Qz"DxذXW'N!D(&6aD[$$~0E{'a4j
d2,\C
=I;2<_\ss2삎#pA0
adKlFE;οIU$ -82LO*N"ԡի$"q*x0MbK15N"ED7DRDH$|A:X(ObVZD,D%*%qP,Ea"C%9\Q(!1s1jGXv5"gIH(MDQ -Ġ|՟e}^K`N%r(liX,oLumSAyOە?~I-f>U{fA6-MڀD=lֆ Dh~E3HMD)Ǭ= -49bup2{L>KS 8}^6WH6[Nlpa65Ҫ͢\mYZ<-7ltx I5]"oޥ#RAӨ߇wf&36\
B -[9Wi|mKӕCRf3M]X -4Hr5 -}Bf_'Y/Xe|DYƑMˈf2MJݬfƋwqWв:|R?sl4qڌÂ_}k -)jF{@Qҋwm>XXd[EA֬/_::U>3hcl8>xm2D pj^srV^^;> -#X[e0[Kl\:=wZζJkW
*0{P%5R*A=|b0G?FW;-v2o}39zwu:?:3*c"> Z6$҅iQՏ'6}.겺Ѝ -=˒\qg #S -bQljL=Ez+GB+X3o;u+ -H讘7)Y7C$~1Vz`*gųEY7)Le/YG:fHӁye7".@WhZ#cr
Lnw6T^8^k$Ձǩ -ڨ];M3X*i:KSl]weEϹ;@%Fv-xbyw5<| -SQBm><xR~8quC@Q -AWeq4&>Wn!mR2e - =B.//W>W~|?m3$@Oo&7RXIZT"BZ`NeǰMVaJ0m@ƑbX#@YvELp)1 -c#1oI6VG[ -fâ +x\[o8~ϯ +Sܦn`hAD-e%y"sHɶۑmɠLQwIxx@[˃0xP)]^{L2b + Ձw9!G\:{2PW*dB,LtT`Hج2
'T^Ʈ*f.CGV~=7K nFN'qZ.-0Ӱn-qTZGR#g{[/+ٵrWi%+̀qC$?aH sgWѸjȚA8>vEq^{ˢ"2=$Өm&J +([ +BiK'd'יcT 9`$6
Zlb0JFz<҃Sxݕ.U\{E4@!MJgfZu?QBfxҴ-SU3: F^1M(L?ѤƆB@Bu>D.!,w8סs-SP` 9 9dUf
e㟻ɒ**B|! A`TɲV%QA +qۀ'͠ŸGIq?U{*jI"\̜D]A'}"TŞ[ylPd̅P +2;VWaT;^h7 [5@V٠C0"$}Y% LmZ|/`;b@cJ!5qݝ;CtڛqM$=ZmH[B.C~<UzN*:`jF0r^h /g.7(& +@Վlf}:9+"zBRgEca~IuR%BU>JL3=fNO:>h|6ךhYpC>}NRHҞ.ΎiC5kyT$ѡH* <XP/vr=&ƭY!0`aQ˥B/2Ǔ,cWU\tΫ1GrIqi'_)q'~&kj'Yf8f\{,doAE9g@t +rq.$(ijvTgKpSBU~`/lOԮ06b +P +؇d<~UCY72Pj53r7ɟq^h&3rDT&Q~"WZ^@!M4V_xmq穢qLӎ6O#Nre`)M4*{Z-6rfD|~Auo!+*5F~
.p'άf{$= 4N9bx7"[dw9kplF# ٧IpV Xx2c!n <:\8
UU#l0shUg<V
a:4Io#VIi}Pp>K&{t@ endstream endobj -520 0 obj +512 0 obj << /Type /Page -/Contents 521 0 R -/Resources 519 0 R +/Contents 513 0 R +/Resources 511 0 R /MediaBox [0 0 595.276 841.89] -/Parent 482 0 R -/Annots [ 511 0 R 524 0 R 512 0 R 513 0 R 514 0 R 525 0 R 515 0 R 516 0 R 517 0 R 518 0 R ] ->> -endobj -511 0 obj -<< -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [502.261 459.853 539.579 472.808] -/A << /S /GoTo /D (subsection.129) >> +/Parent 460 0 R +/Annots [ 509 0 R 510 0 R 521 0 R ] >> endobj -524 0 obj +509 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 445.81 181.833 458.363] -/A << /S /GoTo /D (subsection.129) >> +/Rect [401.369 542.381 473 556.329] +/A << /S /GoTo /D (subsection.130) >> >> endobj -512 0 obj +510 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [187.019 445.81 317.134 458.363] -/A << /S /GoTo /D (subsection.129) >> +/Rect [477.557 542.381 539.579 556.329] +/A << /S /GoTo /D (subsection.130) >> >> endobj -513 0 obj +521 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [349.047 445.81 449.639 458.363] -/A << /S /GoTo /D (subsubsection.238) >> +/Rect [140.736 528.599 200.024 541.152] +/A << /S /GoTo /D (subsection.130) >> >> endobj 514 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [454.824 445.81 539.579 458.363] -/A << /S /GoTo /D (subsubsection.238) >> +/D [512 0 R /XYZ 140.732 808.885 null] >> endobj -525 0 obj +121 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 430.7 201.17 444.647] -/A << /S /GoTo /D (subsubsection.238) >> +/D [512 0 R /XYZ 141.732 771.024 null] >> endobj 515 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [465.44 76.435 538.006 89.391] -/A << /S /GoTo /D (subsection.129) >> +/D [512 0 R /XYZ 141.732 714.403 null] >> endobj 516 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 62.392 266.672 74.945] -/A << /S /GoTo /D (subsection.129) >> +/D [512 0 R /XYZ 141.732 694.975 null] >> endobj 517 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [295.885 62.392 393.661 74.945] -/A << /S /GoTo /D (subsubsection.238) >> +/D [512 0 R /XYZ 141.732 666.084 null] >> endobj 518 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [398.177 62.392 539.579 74.945] -/A << /S /GoTo /D (subsubsection.238) >> +/D [512 0 R /XYZ 141.732 651.638 null] +>> +endobj +519 0 obj +<< +/D [512 0 R /XYZ 141.732 634.535 null] +>> +endobj +125 0 obj +<< +/D [512 0 R /XYZ 141.732 590.866 null] >> endobj 522 0 obj << -/D [520 0 R /XYZ 140.732 808.885 null] +/D [512 0 R /XYZ 141.732 398.155 null] >> endobj 523 0 obj << -/D [520 0 R /XYZ 141.732 656.553 null] +/D [512 0 R /XYZ 141.732 401.742 null] >> endobj -125 0 obj +524 0 obj << -/D [520 0 R /XYZ 141.732 531.256 null] +/D [512 0 R /XYZ 141.732 365.876 null] +>> +endobj +525 0 obj +<< +/D [512 0 R /XYZ 141.732 341.966 null] >> endobj 526 0 obj << -/D [520 0 R /XYZ 141.732 387.512 null] +/D [512 0 R /XYZ 141.732 330.011 null] >> endobj 527 0 obj << -/D [520 0 R /XYZ 141.732 387.512 null] +/D [512 0 R /XYZ 141.732 318.056 null] >> endobj 528 0 obj << -/D [520 0 R /XYZ 141.732 375.557 null] +/D [512 0 R /XYZ 141.732 294.145 null] >> endobj 529 0 obj << -/D [520 0 R /XYZ 141.732 363.602 null] +/D [512 0 R /XYZ 141.732 282.19 null] >> endobj 530 0 obj << -/D [520 0 R /XYZ 141.732 351.646 null] +/D [512 0 R /XYZ 141.732 270.235 null] >> endobj 531 0 obj << -/D [520 0 R /XYZ 141.732 339.691 null] +/D [512 0 R /XYZ 141.732 258.28 null] >> endobj 532 0 obj << -/D [520 0 R /XYZ 141.732 327.736 null] +/D [512 0 R /XYZ 141.732 234.37 null] >> endobj 533 0 obj << -/D [520 0 R /XYZ 141.732 315.781 null] +/D [512 0 R /XYZ 141.732 222.414 null] >> endobj 534 0 obj << -/D [520 0 R /XYZ 141.732 303.826 null] +/D [512 0 R /XYZ 141.732 210.459 null] >> endobj 535 0 obj << -/D [520 0 R /XYZ 141.732 291.871 null] +/D [512 0 R /XYZ 141.732 198.504 null] >> endobj -536 0 obj -<< -/D [520 0 R /XYZ 141.732 279.915 null] ->> -endobj -537 0 obj +511 0 obj << -/D [520 0 R /XYZ 141.732 267.96 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F148 295 0 R /F42 241 0 R /F107 292 0 R /F194 520 0 R /F81 248 0 R /F141 300 0 R /F127 293 0 R /F171 322 0 R /F166 310 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -538 0 obj +546 0 obj << -/D [520 0 R /XYZ 141.732 256.005 null] +/Length 3487 +/Filter /FlateDecode >> +stream +x\K8W{i5q7 zNz$sPn##`-l0HfJb1ek3iN/ZfSOYV"Qv{/o_ܽ
f$iIv`JJ@FZB4{-uAsMT\ky麀K=}()\zg^_rp)/B$PVN@ϪNzB:2A*NP +8*A@<Ap*Q%F:W01P V`"a<OOnǫn4TQ_~Fn^\164).Г"Ɵ#RD 3d/q:AIR) 3q;f.HEԺx+x]I*SqVD.i0qbF"/.PYxRSfɣ*yr,y,ygaɉj,R y-YJuבWy)Չ5QQYJuא/!
,,:[g@$Y +4*+ҩS5oȎ^ w LL;pfScb<K)B ')S +t0aY:66wzeEB^1%1koy}y}yGq$ےPٳ;RᷜjeVfZ!FfaHx $&HQSL&ռ^NU^nզ>Yx75F!j|E4Rfr<3DLNrO=DmSD'<Afᆢv3otmͷ:q;랩QAϺ&֒qӇݷr +Xa +"zhV,#{~RgPg[V/[?gꂉC07y^( +lYƇf[\hYÇ|Wkn
䩞nܯjW5+](P5R?YᗵI@ZMϤyӏPj W|y^mfo4gsTN +fé
م)]H>/]Qk&*Լ߯_DDZC"Mvir4 +%:u䆒Fa +OQsz/>E:(0"վH?<]##ut푣³0 +1~[f6;͞R_5*{[|q #d_e=89'(#7h;oTBGZMIYt`ԩGkNwXװ?zyh`_5GMQgx3NC|0x(;ndPm)hR)'d^-7vXU5qmGrYY~ VMDh}t7_"Q-k[;Ʒcwc00R17Yyg{aP\fY-O -Xc'mLY¨ÀA iJ(30`*r 8+ԣO2kz@E2U4]..*HnSe+^OVyeԲm YrhpDRȓY-cլ>t?ٺ=rhB#)` + +I=43HBfΘT
Gx_sO,8
-5@}
7ҟMO!$ ѷ>ZH<T<~!q%b;(/io5ڍ֮2 +_Em!PCP +endstream endobj -539 0 obj +545 0 obj << -/D [520 0 R /XYZ 141.732 244.05 null] +/Type /Page +/Contents 546 0 R +/Resources 544 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 553 0 R +/Annots [ 536 0 R 551 0 R 537 0 R 538 0 R 539 0 R 552 0 R ] >> endobj -540 0 obj +536 0 obj << -/D [520 0 R /XYZ 141.732 232.095 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [502.261 145.117 539.579 158.072] +/A << /S /GoTo /D (subsection.131) >> >> endobj -541 0 obj +551 0 obj << -/D [520 0 R /XYZ 141.732 220.14 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 131.073 181.833 143.626] +/A << /S /GoTo /D (subsection.131) >> >> endobj -542 0 obj +537 0 obj << -/D [520 0 R /XYZ 141.732 208.184 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.019 131.073 317.134 143.626] +/A << /S /GoTo /D (subsection.131) >> >> endobj -543 0 obj +538 0 obj << -/D [520 0 R /XYZ 141.732 196.229 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.047 131.073 449.639 143.626] +/A << /S /GoTo /D (subsubsection.237) >> >> endobj -544 0 obj +539 0 obj << -/D [520 0 R /XYZ 141.732 184.274 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [454.824 131.073 539.579 143.626] +/A << /S /GoTo /D (subsubsection.237) >> >> endobj -545 0 obj +552 0 obj << -/D [520 0 R /XYZ 141.732 172.319 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 115.963 201.17 129.911] +/A << /S /GoTo /D (subsubsection.237) >> >> endobj -519 0 obj +547 0 obj << - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F67 282 0 R /F98 290 0 R /F105 510 0 R /F61 242 0 R /F108 283 0 R /F101 281 0 R /F95 291 0 R /F78 280 0 R >> -/ProcSet [ /PDF /Text ] +/D [545 0 R /XYZ 140.732 808.885 null] >> endobj 548 0 obj << -/Length 3666 -/Filter /FlateDecode +/D [545 0 R /XYZ 141.732 771.024 null] >> -stream -xko -}i -Ӌ1$LK'UzA©m}U_?|
#A}.U@`H=8q#S%QT{O_l擇EhKJWlRc*44a&,-e0M@peMZ,Yv4&
>*F9?zl*Û - UkXpDz'b
N!Ņ.8Q7] s}y6i|iOlGB3}
;ſ_<c(@LFGXH:ԦR^(Tj&P -8"i sZXTjXdsQ8)⌬+eV7Y?SIQ< /Qy"$sg˛r|Z$,-ҧ!)~az&A0rȖ}^Yi \PZiEwGӊW_2-U9Fjc<ܧŗ̋7[Dش?~C<־MI>/O+&Iq;;*E2Z;1CoN;EL9ĞbYH V\XBň癑"(?Y*ؙ5w\=T
1F! QDl\'y^LT}{vXL ,6xo"Ay]
<SXbEnǧ{Xfڷ9c{*b^ڛ_OLq|3+$_ -B n0Ƈ@{GB,#(&Uz:+YY~sR"1Rû`?K{wxQoe@h}C6"H,y%K
=E!6xpFR6y3z 4UI&/Odk{߄,.U9%HE5ơ^hU)\Sg/rjۗ"@-i]I -UCzSH5/oqr;^k@)BWԒ5+C/U~c[ܤQi[z/ -``XEk<af̏vKa}Obq1&!h\كcҏDDnnˢrk%k+]P
JFlM76Je+Q{=@";ܻ"Ʈ_~Px45B#0>jD;[
$CdJ!UF¿SPA$!&dI - -|By0t{q/2
<N#)Ύgi#Mpf_}zS|Z-nVSN&3N;a8ط7NmoknT/+oaD:!TC m4ώW"-yuI8Ft]q< -lLhC؝T⪻Q6l#Fnt):%U$JTS;%4w6\t&&Uɺ`&{HJ=W`(<;1?ʖe6MGq -ΦA!Hi
-)&[&h -endstream endobj -547 0 obj +550 0 obj << -/Type /Page -/Contents 548 0 R -/Resources 546 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 482 0 R +/D [545 0 R /XYZ 141.732 439.909 null] >> endobj -549 0 obj +129 0 obj << -/D [547 0 R /XYZ 140.732 808.885 null] +/D [545 0 R /XYZ 141.732 255.69 null] >> endobj -550 0 obj +544 0 obj << -/D [547 0 R /XYZ 141.732 726.341 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F142 549 0 R /F81 248 0 R /F141 300 0 R /F42 241 0 R /F107 292 0 R /F194 520 0 R /F127 293 0 R /F121 301 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -551 0 obj +556 0 obj << -/D [547 0 R /XYZ 141.732 726.341 null] +/Length 2528 +/Filter /FlateDecode >> +stream +x[ms۸_̵LD\%sKc3?0lII].娿HY|d&<}ػGgz -.= RzJ`0]LK3BVؑ"Ņ̍RH7n
<f_(OW1?IGcS3"S;#aA_kn'G@="By>`Z@xG{dmHK*;Le8Q3=at^,&)gYȖeF8zPp"(a^,(e|3BGYuI-p^ +B^^ao +_Ë +,ѧjh1j;k,n +fmHq.Rs>*V%E]u
n6xz[*ϻoV˙A݅ +֛*(z3s盔;\$H˗@A+adIxF+cv127ʈFFS.~|?5$>DɍflݬR[fX݅wHsp{;Y1Il$sg'5j`4rWL. +;oo[Qu5&cįOh9كH)]M0B +(ELL@Ë`lXz>}0]QBy3\@0wp)b=U$_XByc%h闧1pjYbY|?.K +-ZnO&7y3~!@$'&S&B*Ze +26I@Q +k@o$M0 + 0?+|/2vo9Tcęa3+w/ϗ+Hߢbvm55NiXemhk>=B4$SXAdWUOUUh@uZ#*FU89mު4VgT=DqСӗ~/o۞ޝU2&V%]=e(wt˪ nMHGjOju=SW1=IA/䐩
acLm哒ޘ00W_Ua0VUaTe.;K+؝Ҋ6v +endstream endobj -552 0 obj +555 0 obj << -/D [547 0 R /XYZ 141.732 714.386 null] +/Type /Page +/Contents 556 0 R +/Resources 554 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 553 0 R +/Annots [ 540 0 R 541 0 R 542 0 R 543 0 R ] >> endobj -553 0 obj +540 0 obj << -/D [547 0 R /XYZ 141.732 702.431 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [465.44 396.588 538.006 409.544] +/A << /S /GoTo /D (subsection.131) >> >> endobj -554 0 obj +541 0 obj << -/D [547 0 R /XYZ 141.732 690.476 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 382.545 266.672 395.098] +/A << /S /GoTo /D (subsection.131) >> >> endobj -555 0 obj +542 0 obj << -/D [547 0 R /XYZ 141.732 678.521 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.885 382.545 393.661 395.098] +/A << /S /GoTo /D (subsubsection.237) >> >> endobj -556 0 obj +543 0 obj << -/D [547 0 R /XYZ 141.732 666.566 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.177 382.545 539.579 395.098] +/A << /S /GoTo /D (subsubsection.237) >> >> endobj 557 0 obj << -/D [547 0 R /XYZ 141.732 654.61 null] +/D [555 0 R /XYZ 140.732 808.885 null] >> endobj 558 0 obj << -/D [547 0 R /XYZ 141.732 642.655 null] +/D [555 0 R /XYZ 141.732 743.112 null] >> endobj 559 0 obj << -/D [547 0 R /XYZ 141.732 630.7 null] +/D [555 0 R /XYZ 141.732 746.698 null] >> endobj 560 0 obj << -/D [547 0 R /XYZ 141.732 618.745 null] +/D [555 0 R /XYZ 141.732 734.743 null] >> endobj 561 0 obj << -/D [547 0 R /XYZ 141.732 606.79 null] +/D [555 0 R /XYZ 141.732 722.788 null] >> endobj 562 0 obj << -/D [547 0 R /XYZ 141.732 594.835 null] +/D [555 0 R /XYZ 141.732 710.833 null] >> endobj 563 0 obj << -/D [547 0 R /XYZ 141.732 582.879 null] +/D [555 0 R /XYZ 141.732 698.878 null] >> endobj 564 0 obj << -/D [547 0 R /XYZ 141.732 570.924 null] +/D [555 0 R /XYZ 141.732 686.923 null] >> endobj 565 0 obj << -/D [547 0 R /XYZ 141.732 558.969 null] +/D [555 0 R /XYZ 141.732 674.967 null] >> endobj 566 0 obj << -/D [547 0 R /XYZ 141.732 547.014 null] +/D [555 0 R /XYZ 141.732 663.012 null] >> endobj 567 0 obj << -/D [547 0 R /XYZ 141.732 535.059 null] +/D [555 0 R /XYZ 141.732 651.057 null] >> endobj 568 0 obj << -/D [547 0 R /XYZ 141.732 511.148 null] +/D [555 0 R /XYZ 141.732 639.102 null] >> endobj 569 0 obj << -/D [547 0 R /XYZ 141.732 499.193 null] +/D [555 0 R /XYZ 141.732 627.147 null] >> endobj 570 0 obj << -/D [547 0 R /XYZ 141.732 487.238 null] +/D [555 0 R /XYZ 141.732 615.192 null] >> endobj 571 0 obj << -/D [547 0 R /XYZ 141.732 475.283 null] ->> -endobj -129 0 obj -<< -/D [547 0 R /XYZ 141.732 416.51 null] +/D [555 0 R /XYZ 141.732 603.236 null] >> endobj 572 0 obj << -/D [547 0 R /XYZ 141.732 244.864 null] +/D [555 0 R /XYZ 141.732 591.281 null] >> endobj -546 0 obj -<< - /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F67 282 0 R /F101 281 0 R /F78 280 0 R /F108 283 0 R /F98 290 0 R /F105 510 0 R >> -/ProcSet [ /PDF /Text ] ->> -endobj -581 0 obj +573 0 obj << -/Length 3795 -/Filter /FlateDecode +/D [555 0 R /XYZ 141.732 579.326 null] >> -stream -xk۸{~1#K5,I>(6ƶ$9{b{ْhަ@`%Kp^$GL%QXT}7$|!#4Iqtya)J.g*[͛eV._F"Q91PBLD1$.uY-˅JgI\px<EEjYsQ2-sټ.m_.& -.oO!#HSA/H]kwaTbq/b\yߟx q&"0|eS4>]L8}ji)fK:l6,:Dt2y!}25."ށ7Oyu\(ǧw/\AÏcBH;˼߲j
:N{PD M>Mv~t{u{2tӘ8 mmFj3y8<*>3Y.n.O%忲߳,;leQ9 -(̆HfQaf;1pa^FanGAq((QRrD(,QP*eIAtBg3]jNMن9@1v`
yxF!kgs2~0h0 Q ̓Ӵ,1,G
ːכtTm ."b6YUb9˚|#K"wC۞oϴEn2L#F)"0$E3/.dg?kYxd?Z3m -&0zaQ4\+OGTԗUsc͋V˪W1p$1vU7֦6+˜hi>_@eUV5hsєʱsE*`]vU+W7yejW -=ކJQ` -;ţb.9\\QBB)"AT$mT]k7xN6)\mXn=a)_ۺ>n_^a2~Vm|lXWX -(q@ͶU5YMMw>VdWH8lӢSj*,Y>S[.u+);NI'J4 -aE]w'&~:PHXj0R^_<"pDi#|>* -<<ۀ`?Aݍ/i*O -DS#T6F%< -!3+"I0J~ۣ]=cbg{_'w1-,\]jgk4T)yn+4O"ɜ+Fw -`Nd.0?)86;z>L0RTЯp!<kyH -?)N)J$:,g8j}jֶ֩.K56HgJ>O@ޣO;;ڳ1G ULyfM{2}͜ |Q:Pfqkn0UyZ]M9" RE`Al+OLDSLvf{OW}i-暽MtY@֝L2 Nä6yHq! -endstream endobj -580 0 obj +574 0 obj << -/Type /Page -/Contents 581 0 R -/Resources 579 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 482 0 R -/Annots [ 573 0 R 574 0 R 597 0 R 575 0 R 576 0 R 598 0 R ] +/D [555 0 R /XYZ 141.732 567.371 null] >> endobj -573 0 obj +575 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [343.281 178.457 440.927 191.01] -/A << /S /GoTo /D (subsubsection.195) >> +/D [555 0 R /XYZ 141.732 555.416 null] >> endobj -574 0 obj +576 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [445.338 178.457 539.579 191.01] -/A << /S /GoTo /D (subsubsection.195) >> +/D [555 0 R /XYZ 141.732 543.461 null] >> endobj -597 0 obj +577 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 166.336 151.5 176.564] -/A << /S /GoTo /D (subsubsection.195) >> +/D [555 0 R /XYZ 141.732 531.505 null] >> endobj -575 0 obj +579 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [372.613 130.204 447.837 144.152] -/A << /S /GoTo /D (subsection.171) >> +/D [555 0 R /XYZ 141.732 310.74 null] >> endobj -576 0 obj +580 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [453.325 130.204 539.579 144.152] -/A << /S /GoTo /D (subsection.171) >> +/D [555 0 R /XYZ 141.732 314.326 null] >> endobj -598 0 obj +581 0 obj << -/Type /Annot -/Subtype /Link -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 116.423 183.115 128.976] -/A << /S /GoTo /D (subsection.171) >> +/D [555 0 R /XYZ 141.732 302.371 null] >> endobj 582 0 obj << -/D [580 0 R /XYZ 140.732 808.885 null] +/D [555 0 R /XYZ 141.732 290.416 null] >> endobj 583 0 obj << -/D [580 0 R /XYZ 141.732 682.34 null] +/D [555 0 R /XYZ 141.732 278.461 null] >> endobj 584 0 obj << -/D [580 0 R /XYZ 141.732 682.34 null] +/D [555 0 R /XYZ 141.732 266.506 null] >> endobj 585 0 obj << -/D [580 0 R /XYZ 141.732 670.385 null] +/D [555 0 R /XYZ 141.732 254.55 null] >> endobj 586 0 obj << -/D [580 0 R /XYZ 141.732 658.429 null] +/D [555 0 R /XYZ 141.732 242.595 null] >> endobj 587 0 obj << -/D [580 0 R /XYZ 141.732 646.474 null] +/D [555 0 R /XYZ 141.732 230.64 null] >> endobj 588 0 obj << -/D [580 0 R /XYZ 141.732 634.519 null] +/D [555 0 R /XYZ 141.732 218.685 null] >> endobj 589 0 obj << -/D [580 0 R /XYZ 141.732 622.564 null] +/D [555 0 R /XYZ 141.732 206.73 null] >> endobj 590 0 obj << -/D [580 0 R /XYZ 141.732 610.609 null] +/D [555 0 R /XYZ 141.732 194.774 null] >> endobj 591 0 obj << -/D [580 0 R /XYZ 141.732 598.654 null] +/D [555 0 R /XYZ 141.732 182.819 null] >> endobj 592 0 obj << -/D [580 0 R /XYZ 141.732 574.743 null] +/D [555 0 R /XYZ 141.732 170.864 null] >> endobj 593 0 obj << -/D [580 0 R /XYZ 141.732 562.788 null] +/D [555 0 R /XYZ 141.732 158.909 null] >> endobj 594 0 obj << -/D [580 0 R /XYZ 141.732 550.833 null] +/D [555 0 R /XYZ 141.732 146.954 null] >> endobj 595 0 obj << -/D [580 0 R /XYZ 141.732 472.62 null] +/D [555 0 R /XYZ 141.732 134.999 null] >> endobj 596 0 obj << -/D [580 0 R /XYZ 141.732 263.903 null] +/D [555 0 R /XYZ 141.732 123.043 null] >> endobj -579 0 obj +597 0 obj +<< +/D [555 0 R /XYZ 141.732 111.088 null] +>> +endobj +554 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F67 282 0 R /F42 240 0 R /F101 281 0 R /F140 296 0 R /F98 290 0 R /F105 510 0 R >> +/Font << /F42 241 0 R /F127 293 0 R /F81 248 0 R /F134 294 0 R /F78 244 0 R /F198 578 0 R /F141 300 0 R /F121 301 0 R >> /ProcSet [ /PDF /Text ] >> endobj -603 0 obj +600 0 obj << -/Length 3417 +/Length 3141 /Filter /FlateDecode >> stream -xrF-Ю1Ƽ%QJ6&99@PB$ -s"6o}R:9)zf'D=wݚ+ ;W[t4/]5"jܮ/IDZӪrF'ӋpG>u)
x;t,:Ap<_QsA=\s@%AOS -d G#KE)+RGC( \n}8k= -ʑ͢mg2Gf(X"w\`'Oqp'4©)8&&8)8Ƨ'Qz|n:ԉe)M)C2+E!)n9JON j<6!}jJؠȆ2Em)vs +NY9e%M1ƐZWkYg))
T)e1O{̠iź,2Dd!'aYlPbl -/ -¶v^x>^nc@ܪ="A]{p;$`Tȶ(]
C"ś64ehZ rq5WxpgCm5M%[s!zvsUh>8b}{9,C;j'M]ٮ -*o0hplnomjЭ*4 -~":y[/PF8#z}ە7KSg9hJ2Bt?_eTY}z8ׄ2D/rڏ@ {L9;fM%(D?K~~VعChXppa'Ͳ.a'LhHa1EDND]&n2,OK/Cy"8xtvuQ7KCnpBx_Eet:% -ʁ',H
j3.Ā84<ZaӢ\U<0/'~9fW{'7|Á]P
Z, -*2~Lܟyl
f)l!ސuH\Ḯ!gH>2Ƿ2;AF{w|aNA2iz4pbjIpl<qZb -TMU._ë_kOg"{ -ܞOEe@/Zqo)q|;ءf!pe6pʶDy!1P/QX
0؎R&D|Qoa+PfSX}#vт厽RY˨1im~>?gV&@o_8/y -k6b0PfFv#fR7ozs*1 itbhBMeIfC?^}_FaC-^_bb yB>RL -SB!υg\xV5wGU@uC"rwn|9GMu5 +xn>_)`#ǝ,k =p%fF'$mgS %IJYdWWUWףU8yLp;|"' #M R&JN 978y^f6gT~ͩJEf|?lNlC2, ˏ% +8
;R`p_OE
4qn@ҎjK}OvH<CaF` iS6:mCCY4H.ܿcDx{ٔUf<<&#E"DR +"[-WU:-g$w7,CU]l]lfYz|c-z4|91ǎ?$ +µ^0 ߊ%B®.ŗUQ7}~Jst6@%h/Nk!Y4> +R6ts^1Ś"n@y .M#(qxrVR s;zA?&GFzf@vӴaȪ{ށ/ݕse&De۴<>v};3zwBǃ}r8_C%@AW_\8A +`gp/%Lā.=t59SzZ|zc0yvs19,Mt17
3Gԯ#1ҧ9">$^ac!ay*{"iȷ7@r2C8kg~a +zoNki)xc7`eG{o=e˙8,F?}̗H.|'NZ"W3ZcKkxD?n<VH +U2CSp8[yϒvWL݃kNr!dzy{w b&`{ +UI:zW#llB
O8qP0tT@]
?>kC)UHkwNO+i {5'M%hNgs*o%&1> DqvǞ +NA
;ɿCEmG!0|4)Rv{X~0!$%HUd6SGb1'ɶp-w +jo+n+:VCcw
+=qHagBf][c~R/M|`fCv@Q{Cqa
CkMy'A̐M$s`66Awk[]ħzQp^> {N!(n}ڷ92֤FmrS+e6w\`Bc-QUF& `/{? +t +,S{OV.2<h"ABQmpէگYH-64aOV
ٲjaq1T7ܽWu<Bql! 7˯MQnv\acgoccU)6mFLr
G_L{b5jV qs@<D+ 2i +ْ `S^\Vl6ةEACu.?hVy^"8n +t]/E)u8ik[& +nS%>)VӰK׳PpJjGjo1sȅOcagԖA?4KePQ)~KɾYض*%%HT)bM勛Ov7v endstream endobj +599 0 obj +<< +/Type /Page +/Contents 600 0 R +/Resources 598 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 553 0 R +>> +endobj +601 0 obj +<< +/D [599 0 R /XYZ 140.732 808.885 null] +>> +endobj +133 0 obj +<< +/D [599 0 R /XYZ 141.732 771.024 null] +>> +endobj 602 0 obj << +/D [599 0 R /XYZ 141.732 506.034 null] +>> +endobj +598 0 obj +<< + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F194 520 0 R /F81 248 0 R /F141 300 0 R /F42 241 0 R /F142 549 0 R /F107 292 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +607 0 obj +<< +/Length 2338 +/Filter /FlateDecode +>> +stream +x\[s۸~K'LwOMf錝ڢcv%KR$EKM}1I\(BN͏"B+D8QD5ct&L~|# +)lTDlO Xqu}rXhfnXD̶]]5{:cTNՓy2%ڞ'V L\><ӓ?Nh!ULBht@EN~U5AIemTA11Q &<ɪۢZ)XYKfv\hjJ-a0rD
}DۗK9X}˧U~eM9SDn2N+er{f\GH0c8 +k
UZ-m^> *&:*& +aŅɹЭ~[Zпe^fSRċy?9d|\a 8=&4Ks&eqq,mi!~L0_={ܬJv.cUzTvd3p{Y
hD~: +Ɩ dA6 (HF&Pϗ7qQ~8OYd`_V,7;GN :4%*j_8NVE.gl"c +DX c589 +.["@>?P+߶>>CdH@(ۙz?˯E<O6`}ʺ+fubf!')%va|Nl6Q>`:$٣2N&zLQF@H +9`2FA5 +0 +!L ++qQ r6qˀ\=GAK:K0 +Bhm1{A6_< +Y;(hʠZ8RTiВBA+ +-k^mry7]w7^cm!j,Ak,5{xbso, La)jUdi6h[b-V=N67G$n<l7c4Ru@ܑak'oDXzpcDShgdr#NzvTMun^vͦn4qO7MXUUovL>%7/O 8'wɭe96! +l쪬5SN2*w,s{{U^, +?)C3)1wBML3CQ( sru#5X4ŜaCNz>A&e/xI':^#HFo;~Ŷ'8GBw@QLMВtb-xW&dt'}dۓYBo\s@'iLbW,Tk%SNHcÚgҍZeҕPWn#\7g:brWS"Q͡<<tU63Wf(MCA~s?8bgj9=п#倨#) PU$%%oS{URM;tP?Z=O=\[ +MaNGc}9-;y^̏4Gq\M`#a83`Gn`سf@0)Z8w!* +endstream +endobj +606 0 obj +<< /Type /Page -/Contents 603 0 R -/Resources 601 0 R +/Contents 607 0 R +/Resources 605 0 R /MediaBox [0 0 595.276 841.89] -/Parent 482 0 R -/Annots [ 577 0 R 578 0 R 599 0 R 600 0 R ] +/Parent 553 0 R >> endobj -577 0 obj +608 0 obj +<< +/D [606 0 R /XYZ 140.732 808.885 null] +>> +endobj +609 0 obj +<< +/D [606 0 R /XYZ 141.732 743.112 null] +>> +endobj +610 0 obj +<< +/D [606 0 R /XYZ 141.732 746.698 null] +>> +endobj +611 0 obj +<< +/D [606 0 R /XYZ 141.732 734.743 null] +>> +endobj +612 0 obj +<< +/D [606 0 R /XYZ 141.732 722.788 null] +>> +endobj +613 0 obj +<< +/D [606 0 R /XYZ 141.732 710.833 null] +>> +endobj +614 0 obj +<< +/D [606 0 R /XYZ 141.732 698.878 null] +>> +endobj +615 0 obj +<< +/D [606 0 R /XYZ 141.732 686.923 null] +>> +endobj +616 0 obj +<< +/D [606 0 R /XYZ 141.732 674.967 null] +>> +endobj +617 0 obj +<< +/D [606 0 R /XYZ 141.732 663.012 null] +>> +endobj +618 0 obj +<< +/D [606 0 R /XYZ 141.732 639.102 null] +>> +endobj +619 0 obj +<< +/D [606 0 R /XYZ 141.732 627.147 null] +>> +endobj +620 0 obj +<< +/D [606 0 R /XYZ 141.732 615.192 null] +>> +endobj +621 0 obj +<< +/D [606 0 R /XYZ 141.732 498.255 null] +>> +endobj +605 0 obj +<< + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F42 241 0 R /F127 293 0 R /F81 248 0 R /F166 310 0 R /F141 300 0 R /F142 549 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +630 0 obj +<< +/Length 3708 +/Filter /FlateDecode +>> +stream +x\[ۺ~ϯ[@Ĉw= mz]#l-9{Ëd뵨@Gp8͈deEUzZd8#h&@O~kV UhIי*՟>z3f$iImURj%<ZdfYnnrJz]n797}4 +.XzK,=IN?JG+ch%89ZCK4F@yژp1`Ҳ(9):hUl?C}h8Qx]7:<fЉGbg<fd0
db舦g <NgӃheGu<Ny=b98z8; +&rPĔL#&Yxx{mّ$nUg4>><1Q)wG}4?uQY2eL
ě +GrU([ +$]ۮ`HIBfO7Rˮ~C@wL=e<2i~0A_1eblf6͙>Bh\QKBj?&M*F%: FZhOa0~#)3Bau:!1RQH
.,M6ORq(1@2-v$Te}bö-PDዳ'PaSb'˛0ZCI8Bnorf`2+n=,#iޓ[Gj~jZesfx2/& &4C0CtH"TÀ,T^KOG}_%'#yք@Bp'پn`\hiZ3f_-dE+Hxa^HaLb=P&"cN>DOoͽ
W++ +PsI0Xm?kB +}!\!B#*`Zf,ޕ,\όӳzkynFk2{ޖ+Ja>cRp:9Y~g`l'P+0GZ0NzO!]5$(6vxjY?8RX}7 % +@J(v$b~()r/N,TD
fĸ%=Jyg7Ǭ{7/&TZzZ *K}7i4& +lj8&a%$qƩWH_r +Ȯ/XVI +.m"R8_xS*Y}jkh6-Ezk6i|)'(Cs.TRh +:L<1ҫ +"Nt_[$>=%AwvkBZxE#S?LMK&S4CX82x|A)coFw|l姓vcÓoܢ!_>TP #Z"_ FZ&~6v
1 +!7SIpJ&CPn +m&e2 +~=L_!I(3(j(4M(Ǣ!0͗#97yN +Ç!'ωUgSly3l+2Ķ=/ٲ/z]:ݙIgWbC.:wwt[f9&mdOKVK^<64Ŭlt_㎹HbǛIHr֔ˍRn6?\-ݷ`tn=slTίT[ZZDۓ/7e웴[UY Gٞ1azV6]hOc g?tqlȨ7oj1[l`;y(c>iؒ1ij/8nۉFTX,ܐۼ MڝS.ik@Q{kЀqꎂ# ^_~A;
3aۺlR] - +endstream +endobj +629 0 obj +<< +/Type /Page +/Contents 630 0 R +/Resources 628 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 553 0 R +/Annots [ 603 0 R 604 0 R 633 0 R 622 0 R 623 0 R 634 0 R 624 0 R 625 0 R 626 0 R 627 0 R ] +>> +endobj +603 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 711.746 214.396 725.694] -/A << /S /GoTo /D (subsection.171) >> +/Rect [343.837 648.898 441.297 661.451] +/A << /S /GoTo /D (subsubsection.197) >> >> endobj -578 0 obj +604 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [219.557 711.746 348.751 725.694] -/A << /S /GoTo /D (subsection.171) >> +/Rect [445.56 648.898 539.579 661.451] +/A << /S /GoTo /D (subsubsection.197) >> >> endobj -599 0 obj +633 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.736 635.266 214.396 649.214] -/A << /S /GoTo /D (subsection.171) >> +/Rect [140.736 636.777 151.5 647.005] +/A << /S /GoTo /D (subsubsection.197) >> >> endobj -600 0 obj +622 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [219.557 635.266 348.751 649.214] -/A << /S /GoTo /D (subsection.171) >> +/Rect [372.613 568.425 447.837 582.372] +/A << /S /GoTo /D (subsection.173) >> >> endobj -604 0 obj +623 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [453.325 568.425 539.579 582.372] +/A << /S /GoTo /D (subsection.173) >> +>> +endobj +634 0 obj << -/D [602 0 R /XYZ 140.732 808.885 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 554.643 183.115 567.196] +/A << /S /GoTo /D (subsection.173) >> >> endobj -133 0 obj +624 0 obj << -/D [602 0 R /XYZ 141.732 624.307 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 360.155 214.396 374.103] +/A << /S /GoTo /D (subsection.173) >> >> endobj -137 0 obj +625 0 obj << -/D [602 0 R /XYZ 141.732 471.547 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.557 360.155 348.751 374.103] +/A << /S /GoTo /D (subsection.173) >> >> endobj -141 0 obj +626 0 obj << -/D [602 0 R /XYZ 141.732 362.373 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.736 248.264 214.396 262.212] +/A << /S /GoTo /D (subsection.173) >> >> endobj -601 0 obj +627 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.557 248.264 348.751 262.212] +/A << /S /GoTo /D (subsection.173) >> +>> +endobj +631 0 obj +<< +/D [629 0 R /XYZ 140.732 808.885 null] +>> +endobj +632 0 obj +<< +/D [629 0 R /XYZ 141.732 771.024 null] +>> +endobj +137 0 obj +<< +/D [629 0 R /XYZ 141.732 217.754 null] +>> +endobj +628 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F67 282 0 R /F98 290 0 R /F78 280 0 R /F68 243 0 R /F108 283 0 R /F159 442 0 R >> +/Font << /F142 549 0 R /F81 248 0 R /F141 300 0 R /F42 241 0 R /F101 291 0 R /F107 292 0 R /F85 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -607 0 obj +637 0 obj << -/Length 4284 +/Length 2556 /Filter /FlateDecode >> stream -xr_Љ%n1[{lR9<p$fFWJ
hJ5[<F`>7?6X)zFIN-gtF%ҙ̮Vwm>,j}wfGC͉-ucqb
ῧ\TŶ=dJp>_29<9I;c5/vwe=OF[C8+ӱGPY3LƀnL -.Ω\6U;x|Yhv_ݬ"<E,;1'B= -3:Ƥ!ΊeJd,De _;p[?G9`FNSչyq-H>fѯ/<wz_!P@2!Ao'1}O
mNdXsXSXrA/AxfI*Ex/4
[* -fajw[fOW!b_zуgSFϸvRj],a&.N0F_# - -5i" ;ĂҎ ?Dggζ~JW -/;`UeTbuPHlHwU -&RX~(7Nj0r$#BЂlɎ<Tc - -Pm('c_|)' 0ǧȜ:-!I'KҞ5"q"MX9{ -^TODFlu -}D6!<)|rS=8ov6vwG;>jKvÔ!dO0+02Ji0L' -).&㏅PSuۓ՚Q~p -"ZV/X5dbն,vAYGQ9pCH5"
)8xy0hhc_aݮQ 8JsTVzouX7ۭnPe="L2b'4n]foBqO<TA74VxSǗVoTey%IhMm:eIQ{҉tfnBEpy%hIv"A#t<@T#juBJ(PB4IסD/e?ĩ&hѝuXB^ݵ0Y`1%@IgS\DT*Fhkܜ}( R^'聯ͬt+|Qs'㔗C^sxH{9Vlr[{{t*A'^̙k8%"OhiMr yWܔogowj.26,M[U7|Rd:zNhxp\dwHsL@o=낛*"Ac}rqZC#LV:0D?0w}"KRBLÐ!B̪eUFfkds9n*weg՝uF;84&~^O
Miw3ŗ1]FXժ^VYaQHQ x Li&3y\:)i}<n]ua -<&`=zvR~%\+{WmoʨFY]YXA`jVb%3nrA|>y8H8(*
q0.ëZmy8
kYeA8Dzep0A r?㴍ABO}HEniٟ-m9gq([^r/y6lC:.:kB]a7dh2;Bvs&WӇ/LjWnP\3{)z̕r79 -zhj U4|$C7GC5&%!z+ʄ$ON<77$hUYK! vB%d:z"W˷m~ -<)cQgoCSR;';m2)L`:,lWŮIj-}Xa<YEb:hLI`+ ->=aG)HAKGE~>7Y;/jWe,]˭Zvr]"q?3EŚWGp"C[`ٟɷ䤽̔K!C%Ne]7%{;|y(U&:%oiF5ɟ B/})ٗ~٫,i"Sm_*0_UJp
Zn`cDg9̍+DBP x§j~0/a\ak2{!*oLF8bMl1.g?>`3kޫ<i 6!# ,ӱ`*Z\oK^$LSm]f&2,QLal#q_TRPt0kuoaBq<'+A1gA,@qmR>o.C4jto,Nu
4!h#0bI˘O`4oؒ]bՄ>d}SOhop7ewlq(mmׇ#|B]=n/ +xZKsWP"=T*U^Ve& e` +?ίn#BP")F#%Y!&ۙч8~p.>ImrSo9(0GI),a߱eu=ZY75|";Qqј'ʼ8+*:j>YEU~M⭡UFXMY7(qy,sc`>=>]cV*!QTTiaTu_<U,ylTi
ᄘf<AC$J9ihRK:Jߏ|cHbྥ7}1/2bfU
F=']!N'COcW98$I`je^\#y4!P[!(kޚ|vʭAX4K7a'@Kf_G$Wqxӓ&jp=Xf:."XEnL(߳a%;\QI:=0}Po(1e
0wۙ!$8`gmRpT2עʓ۔z@|f=Hc^.3F$UYL17i8'@ +$f,z +3pQq6_S#5b]0MV^](C&X7a͈a( +Aftך>Oћ]r|t? +H|N*wRB<,ѡ1uBfs`&_7ߧU3M!!NSLss,_۳! +ni O~V'm6,X?Mc2932jnzoNpԜ +e'ĸ@sJR7Gp9ثtH2yTj )'#Zj٧tB@Eb4m̳9Lq[p!a8mG&c>MT7ɘNKrnk^F9>mL~?V9d_tSx(܁4[+-Kb4vvli;Įq'H +wih0:o~/EShhH8dN#eCU7ӡBH8C q>TCiHu(AdV`n!_- +[A5ד'[^u"z걭A@梩=OKoƳILdžUvO𨗾*c*U'Wh@@ǩӼwZA
1* 'fֽ +=CQ36*̓L2$Azbe/qTˠ&OY$x"1Ϳ`边
egc^-ƾm6ɘmcb!}(&ŧar+Y<X|GOn|? ?7_9$S~|R"Bh-'Q>_}!0bNren?%8In endstream endobj -606 0 obj +636 0 obj << /Type /Page -/Contents 607 0 R -/Resources 605 0 R +/Contents 637 0 R +/Resources 635 0 R /MediaBox [0 0 595.276 841.89] -/Parent 609 0 R +/Parent 553 0 R >> endobj -608 0 obj +638 0 obj << -/D [606 0 R /XYZ 140.732 808.885 null] +/D [636 0 R /XYZ 140.732 808.885 null] >> endobj -605 0 obj +141 0 obj +<< +/D [636 0 R /XYZ 141.732 771.024 null] +>> +endobj +145 0 obj +<< +/D [636 0 R /XYZ 141.732 626.98 null] +>> +endobj +635 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F67 282 0 R /F98 290 0 R /F73 244 0 R /F101 281 0 R /F95 291 0 R /F68 243 0 R >> +/Font << /F148 295 0 R /F42 241 0 R /F81 248 0 R /F141 300 0 R /F107 292 0 R /F85 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -612 0 obj +641 0 obj << -/Length 4090 +/Length 3174 /Filter /FlateDecode >> stream -x<Ms6w -i*!vwԛɁ'n(!xR߷
J"LB{)W 6
Y1ɒJZIg,r<>'\qMbu2Mc7._jou7mw_^sk-<eʏ!4g+%u~%ImI楯{nî4,80ǡs7B?+an) %OincR1ihI;FꈴCWnFxgE -ww],'mǟd -.z%uwy}mh6swYw,rp32gBOhgM9Tk45?<c[P+,9@!dP3A+@^A)-#J3/cA튁Ԯ{p@E] 2=u4B1xQ"8D}*U9izǸO~:H@s5pٶ,+b}%Q7R"q$;'D -S!ծxfB%0,id|nEQ}~]Z<q4:^mC#&d-^]lܫ 9B]1E`&cWH\ƜRc0wECK/d $\>;LO,\{uK-BG'd}҄tVRKPBF
~"LuEE5L[TdjC5 my
2:Eʵ=#uT)ރL ql-]2_5سY4Te#-`O+@Rς=54(V*;xf -0?@w0ވQ)CJn!99àz| -<1-e$
P{
^]rWxSMjjl~nɤ80X?;Wx#c`HT2$i3%)VW˾' Pzb8}"I⿄5- -*m#1s{߹s^k^dWVڂw}$P$Z!ˢ|؊Ɂ^gѸE!o[]`\#(R-ĩ#m{*_Zie/@pu<:5U1엖h%3j4zp1wX]xgf~{[BKx$%Q#3;
{i|pKж'(5hCtKnN+_7,S=@ɭ!Tuu5zfچ@43*+UX65mI\.RY?GE)_Nd {
piTynF} pK
\/MQbySGpD#ӈ9W.
B8u[%쥊?ľwʰ2%,,;ǯAިq(n,i<K}ƛ ey_a -қꨇ
FA 2n?acVwʏ5_A;?:[n,]uъ՜=,]οnUCՅ۫u3_l]| Ik -#Y?ea#>rGTFHD`-gTe;l;&$El]#lt_IpS4J!}D1
6/i| KOp;$ngM -ኙ7mBxo3uئ]b~:m]>' YsZ]Ic2 "$E-PGOo3,m#AxMBƟKeC}8WiUڡ-_&Ҥ1QeKUlA ->PU-xPM<B垸.N7<}T
'B1IZG7m -]!Զ$.` E=V~^g_({?))Pëx]T<̉u|UqDmae֤i5ɐ@ +җBi/:,|A|!}hWc*gOBXE#htb]6հxǻI +x\Yo#~_!e>" +3gH8M?Ze*7o %:6d>2RAv:z?,2*6۟
DB
ǏoFoPVcyJ" w!MWŋ]}<* ;3j2ϲ,/wa`*Z(t0`)n{=s5˒ ++p@}1K5g g4!@4
+j`zx8m $!V*x:]{$']g!d,'y^*f[oY=VjYO*
_MY|\49 +zH"!x![E5߲eж +s> +E!Q +)[-7Xޱ4Up9a_rPHó(WGjyIkr^<S$#=!;ՋT +2 @g_)&2جRc
ZjR>[/cvc)T%U fl-$X$a0mtfCdZYg%wq7ڼ`pߺWozM[SdpӼq ۳M~!>QBn b^@U/N-ް7dpNәBrx<_<9Bb_ OU^f +O#lq{Ζw[^K.1v(0@#@$V7%?bsuSx%z_Nxo(8]pCV('RB!vnt3-Z`YU}ܼA҆R*_ZW늜/<ؐ-d9F^nF8C,z[/zEiF7nq b/+3vi
f\W8KdDX9,r"t.=t~eFz#ȺuyVʾ|a,=Oq6̾&i~ߟ#69_!{_m+@hZv,V뛛hd;iGdCXdsƟBk ]֤eh<Bϱ}ͻY%bj1T_<ETI퉬c3JcUX:po>3@̜^Zw`odSӸ9$+eL`< +Nl~ONXukʴ-N )kݗNVy##nIK4?euB<2K&C'~
.~A/̺]i3-CJst/
[}dQ6VF=~lnI8]BX8,!fH03gexqWɷA1&d){"Vju*w) _(Saۼ//}7dˢF4$2X|ٔhA{ N[zm1oMjrVApyS9aiXTäpUD)XwwU(mè$UATPͩ.ꢜIC&24o=,u՜ɶ_I75}6]9*Ѩ=cq'wßÖnXUB&,}PC*"|Khs9 P9Ro!QfVםaqެf鋬Z(K{zN9#+Aؚc)u*ɛw~ZGROlHA endstream endobj -611 0 obj +640 0 obj << /Type /Page -/Contents 612 0 R -/Resources 610 0 R +/Contents 641 0 R +/Resources 639 0 R /MediaBox [0 0 595.276 841.89] -/Parent 609 0 R +/Parent 643 0 R >> endobj -613 0 obj +642 0 obj << -/D [611 0 R /XYZ 140.732 808.885 null] +/D [640 0 R /XYZ 140.732 808.885 null] >> endobj -614 0 obj +639 0 obj << -/D [611 0 R /XYZ 141.732 489.28 null] + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F90 246 0 R /F127 293 0 R /F121 301 0 R /F134 294 0 R /F78 244 0 R >> +/ProcSet [ /PDF /Text ] >> endobj -615 0 obj +646 0 obj << -/D [611 0 R /XYZ 141.732 489.28 null] +/Length 2802 +/Filter /FlateDecode >> +stream +xZ[ۺ~ϯP2]<( +{}j-Ȗ#l;CR";n,)f(x틨QA?]/(ܥpT
T3/}
FOu"f?pWt{~d
h-$=",tyCS!Qwp'w\FW/0Dq/W0'wI4#١AXG뻪N]agwfbN7uﭱ[I,r"3eQCe-,gUǪ6}Fx}vBiA<aoKM#&fخL}^}m*j[i= +G2jK N9'kgd-pH⇤JéǡeN +zQA:X5VaJ]e6O~.n&=$ei/EhxD$XU,V܉lAq1#V~=(ly8{< +Q]?6hw*l)sׅFΪjg]땿>b +$ eFҡWxծe=7jhY8Ň^e13$(3I^V3UVl7ڇ{cъ"pW9y_[b#`8R?JF΄`j`wέ&-W&%:a4M.\ڟsXha +jX8\.LzOIŦ4ի<5:Z}V?9P` + +60ض&&lYYl֩Kܙ_yn+O,\]sr
_$63k*LGru2/jæ)ri\`=VW8.hZ0FLN]FmaŴ+WVʂꪻg
@*iyNN؟IErCV*~ec<XXA'9nC65e'U"jl@]nw +dMЅez]q%|<;8\<9?DW̗J!"˟c Yg@h>xyX<'Ȏ#&z@W,6)`lͳ5eK/jkXw](dO̟ٮ.e +ܛ_t +endstream endobj -145 0 obj +645 0 obj << -/D [611 0 R /XYZ 141.732 251.195 null] +/Type /Page +/Contents 646 0 R +/Resources 644 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 643 0 R >> endobj -149 0 obj +647 0 obj << -/D [611 0 R /XYZ 141.732 169.236 null] +/D [645 0 R /XYZ 140.732 808.885 null] >> endobj -610 0 obj +648 0 obj +<< +/D [645 0 R /XYZ 141.732 261.534 null] +>> +endobj +649 0 obj +<< +/D [645 0 R /XYZ 141.732 265.12 null] +>> +endobj +644 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F67 282 0 R /F42 240 0 R /F98 290 0 R /F68 243 0 R /F140 296 0 R /F61 242 0 R /F108 283 0 R >> +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F85 245 0 R /F166 310 0 R >> /ProcSet [ /PDF /Text ] >> endobj -618 0 obj +652 0 obj << -/Length 3689 +/Length 3500 /Filter /FlateDecode >> stream -x\[6~?"0Qu,mw} -Llbh5KN^?<<v@m a>-Wsx{i3:ϊVOv_y -cS*$1Ag)%&tB>6y?)Mخ`&/yV5VL <*iT0 yDkCJ=M3Y0'T8
;if/%Rj~(;?[ E -n+oe=#J,5,|_z<9)ISIQzҏM
I@_hVgM%
``6P1Q6"P[mnÃ^Jo: "+/(}IkLD7ΰ$%mƔĦo4 Q%C@s5Y[ApG48B1z Ue;^[*T!z*kOW͠pJTgBc4?mMisP-SD%Q `]VĈW[!Jcn!]v@#!8@?bbNaTmݭ}
>\aF%LmEX߶Ϻ=%Q uډ^,gI7j -̜Zwz18`e -%0C -"Zpkt{hڬ,nL2C@gH<݂g;OiU"&Yn;1R=9Wt"BƺGtRٛ -ꒋmac@3RHuBÄlZ -0c6j b"*cuCNB'c*#3'_U8U[ue(
?ԁ(Wd:R6(DPp{D -&~m -zv#DGe -q~u1Q] gwkvgB*XFч
Vy:Q:z*
6bl)KOAGQYtڢ8,JxB9{[2S\hX𗆅VAhh0Z3JA^x 9QfAtt]Σ/A6o = +x\KhK8#<&aG⌘Dv=6SՔH1Ո`!$zvi7xIg"e%҉<߽!p[xd&]G"ӉUpg(\jV~xƐ&Y)b%FHG}=2բxs4y<G"#τJ_/q( gC 'pxɮwU^<zJ<<6e6G3&%!P6a_EEQ^EAd%8*dR2e`-Kп2H+ 45ĬY+SU`#26ls^㶭M무lƃy%CҜVOXfǃEeF.$4? sW'9$5rtTZyg[R,Q֎1m3FPTM[]\\|sY}u2QMc;rK28"N iNeXyXVMq7yNXrm\p!movYxRVw_/?$x5yPPr8דQtZ.k0MmvD1.h1|-FK\C[~ +Y,H=(H3iƣ
g:Q&a7ccYd
Hd*UǪYVuK|\2zӪ)+ڸl"H8d +Dg97'cmTV6~rwa*EF87^p1욒zqNy^)yUM g:RF&TZRw&bVNɹ""k +bLDMf2&_^l6aYs~B$$LRs)| +
ª^@r}pnЩ˝^jraekaq?>/gj'3,6[KދϔJ6]uՋ#?H%VaX<_yT 23i'%BpXl! C:zM9ԉI)@$_Ku"!]7s T-P٭nΠM.NrU[lp<R6H{\guxm\٧r.{#%dRE;s"mO$tՔ?<f&BjbL&]J{߆W/Y35L^IWj.l/Ҝ +}{Iq +U:s>}{JB~|'pnmU- W(͘TUR2 -sY/ +kYw0?+/>qA~
3m˞-9įbEv=N 7\NȒ.']H4!OaV@-XFN~X_G<=3*{`waO0n[R#=[U{7$`/O{Zz\榷ySg:2M|ɐ!4^cv>XAwJS
s\0f&r-->
tCĸvHPUUѦEc>'|tNeZP]~!)Ѿ]X5I +A#Z Ww'j1Yp^Z _[裬Xi
rQ-8VZ*Ũd<don/4:Qljx|O;燐)_jWJWq_MT@{Y^ iPveGT x +I:XXU x +ReUIN$ֿR#
-6mU:ث4QvzTHƙi8# nv{K!߂7r7@c "!n{rua"!4ՌDƽ){躂'|.oW:&_a-cxv-Ѣ~AsY90%ZjUKʨ$W(oj|풊"A^ +KކO-K_k +i(.p2yfRI7 +'=8;r9?8=fi /`rT'{^t|ՄclF>' +r"]f($5=S|w{h?&xf/̑>{HzXt&zK12'><d묏ugA*O҃1M endstream endobj -617 0 obj +651 0 obj << /Type /Page -/Contents 618 0 R -/Resources 616 0 R +/Contents 652 0 R +/Resources 650 0 R /MediaBox [0 0 595.276 841.89] -/Parent 609 0 R +/Parent 643 0 R >> endobj -619 0 obj +653 0 obj +<< +/D [651 0 R /XYZ 140.732 808.885 null] +>> +endobj +149 0 obj << -/D [617 0 R /XYZ 140.732 808.885 null] +/D [651 0 R /XYZ 141.732 514.012 null] >> endobj 153 0 obj << -/D [617 0 R /XYZ 141.732 701.919 null] +/D [651 0 R /XYZ 141.732 376.565 null] >> endobj 157 0 obj << -/D [617 0 R /XYZ 141.732 188.659 null] +/D [651 0 R /XYZ 141.732 148.985 null] >> endobj -616 0 obj +650 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F68 243 0 R /F108 283 0 R /F98 290 0 R /F67 282 0 R /F78 280 0 R >> +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F85 245 0 R /F148 295 0 R /F101 291 0 R >> /ProcSet [ /PDF /Text ] >> endobj -622 0 obj +656 0 obj << -/Length 2624 +/Length 2726 /Filter /FlateDecode >> stream -xZKϯf&b)QoP(|-mHmmwL7MlwZYh*[k4_U2H]FoO_}/XDB.)ќEZfDh=mw1e~}4UH)`"PCmQJ'=F4D+<D?=fe)`,0iN$R\^]4IW<`TQ?)28
Np !w,00CZHiq!餓NqB2sʐ2,wƓ!s - -s!B1|*.sT!q*n.c05rF*6::N>xGW5hE2) -fw&ݞG6RӑD !o2JA` -D2*8 1,[c="YDGZS8w,P%pG?p)BmOa"¥P.Y/.G@U7Fک#lEld
&eyBYtv>6`߉i;#5Ap&0o&zӡ^U W䆷M_U9Ld:.6bWSzUڕm5wt\eqWtU}#@NI.{ϽJ8r =̛oHrldNzהhD}.^ڃXU۲hoNSݹMY-nia7%*͝?xUa,y`TLY|,'d+?ۧMYM?gpsuY -ُ!3,M18TiqH/B]"4~zX\<_֘ߚm+Gг5gb^Q{cEhK @ -<kgMfZ߸'h{;d L>˥y3=zm!2<|aąAwKPN84^hyrcL^vKIMA>x60eC7:r|fE-wo_5^Ϝ|#'022[Ϗw9H02=2wKAoO}吕u)H]P<)Ė_v}S<js\l(R}dNhg~>lXfyED&37#s "Rة+ؾMeSڮl:oa:1rxχqmwxUvm(SAxdҌ&xP 9ɵVo7?NekrUַ5W6UV؋PAYq
.9WfD*9 -Qw:sƮ7m\o:כ0w\
7\/2x)ۻe/5QM%!G-J|S/$o4'2!0W/&PSډ"V_#2ȕ)p̜")rМ -! b2d&[cnR.'8`kC7kMeD5B#J]@huZ'WM -t![ljv%lB'?t>EhtteB;lSÐ)3(i6=([)[P+e+$Q:dQq=x9YV+-4t|L5ʗٯ}<g59^mSTn7Ln_GSևmvpE=}rAjz8;t*kP0-s}I|uՍzt|676Y檄Y>zZh4~\gBǟum\mV&=֍Ǟ?L]n<Ҹ$͐"M˩ѪܸCIx8fX=G0\7խZzkH0[W`Ǧ$?24Suoa2>j柳Wr̠9hl3Cv{6~_.G+ASBŗ2&/|& $C.c˯eW}תpS^ce9Qdfi{XՉ❅)dea0hc=Oúü;7/)%oW,:KXS{+xԍ]ˣ#)Yf|*8~)q894t9lN> ڮhu{_nF=el}63k6}ŀ!Lunh˟/w?֚5;`*zqѴ]?Qd*ӧ;_MIf@6I_ +x[Ks8W(UY0ޏnR3}@KVqmn +k`]z۔)
*
[罟o}$\l!=IE9h?FPբD v;K@ML`0$[dem +Zgw?pAL_ta3 +zAά( +!ЍD1s%'S0O+>Q= ael|U)hZ
KPPs7S1n<m4XfI5AoqJs`jC a5k`0k +%fҵ,_6
V2{'13KiK:u ++oWU +3-m'п4ba/-.K (bm wH',.O`'3iڬ +#d +!]SfjkP%E}++cq(үWpB9Fs0J}Җ4>d2-tܒpvTb99 +W~6x>P;e_? !e1D6P
gS\zr¥!4kO~@aƄk14욣(:$hM7& +XeotKn5cZB@8'N5r+AF,)b9^R8{j<ϧ8X&}z2N:
%|o"P4U=l +Bj>L]RNs8wݸ<FQd*Shq/]C&W+uccmXn%(t*e>[B b굷`V1DPq\O:Q}Yٶ, 9۞M|Gijpl5VӗC +| b.cd&?X`mrRG b"u4N0sKjIz\8K5g!@ҸF^9%M%hԬHD ?c=pp& _M8\Ց7E6$PP\$K(ka{W鶬cvrX--wV\o8Xh?Wme]s~@fpcǂWW[aIG8 +#xRci<:p-,:9*yPXJ͡n*v#7<˲0Y^u<u_nX);mpϮ65 d)
14
CY[ib
gwE(ERMLzk] +R۬sJ,=>~@ps +wjih*;]Á}fMp2Z&m cD2xvÄ"Ah3A!M3-3hKUL +)L +|]Tow4fXD{܄7%k,iaOjz4*ʨ endstream endobj -621 0 obj +655 0 obj << /Type /Page -/Contents 622 0 R -/Resources 620 0 R +/Contents 656 0 R +/Resources 654 0 R /MediaBox [0 0 595.276 841.89] -/Parent 609 0 R +/Parent 643 0 R >> endobj -623 0 obj +657 0 obj << -/D [621 0 R /XYZ 140.732 808.885 null] +/D [655 0 R /XYZ 140.732 808.885 null] >> endobj 161 0 obj << -/D [621 0 R /XYZ 141.732 771.024 null] +/D [655 0 R /XYZ 141.732 140.175 null] +>> +endobj +654 0 obj +<< + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F85 245 0 R /F107 292 0 R /F148 295 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +660 0 obj +<< +/Length 3679 +/Filter /FlateDecode +>> +stream +x][8~ϯmqUPqnLmm[ڦm*q2[7
t7!6$}:::::_`7q\O1<T2`H0H.%$X|+x+䒩WwMJ8\nR9n%1J7wfIJ81 nVmv<.>T%qzM1<?~rUlߘwH"o,wrD8i*F<jԀǒ"*;cSoI$AJwA"@)wGYj}`&QgWV*j<]WweЩIMy_,kށ}eQM,m!,7[]j[U#B1h%(騮f#"Xlض'^K,(X>dc-KSH@*iP|dw(.Jj
.(vl(IED0777fYv~e,Uf943 :a}庌 +-"hR[ݾ5[]lRDM-jT-ThV +]SufO1e{H]~mw`' +ISd5wL/ʟo ߚ<M!?C +
( F\wOnڵ2>\${(u>kkxV!(I '3VZ*!86duc,Me{hYd'Vj3F,'->NWej_|-Xea`^95ChgrRz|&PL. +}$WM"aچRYR:BQ:W۰*/TbzD0&&&lhA$>̵sk]ms}HrzvovJ{KWc-2A 0vI /"qH:y/qX1 Pw2Xm.!%`jvׅE +՞ɠS?qݕ$ڤ<ZEgCSo.Vfnnόb(w"S(R"~]A! GA!^G0.(_!ĠHkx7C(_ + +nq/+g[pPHiDu,4hpژɤNR |-4NR_)1wR&)
Cn[8MnaK@%}Y?aϪBA:.!ꜥjg} .r-7NnUl^+ĈG2[ђHhI}i%y7"T%ib +!|ୗ#)(`x^4&wLj*,RfmڬQ!t}U3nh8:r.N,Nyh"o۟g +x~=,ѐ +GPg: tnOqD5FGVc~d5-U̔}vD|\%MV35-5ӆ#8۪ 1Դ|0>69<HּM4i$.69BXP]iAWeci0M3?,?5={'a9pqt%ْi\O+㠟o;6Q4SNiI~ {9Þ1pm{9m~9'wh]/
QC$b$Y7$R'"Nq'P
m/ qvKq!I@G4SNJR*M@ó;4Dؔ_
0*1bG|,ur_y(N.XT1%PJp~+CD,nr)&q] +I+l54;1KD! )yl"dhv{l*ӮM Av"0Yf^2>_Xa:uǺoa:{]y/l6(hM]edTshw9V:"[{պ[S⩂4oaiRPU, "$쓓n$WQJ&ȭ˂ͩuR7Ie_oM>}R#/a/-R;Q09a^@*!`N?h8#Ï
_| .%U*&cS=a"argnmlw|'ds`t^\>#\>ZdP]z0Sɋh䏹=3v.2tiÉ!*50zQ<; +v嬞MӖ2d:8ԬⰞ?R3UvhWmޚ&'H'Sv!2MhK+JH[U:Al/?NOkZW'+u.r)pBl$
WNwrgR +endstream +endobj +659 0 obj +<< +/Type /Page +/Contents 660 0 R +/Resources 658 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 643 0 R +>> +endobj +661 0 obj +<< +/D [659 0 R /XYZ 140.732 808.885 null] >> endobj 165 0 obj << -/D [621 0 R /XYZ 141.732 692.219 null] +/D [659 0 R /XYZ 141.732 594.373 null] >> endobj 169 0 obj << -/D [621 0 R /XYZ 141.732 582.526 null] +/D [659 0 R /XYZ 141.732 467.35 null] >> endobj 173 0 obj << -/D [621 0 R /XYZ 141.732 536.038 null] +/D [659 0 R /XYZ 141.732 301.26 null] >> endobj -620 0 obj +177 0 obj +<< +/D [659 0 R /XYZ 141.732 242.082 null] +>> +endobj +658 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R -/Font << /F42 240 0 R /F68 243 0 R /F108 283 0 R /F67 282 0 R /F98 290 0 R /F61 242 0 R >> +/Font << /F81 248 0 R /F141 300 0 R /F42 241 0 R /F101 291 0 R /F85 245 0 R /F148 295 0 R >> /ProcSet [ /PDF /Text ] >> endobj @@ -3181,64 +3469,76 @@ endobj 3 0 obj << /pgfprgb [/Pattern /DeviceRGB] >> endobj -625 0 obj +250 0 obj +[181 0 R /Fit] +endobj +663 0 obj +[511.1 306.7 306.7 460 255.5 817.8 562.2 511.1] +endobj +664 0 obj [523.2 523.2 795.2 795.2 489.6 311.3 424 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 652.7 647 649.9 625.6 704.2 583.3 556.1 652.7 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 500 283 555.6 647 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.7 375.3 353.6 502.3] endobj -626 0 obj -[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +665 0 obj +[523.2 523.2 795.2 795.2 489.6 311.3 424 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 652.7 647 649.9 625.6 704.2 583.3 556.1 652.7 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 500 283 555.6 647 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.7 375.3 353.6 502.3] endobj -628 0 obj +667 0 obj [761.6 924.6 598 435.2 299.2 707.2 1006 734 768.2 666.2 734 720.6 462.4 462.4 544 962.7 1430 462.2 693.4 892 489.5 658.1 761.6] endobj -629 0 obj +668 0 obj [525] endobj -630 0 obj +669 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj -632 0 obj +671 0 obj [458.2 577.1 808.9 505 354.2 641.4 979.2 979.2 979.2 979.2 272 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272] endobj -634 0 obj -[277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9] -endobj -636 0 obj -[761.6] -endobj -637 0 obj -[536.1 536.1 813.9 813.9 500 319.4 433.8 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.5 680.5 687.5 666.7 944.4 666.7 666.7 611.1 288.9 500 288.9 555.5 666.7 277.8 480.5 516.7 444.5 516.7 444.5 305.5 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 434.7] +673 0 obj +[277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9] endobj -638 0 obj -[523.2 523.2 795.2 795.2 489.6 311.3 424 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 652.7 647 649.9 625.6 704.2 583.3 556.1 652.7 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 500 283 555.6 647 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.7 375.3 353.6 502.3 447.9 665.5 447.9 447.9] +674 0 obj +[586.1 586.1 891.7 891.7 550 366.7 577.5 916.7 550 1029.1 830.6 305.5 427.8 427.8 550 855.6 305.5 366.7 305.5 550 550 550 550 550 550 550 550 550 550 550 305.5 305.5 894.4 855.6 894.4 519.4 733.3 733.3 733.3 702.8 794.4 641.7 611.1 733.3 794.4 330.5 519.4 763.9 580.5 977.8 794.4 794.4 702.8 794.4 702.8 611.1 733.3 763.9 733.3 1038.9 733.3 733.3 672.2 343 575 343 555.5 733.3 305.5 525 561.1 488.9 561.1 511.1 336.1 550 561.1 255.5 286.1 530.5 255.5 866.7 561.1 550 561.1 561.1 372.2 421.7 404.2 561.1 500 744.4 500 500] endobj -639 0 obj -[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +675 0 obj +[319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 894.4 894.4 894.4 543 894.4 869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900] endobj -640 0 obj +676 0 obj [795.9] endobj -641 0 obj +677 0 obj [550 575 862.5 875 500 300 388 800 489.6 800 750 300 400 400 500 750 300 350 300 500 500 500 500 500 500 500 500 500 500 500 300 300 761.6 750 761.6 500 750 726.8 688.4 700 738.4 663.4 638.4 756.7 726.8 376.9 513.4 751.8 613.4 876.8 726.8 750 663.4 750 713.4 550 700 726.8 726.8 976.8 726.8 726.8 600 300 500 300 555.6 726.8 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450 475 400] endobj -642 0 obj +678 0 obj +[436.1 436.1 552.8 844.4 319.4 377.8 319.4 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 552.8 319.4 319.4 844.4 844.4 844.4 523.6 844.4 813.9 770.8 786.1 829.2 741.7 712.5 851.4 813.9 405.5 566.7 843 683.3 988.9 813.9 844.4 741.7 844.4 800 611.1 786.1 813.9 813.9 1105.5 813.9 813.9 669.4 319.4 500 319.4 555.5 813.9 319.4 613.3 580 591.1 624.5 557.8 535.5 641.1 613.3 302.2 424.4 635.5 513.3 746.6 613.3 635.5 557.8 635.5 602.2 457.8 591.1 613.3 613.3 835.6 613.3] +endobj +679 0 obj +[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +endobj +680 0 obj +[569.4] +endobj +681 0 obj [562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 894.4 875 894.4 531.2 875 849.5 799.7 812.5 862.3 738.4 707.2 884.2 879.6 419 581 880.7 675.9 1067.2 879.6 844.9 768.5 844.9 839.2 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 575 312.5 555.6 849.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.7 437.5 625] endobj -643 0 obj +682 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj -644 0 obj +683 0 obj [555.5 555.5 833.3 833.3 500 277.8 373.8 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 777.8 750 708.3 722.2 763.9 680.5 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.5 777.8 736.1 555.5 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 555.5 750 277.8 500 555.5 444.5 555.5 444.5 305.5 500 555.5 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 527.8 391.7 394.4 388.9 555.5 527.8 722.2 527.8 527.8 444.5] endobj -645 0 obj +684 0 obj [869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 575 319.4 555.5 869.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 607 319.4 958.3 638.9 575 638.9 607 473.6 453.6 447.2] endobj -646 0 obj +685 0 obj +[500] +endobj +686 0 obj [461.6 461.6 461.6 544 544 489.6 979.2 0 382 272 299.2 571.2 544 544 816 816 489.6 272 358 816 489.6 816 761.6 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.2 734 353.2 503 761.2 611.8 897.3 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 500 272 555.6 734 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8 435.2] endobj -647 0 obj +687 0 obj [354.1 354.1 458.6 719.8 249.7 301.9 249.7 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 249.7 249.7 761.6 719.8 761.6 432.5 719.8 693.3 654.3 667.6 706.6 628.2 602.1 726.3 693.3 327.6 471.5 719.4 576 850 693.3 719.8 628.2 719.8 680.4 510.9 667.6 693.3 693.3 954.5 693.3 693.3 563.1 249.7 500 249.7 555.6 693.3 249.7 458.6 510.9 406.4 510.9 406.4 275.8 458.6 510.9 249.7 275.8 484.7 249.7 772.1 510.9 458.6 510.9 484.7 354.1 359.4 354.1 510.9 484.7 667.6 484.7] endobj -648 0 obj +688 0 obj << /Length1 1711 /Length2 20278 @@ -3330,7 +3630,7 @@ a#Sʟ݅lL媳 $̳Rﴟ"=`x
7>!liqZrr!]?fp;M W?I4"[q endstream endobj -649 0 obj +689 0 obj << /Type /FontDescriptor /FontName /LRBAHR+LMRoman10-Bold @@ -3343,10 +3643,10 @@ endobj /StemV 114 /XHeight 444 /CharSet (/A/a/b/c/r/s/t) -/FontFile 648 0 R +/FontFile 688 0 R >> endobj -650 0 obj +690 0 obj << /Length1 1785 /Length2 20235 @@ -3453,7 +3753,7 @@ xJxd/1D-+K3pa̘a=1R?V'MƖX>{5D85LƶiqY FCQW/L<eW`B=9-P?bxߔD@y1rǬmIN։Q#㉃S endstream endobj -651 0 obj +691 0 obj << /Type /FontDescriptor /FontName /IRKPPV+LMRoman12-Bold @@ -3466,10 +3766,268 @@ endobj /StemV 109 /XHeight 444 /CharSet (/C/asterisk/colon/e/m/n/o/plus/s/t/u) -/FontFile 650 0 R +/FontFile 690 0 R >> endobj -652 0 obj +692 0 obj +<< +/Length1 1711 +/Length2 22681 +/Length3 0 +/Length 23766 +/Filter /FlateDecode +>> +stream +xڴeTͶ5Awwwkơqw<wȷ~t֬jtnrbEz!PdDSڪX:13M +) +8ف@TH^U +oFW7]NLUHUKQ +8? +(rw7RVo?qCGq7]clͬ +;N4ŖK=D]l[0UM2q}FPđ1G,/5=sECʶ֣BW8O +85ePJx%>E,q¯kmQk2%;CBxo!Oo*^/3~O(NoT'Eը4tq䴕[
,D+ßFB"EV~l!t'?{Np(ʾ\*NK:a +`6A`&Tr/G +jd!nŐ$L(Se)+^pr}*IS5-/pK1̖F9 +)J+IFVݺj+/]
|BU1viqҪ@@_]>i;|'XL]Þswx%9_Agq2O:@~U}?LR|9OGiB*1d'P#at5Sk3"|<JKB{_D⤦kvVN`3icdk9:H%,q4p9QO@&{2>Ŏ.cHq:#5wIaQhUClL=b6.ð7ʫ7~L]@8VQi;Ά'wJBtE5/3r|*&=><XQ `W=qqD*5TQw2X~5߅]+|κzH< +ctI뢷8Lʦ%hov7'E)ZX6=t
w =T_NNdZ"M!G}#.
={B6Pff4afs֞%lt܋!)w'@a݂nHAx0ѭ!t.`vH8rHkbo%N*gSLYOʎny34[=^`tVuB +O4rȣUel +[JA^~艂s<94iMο= +8pZ-rJ.(n(cB51puFq4/cd6ڭX-RUT5i#$8=nǯx fy;w spÙ\0d7dׁ#r/+aae +nd>j5&XKr;]ܓqA\cMR"N!vBS4|<Qs0Hqˏ
ږd>]P;\
UѺ/~A +AȠޥRb +9Øv2 +! + +`'H0D(C>pOd}9mvHS
AYd1ꂳ:L(;;{pǟ!N|%9E, +OpGH|ْ+!<5*.0$uSj]7ef(@%*ؖn|\|ڕ#yE!%11uU}o!LrbNqM +8p|,UCI +uRBEb'RmǓ[sm\VC`3EXb:NJфZ3k!$(Wp$LdF<aއ1+~N}͈DSDowN\CeU;yx!;h*n`@\HĐ~"jJ/>@wH,Q58 +:_5w(-Z<fIY_:)J<ETtˏi$ 8kޱBǍoZ# +d^UFn{?q*(3*]gkK,eq4^kɁ29Bx)*KwSyT,Qs_%"HgTbfֽTlF|m~Cr/%~=b̦w%
߯yzka;:ILp?rFu0uh7`P̌LLc:^I-H$g]{Ι*\[\7hQ^N܉d@Ro@^ +=Cەa56t
~{y"}h*<F=[_6)
uQr2SG=2b'-*cc1& +Xh6vNYt+!1?RNM@&~wR؉7JQ6}WܧU>Jr62_-ondZs
#W(0?ˌ瀚_;;DnE?')Y*VFgO-'0t)":gb(j R~6G8ƴaxfc;[/Iؑ}9fc9*
4Ke[ +%;Өx? +5}>Ze$f7[f]SP2Du*<USϫ/<%wHzq"hzϰ|DA;A1[Mf쵷#Yz)ڪO8qG<N|#M)Cy7w÷,duN'Aéj=H7¾'Q,J5ιݵr"XNgϝeߑ9 **-ƽ Cmy$ +~Ït I}oPQGdB\Wk`GJqہpɃS҇z +$Q5kbtֺ]80 +0&%ir'V)zSad`g+x;2g=uiζÆ=\:{j'nSM]Vi5d4 ++O\v}csR$ "vDhx^*1q!K2`b1Ԛ`i^G~?j=??OZOF{^bQX綬ٺ,MQ21l]aq4wd%Tɳw~@^k5G>Ky +QroC*6/j3ʯ-!jٽ1U$oFXi+wݱ;x]ToER@9\`~`q&БrNscƐ?jd"u}[[n,TIB`<}V,{Y?0ʝ|рόc1θyE7+&
MыM^t1@*i<P5|{AʼnߡNeNgEڪD0Q`3cΖc)MIۡuê /flVٴ"*W1$aoI(gP1R ɇkrgg|lt%2#z{LSUû(j-) 9+Y dzhw +qQ M6Ql|lāFaFFn{جFdi)I@WRJ\[2,<S`G=njF +?XER]%% M_<wWlk l\%>}0)]c-nKڗhK
"+vjBעL#Bc! Ddxn؍le +%DEEZi<r\mOWÒ#2\
'JZD=_ѵ]M̟NOpڈyQFH-5[MgJJ?$K;m>?X2ڡk0^2HT%
6[,UtҜE&!H؉q&俛2]>Ywh +E!/ꫀ؏ukՐ)QANɠؔGK}dMШeWpr!-a8{wIQl~炆Am߫ +쓂`|YgNYMg34w-!xLEq <-NJi<Y$xd>Z}zOǬ۪߁87@_1wA~} mb +wD!(r0?["}{Icñ"ʉPd|NAo.N}zvYFƣI `KE/w\:cym`"U{%60gRT~;(nz~#_w{F3ѐ!'7cd&ZT[جCDz,5ʓ8
_ovSp|tw(S3y`*"*}VaF
§&5NqE6і`kKR4Zf?]*.>p75=f1VClЩsf75Z!{ O|{^"g-
:g;f5jB%(:(*#jƵ*G/+qˌ7Nekq^shD%ȶ؏9u1L1GiLeP`D),%sǧuیE2$?."LȈizܒ6Nt*P~ڤgtRs`aYE.ݿaR@+4LvUR*se?_ǯhyWs,0]?S-1zJ=71 ќVţ̤xly1ƨbFOMUR9+([_aaEWoKў/3˟4E$.t"`:<myb,{ 7MO$3v=qҷxʼE]-1?;BvB7D.gtzcllMڷq5 Ϡ]$F +x[:agZ = +p:6#o"%y +:]-TG\[p>m꺱E`?菠:3]}ul|Ю
33=SuYKJ@
V2fO>[7Ru(;(cц$^EǯiUj{~>4 J0yT,[jwq?٭=Q(KW3 +yؘޘkoJ.}?tHxŜ}$`VCt`! ݜVtC|@YQ4P,Yܟ%Ao T% }ⴗ7<OfrqUn<XKS9q+]"ܱP;mWD'N*}u4I'*$v_8jo*F[$5ZOUB_<$R#j-80kHZ[zTa%6u;|#~g:^9!vT\q3-Q]7L؎md=3-r[WfbhYlpAX..% -iq^P[OD_*BnO0O{x +t9]ILG1Zݻ+-0@@}V *p*堷vw33Q[b润kW/i0Kz3軸/==CH(Ͽ87Gø/;C5^]"
NDё
7FEL+LJpdzD1,:E"p%Rm~g)PGBfeyv=:6$YQϗN<cd:[=W<%TĿd> ˴ӢisD01<y=HZj$-pwɃ2t;n5D[ֶ +42<IQAbHK,Q/f#NeJXo"&6Sh^pXFJzH >De0ˀ?ϵ664R~dgѷ)ihQ#=ho۴Uq9*sdJwSNi.jߣt&Q_(ҨDF^FHB;1_ru-AN>$ +|<Vo
ĝ[H^ࡋ]C{3̳i`ԪzNA5u5R۳`^<=NW:u>=)Ѕl!8/+)-WG1@G4ތ+SkWvy0[3sFU4)6v64k}ا@ZI8M'L_x)i?ةT:"pe[bnI>Ag()r +/#oV2x32%xNTEVZt\6aD4$©1^p39MDEx_(I&Z.ɴ[ig6 +MWE5%8O)SWtVI`.2v,1t9}"7/ktBʃ-pec?.0ΑJKGh*RUAa0 +m#2zS='UңsZ^ +:
BۓrX42=3&RQ}tN1wvܵ*\Ae96;)Uѓp5~j+Ac{wVbKTΐeg~a|eYf +a[-:}fJYknSMao`4~A!&PV~qbU
F@Ȝ^nܾ hoN癅SЅx#DoxU +g6ݷ@w$#GpUT.+y~qUΓH(wI +ETe76-!esVJѓٽl[ +Waȥ*~v(৺5NI$-Bf<E t}հUUb_~Mذ+ʇq'KbSq)fkaTqraPtu!'iG:L'09\kMTo61f VhSVA\UJKUGDx~)eQDygO
M:')E$4jAR.fwN.AN3t8NXu(D`@EmۘK
vؽv[[1OZE̕y=hirhV<
nU
`oɏsN; <i3sO]?Z%ן)Nghv$I뉀7̃r&h+W#1:q5C^
@567f*QdAc +g섐9!ıޯ/iռI+*X)fMR2L[/D:O +I:NdʲR ^4Ft}eP0 +U^ꐍ3 +CPEp5/l٨IAl|w0%
q(1"פfxdVAra!:/ ^*'ZSX`0Ο죡v_cz7EA͘_F7Piծ}XT0 &!Dd IlG,iI;}ŨIb뙚 sbиx xzA
+:q\"UPF+b4i+#-\`#o8;6//wq=\EW h$*Aψf3:+p~M8m6t/pkhʞ;WգnN7emǧ=$aҭKtqK437}t|J
ɕM_Fo~Z +z$hu 80JW/%:y|da]>S,ctP>=&@PĈ**_Drb|3_fȻSäVi4i*COՙ\:UaWjz% \b2h~;O܀S!qM-O颟 +WD@ń>TQL˲4o#*lsŦ]۲JS\=9hoQ>PKng5`2'%nO'nh qo@u5Cn{].ڿZ'W+ėou?RFНg2HZwr5@[3pky]<jQ{gc'<Ƈ;1GUr>ˏ(Ha\8LmQ(cXz9c,vګ>Pn7~[6R߮8=$TR:Z^;Jx_trNbL, +
Ko5m7`At %4d j{eA}qdz]oJY"Gܘ}fCmdp1f|xƾӣlgu@Omgo00?pn\!k
g ~`3 +x|\|YmJ!O@m5Q67Li\W_+
&L$X5z^,
]=ދIiGcS7!*DbUƐF| +fV䧇1M]#!Q!]z:m
D}$,])%߹<cN mBuB6PH@]PFtOo7rHaf@
Ux t3MLj%Y7A~Rx♎u/£j$}w=2BTϔ'Ns1eLդmXh6Q.Οҡfo;{jױe_2^\YԦPj3+i~FVƊ2iYfcl0ST_.llL;:֮]} tL7DJcp<uvU} +.2I7^}S'b3!ԋ;3Б|7ykPVAd'OS8iDm6l#>]7ۃst-k3ׄAw0[8Ne$7~EAp6X`TBNim1ӏm4ai%Э, ([Gɧ˒F&+o#= bnt_V*O ; jjO61n +4KԢ<Rbburqljb'-̑坃6x_`2F%%PeYlO:,m]}MS`>-ȾI_'~Z3:v25UDrwь6iЃ{ú<~Ϩi4 ^w)FrC/ WxO֞E~_fq ,sPf(souPt),S0[зYmb@ґXzW6gc0۠
p/VkߘN/S32F.,=1`Z.s1s֗ϸOz(WX|K0n'jn}yZKGōÈo,auU^eu:;o<:?NOɤXɒVvjR +HteS[Fk͙ލYGJj\/~Gx< ';SuHbkս8wT@?>n&9τeٮgKIP.#TjZ& L$,Z3EGþڷ)i)g?6<zT,07hQkRx<)ڨ}Ia/[9;SW)nÞnHٕZ(E-bf"3Eg37VL)&`).Bj)2kהpTc%!Iw).cJ!-_GǨ +c:5"@dˑ~wЅ[纃{h6jϖKۡ'fc!4Ts6Av~(Jf!뼐`)sos]# WLfLK O(QSF;7"utJK~:Y9qTDq3ܨZHDF1rX;!zT6*= ,ľA +'܈ +EJX'@9M#/A3V>6-!xbkR$[Ȯ<@xh1>ЉchǪSfKFb!OOTQ
I_p +>d5uɶNMkld&ɶ}ɘ{?~Y{?kh +\ùM4SG=I.SRga==EMіe&ycz@7.(fZ2# +t1ZBq5:$|VEq"~pe#j Y +amk]54YVO1G'!Y9h"0a{{Y^Ѵs9o12<lxl,+YHȑjI{t0aŖR GC&p7%Eb^-?,Gs4%}:
+ٜ~ɿO8kIPXʢpfT ѕ&Y|[{\.>IQj
Lzיr"79okgfoTlj>x0U?^C羳7wiqs`[0/5o +'&V{{{K&UǓg]V'\PNj#}~w +K}DB!^8y~'_"n e\ +mhdVw]O\P#@96qFer"ݴpd0UG5.aPP=GmW@wFJ.h튏Z
]pB.mW$aasM-51
S=J0ox}AJa+g6`?!ۮv$p|g"y/033Q2v1#펴ע#V]߄|_bnP˳MSю|HPXٟ6s@r?[Npo:$A^؇VĽ
'үNcڿBsnd8Y4(t4tP\`9F'oJ(s¨x4Ǻ2HC +m]`AT.pC + +z 1%ùT#B`Emy':]qҢ%t]ÔL+$%}XB"v]5m<)s/>ʺQK^I0d86;iܻWk&FHc-ي@YLj#ᵱIaB6 My|HOMZ$[ 7ue_W:t[?sJFb{'O;={m.lana2
5iW_,0!mp:/<s6)Z&8&1)2)o4J{ً}e.n^D2S7nR]LKtmM^fNpa+Ë<HzH1r*QIv</[Ff2r=Y#ꐯssT"f|a3-$؊IDZ +unJs3Ր&@ɟ .X* 1$H21a O_,hTQUi߲ԲɕЎW,c{D)!ofSڗ,{~ga/| $#xD/X[*Z +Z +~P/L_.\|څ[Cwj.>S{RD?~se:ܕg +S|MkZjlRiqc|fz;t}_Ʒm`G ᕔqg@%k7rܹ]~J8{pʗA; +&z2hqxLݢ9_q*Y3 (ߕrM@oz*FEj`P,'AFd^2بox_yAwnr8ial=+~ 3QT$%TvU.lSz]Vֺ#/嬮rkI7;[RwmBa#rW35]cHwʴq={cD-)@>_
AY+Lb
`0bk)a@FacAj2?Pjo!z%?ϼ-L/MQtW3 +;V"FR&2fVşcҰXB휲Зi~yw7H,LD
^Y~c1.I3nr̃[_{oSWL&iJA̴+ +#l^X4Әȭ/Lrbr/2e~rQyG@ ZY}6xET*##2A)@f缄([QGד.}Şhx#{{5.w)iQsox|;Z>^@h0ᡠ +͑ޡn}39y`F`rY4z_.^xìwJ^ʊLXKT +.8Od5Z!T'W-d̈k8%+ė$lu}My w?4ϒѳ-<R׀_Tfޫso
:\k
|qu1n`*7Aۇh>&2@% +v.w#6A-_5۠pnm;\V^{ʧ|GV =H헂\:&/QksoR>q(]`ύFbY)<|LZz"qfà}g(w~VSV Eh7!(]|A~{\^>ʷV:amtN;YeUpT 6bZiSJo)(.#l"Js͓-u5cS$k76v,\bw9T.idfSaN&,h t~ڶ/Xr̥?5c 9[P=> +M-0lt,nekobjN-ڧ!~,L '`5L&MKvF@fBSQzX+ZNZ,Ϲ{v.zdƞ!m{,mh|Eou"ƦM`7?;i\i{rwl་= [~. +!H^#c)Q,27/RgR؛nHkJA 7PoFw9|Mp!?ሾ;G:$yMŏD$"ڑ>˭20;ƈ]dҼD4fL)QHśÀekvn?:Nn2
R$v:q'.%{hbτzW|E)5u+!K/1Z]ŕJ;h:*ؙ~eFU0ZwC7=x=% +m'8e @ +SMCyX6jˑNԚ6S"Bi\ +Ո5w{+I]^eo?rFW +֍]%55Mtv#1xPp-U5o{+Zp"ðzT +Y/mW3ˮR7N@9 HqvU>ΓkCRZIXOY:[vBqCYgDP϶Z@&+F̾p*'#H,ǟP9WVKJ\PEr@RK +ɞNjO{tO2Y7>0ԉ~I\轒_N{!&n)K}1V{/0tȁaX8RpT +p}:nI| 3ұ+BU}+[i5c-FߌANɍ9Jq j˵~I4h(ޒ3>-8?b +endstream +endobj +693 0 obj +<< +/Type /FontDescriptor +/FontName /HACGIG+LMRomanSlant10-Bold +/Flags 4 +/FontBBox [-511 -295 1637 1133] +/Ascent 699 +/CapHeight 699 +/Descent -194 +/ItalicAngle -9 +/StemV 142 +/XHeight 444 +/CharSet (/B/N/colon/period) +/FontFile 692 0 R +>> +endobj +694 0 obj +<< +/Length1 2239 +/Length2 24608 +/Length3 0 +/Length 25934 +/Filter /FlateDecode +>> +stream +xڴeT[SwN܃ww }|\k{?)9 +j +,-xv|m`A`s@&Er}yzKR䭙Ў?>7
LŀN#oyl3D +/tn/{T #fQW$XV,5\{:M/Ҍ+)i=N^V,tAp^%(cP=È'Q% \cylbKb3K)}TL$IF:OY|H
R5C>yhs,/Yϖ]&*9!
TnzC0acFBLMf~U*{;q<:MՖ2OE-^ry$y|vw.^ESӱR+p/C!g:ʟ!-Oc wˤ]h_֑Zurti+%@a(ӂ'AzQ)7d2& mua }מYⲸmH:,ɺU`ي$kO@wXZc.kl!kj,%I±YO9ARٕN)zʾF^.¦9vИ< +}PcF*ʃB9q\U\3KbU,ac/%X?%gA=_Kv etY;R#}s|?ÁBo]bOҿ>G;Hرw)*ye:->Nq2&f؞WYݢ
=.]gm
"foEⵆ +}^o]{\ؼ1$'ЁPi]qs&mؒ1ϮrOru{Z/uf +<wM3,I[jӅ3ȳwtPAMMݡ+ R<J-N9lsH>Gº;z/6@}V*kG/ԟV2CѝQcLA 嚗W(ZzeRmDz2b"Ͳ9,PVr{#r5k+|p o'&2cV3`FZWpd +ã*=8L8ϸv/;EPm"<çP|Bނo +2| +/ڴ?ed[CcUhAk8a;`H@gxˀ.ŏuYsH`^
ԈA4#$K7QY8
q1o*{I9o1ifm51 M&,
ܩι[RY +@ 2ꜵUOLX8q
@Y{}
1.z4_v;Sw*}0|UP +8|Yd&+gc +JeRYZhkmjVT.լ spvd%WO:)Nt۩Gil +T#L)} ,< LwVFTgxaźgȆCCO=ܶ\Z~6҈Rt6-4uD渋E#uvhKnh0-UfksQH{Zz +=mm\fۮe\k=@+>pPbڴ0b&CIr<uO<";_O +̎)ti|O,a[*L=GC(<W/4PTEXeDI_\"_i%%rF @I`a\Éd}V(«ylSV RYPe9<$Ѽ6DN2ܦZ(Y_3LomX487APe:(GM07Hh +P_Yg!&}ak$dAAd)+m(2ڬTR"_*1QNnPh +e +ܳLOp*91Dھ\vkR(,|fF6yVxfm"!";&LX4Rt=\ABKEĩQ^ʹB /܍e}=* +H +=ahOf"`) z 7u +SIi7=!jRct>UN#,9!m4!I3[@펣y#0TI#ӯ) ;gM~{zG[IHA֭*uY;B;=3-*͘ɖTu 47<=ڐ.Ub0"ش9C
+;.֔ulKe0JV$6SpԉtW_nm/.DZ OO +YYL1 e3Ul>j_B'\J]bh +G*
LoF?9pQI=(9<13ԯ̹#h?jX8bt.=}xkSO'\"\o,ɑGX +~S0Mq*Rm]mx`x.!\m)chK6:[yStts!1u7"!9ߺ]h@zaX,]Nn8
ɓ9SLN¹fч6s\Y{akHEFq)VnNV -a'ߐەχ\yZwWS5g"xs^lx1:eW9kH(v!$FLtqҠT߄\☣ f!- pF%@2ҭؾWœֵu}RL&$OQ?51jwIIBA-g:Ϗ*cJLc5ː%hβ8N4oMEG;]pKJ5<!`QɅL7bx<꽢i@橸suSUldSڑm.S7ߒsH-ĕ
PE0}l4E'ZwAn "/"_4 +l9ݘTF C*(o H`ao"eZqQZlHܘ c+I +#x{F2PQ>eABlDHXԶ|y߆ +e膃ːwӠv + +łm̻ZG8HהrCؤ%t94G~{,*ƅ
q
^ER[ɴ%,N òlPw@G']SQBbT^{ZoBfAڭ6 + D,;3 UλF<t&6x<>^vq^І m!jQn%Hx>@!g.rW%Ir,gC]uc5`
@cԡDY/)C<o +:Z}.Xtx(DI=456vYÇBOtd\j>GoIP&:䁱)2LzF#Yt͈9WE[ζ4E$2HGZja/Y50Yل rqV3~m7VSR[dIS{Um}.adY6Pin5dV4|FQ[y>l2xn}3C~p<9hP
̗P.$zn&p0#WW^ZMB5Kx'_Gf3.!3oao`xtpI` +P 9%$lAΞbZطp8Yv뺬ϭ
{ăժJmH&@1F1l +MRczyA½RDŽōz:X-tЂa,w&Ծ}bUm9
nsFpbtCVEfW D(X{Út=gIm"-9&@cHLOd$!'RWsd3&^9o%4*a +Z wLF6,OL\tskj
RM*X`NBNh]OFQ%˹&r죧nϪ,EД`S-c[uOI3&$?(!ȉ#(D2hh0eiilym +˴$ԻXt!nmO^֎Bw٬5 CZkOj
10cB` z(^j1Z +"a%o3$ͼސ>*Pj-;XVSFI+ܛgꞅII:e}Y_i3W +Vh){4<Yk& aAsyN"őܜGukz2;BC:02$J\?)\l͉^~VKP#S>-pL9 "lىku(,QG E]m#7cӈIZE!eݼrcuI2\zwϰw*65W+ȵn["l3W_8'@?(i\R@ Q ů-MdԽǹLg7K|OsI$۩
_)R(Ӗ^t3,v]fv +73Ѓ?CfyDmibra&WD3E +]DϊoDMtr,F@ع@yY"~# + yLӱ G}4bX5Iv((Uq.VyhsOFfzj~17r/<Un0W뵼)0
L 1%e+ł 3vh1Ѩ%-Vn:'W +iSbt3=mEO.pp4Éw +_W#JGeKŕw,HE3|{̞
bh;NɠiÆ4_Mm}nlcp92۳Ⰵd-{`wkh\lCotP\Nc55ZU,_p2NS^)7u\ Y1hkJgt"vSg,G"}ȗ[e=D+r>C@k'sf
KC}0y
:AT+滢6殨)棴 +.)N }7Ӎ7p*tzC}Fm'T>BkPlNZq{w{ᕧ~1e+ԗʶNYbk{A{sI ݷz!5
/`BJcy2ȟl&Ne^$px>V;gg+B%o/DxcS~1[ve$*._ei_=NZ+Y[>A +DL[䕖Zc;_]Ϛ~vߌ:>kWJNb4V2,]ضΰ=xEP=l`J.jAzױkx _ XpM2
߰Mn8ۢoޮ +~>@:| -ߤ>nM+ K[jo.}DM(ؽ+x5cNd^&iAt +G0Ks{#lUF0Gwc l q"#I>ev_&9W3xlY{[-v2%,ȴX<5A#.k*>)| ~dOf`LX}t`K{:ߕINL-.(KF9tl:<Y}1i-rP%l%{iwq_+=6tc)&"ROQ<Ug=r*-I0 k [2/~7@<hv/pX"(\{? Zx4g>*]fe!Nc_@p)I%W]2ѳ K4Zj\E!I
(߾-XK:ad\qxPGԄNZ;|V\Pq܆w3A/x|EDjpф$ņ1a6=oheY"2q%;e[♓o@.h1pkkNi#ϣ|[2H=K~_aUmDȤL{{c$uOA+*TcNG4ӝ]gz+9M]"S8!&%dIkN +K{%$8gmYT/eC=,3g>ϳ#A?gHלr弳.YJ3Gl C榜z$7u+/&*6y\$YYymlcTDtata8SxD(/# V:5E:xoi^8L~uJș܂dlAhYGd$c~Rԧ.+^2?m5VMC$9ð nLT^2KjRfjg5W;9&!*"7孴Bqb<<c\r/ +teJ
^VqOzu] +%ܯꇁQfm$_QNHo *~b͗0L*O +:5CH͠9ACWEƜ.N}m"2L@HK\U%<Ӫ_+n'.8l\+Sx¤.,Qd&0_Id@T +] cnAj9I[n;o)r.-rLO\}ANCW.$طxN +/m`Z.O/+i^ˋakfl,䤅jk#f3NY]sjlQy) +od)˰z٢G~=٥!"EH]\:!7iI/KG.Ȣ/Rƽ:Pcenm{ew*}T]^1}
3»Pha}7
- ?t.hORf,
G*Ք_K+CY[0FBO_s(i?}=fBPm<fq'C]60٣MiZ* 9hs*]YOȽf2cb(z6O5<~=9i],ʤD]*'-?=xb
`b)+KRS;&e1ȏXy/Qt< i3<ƍc4,?.-O*yQa|6X)@bPT)!l>k*p1K@lO0
oz +7'X>$1Zr`ɲEJ"?&jE8x<E*觚++N3EVL9^j/בTձgxo J+ +b6(Z&1aķ\Fڸ(:.{5/fA1K憓Bwv"iBS+An+1 +Ŭ$HÞn!LYI[A _4P'ʬ|qX$W) ++DCULh%1<mFaVG
(X*.;r+A=D&~Pq'ߚM
=<vkU+f{mkQ(Ƙ(B#Fl1T@P]_ +T_#PSaB +. ?!0,T6RaD6XL}.LNeBQN$v`Ⴂ&[
3h#zxM!ߜV9t<#Xk]"Qҏj.4/
+|M}%C'O)XϥR9jԆ}F,VȀ/`8='UҘnakI=ju7Ə@how_&nQ>?*X@"p&T,.ˤlk֢7ۿKPbr:HeL,:TMi.6r3A8]Md!U!V~֔8"{72?^< (b}fэƔ?Nze;>ړeg\&Mxp5oEThz=6pVtZ{rcCtTgt-s!9ZpqE>$=j"WB皮T7l$G`.z_:1U*Hu2-+w$RIϩ-`"E!Gt\7a<|3"'B<UW0'ٗe +hV$&Z#?쒑X]}~X,IEʯ$<|Ǜ~4!M$s
ؑk|/{-yzwEm}|
u9hN + +~WHUUt_hI'Y2l^(aT-dk^Κ&"X@8K聯eCe+ &_V + oV +{#C|H:zmZ;`зD5t3Y?o6Q
] *^yŴp +\U<2&:q؆јO|}{ugy@0p0|-=2"+7!+;;J)LxՙDOvL
axWrƯ>5ǮdQ--1cr1:|&ʇpoE8f_yuZ%s9Ӷ~n&<Ǐ_fLʋ-w^2аu|LZ/KvSܴHJ+ySz4#|F +k:VwzKi1۵L`7(5qADDvu7`{1rx"gx`ʢ/yPՀS, +{w~reʃ.JJ%B1!47@j(5MזNT,s<zs'aa`<}RʷFٸ>"),"sPBp
C)Oe2'n~C2o:Nn^fQ܍Ѭ[E輆rmDdwDͪgmBϿX^f5otF-ɼ(]QTB͚Z ~rVMX͒#Ol3=rO!7$cbY|EV&kf]vzQXFJd,lB,^X.31_)? s%G ]d|@3Egφ
q2cTKcuvN[-T>2d_|=h: +K$bQ"@NE03 s@rr +(]NS%EQEN_6-i.0scr]|D)eCWĕ_dj>1;7WZ?M
MeYnj|"v1dCJA}˨Ua,VnVQv~YrXtx4},@I7}2jG97n^hshe!D~\(x2n2@20?Yq@?rHVd?A[B H+8toji>N̎ +8z֓?Pm>r6-dӹ:e;uhơ/&DlCYj!j'7yrOY| +NhM>%8:hvIρI1tc`!T9Ś]+ +0rQ[۩vQRڻ8#(^)uk}yju4ż%Oº_ e{?J2~-wh@RMaa@ڐ%aݯh;Z6},C;ޑ sc1]Z<^#Y݉͝0m +JS[9&ei&D-:8 B@ƻl!,wa~Y}Ͳ|jTJ
U\{+W3cҺvdB$<tCSqU¾Ϡ%Z6gIWiX +3_-Luc?tÇcj-1~7lݯ`.C8$IICKN'!dWʹezfD+>HƐXaNZv]'BQzǹE2FY.O(E^̽T1Q{lL|tVu^
r7@t5NtIF>iE_lDc +l(,#曷[6LeF{QMY.nnatPSn4pzpe-?)^ +5f$8_qP>5颞?-B!oi}f8!\`ܫLOFy?u1 +nW[doB{?ԛq6h#8:
6$vKe
eX}3A2 \aa߉X*&8v5HϥH=Ŏ ^?#j[b"4[b}W?GDh
y7Icކ#'@7x'_A6ND=fcq=t7.!=ε24ߐѪEDdMDjvjE2ubG_sB+Rad +g'EE!ޜrjfY!N +x}qkRK$0b(csaQ9ЎwNFDkzM[ce26p?('& _&< +ܟks3P\/^*_JOYՈZ^C#N5nWhN҇zƹTj%gx
gAbr2UKg֢|T.io7J HO0Ioio\c|^%
ig_he<rv+WrjyRg#N(2D܀|J1Ł<;du듓 +>~' Qq.LZ=m)XgQ4?iyX2L,~G˗ß#1C$ė$I$6|b6z'ڠ z0x +Rx2@@j!G脳1'&=hy_0gKڶE]CnDYkʳ`GbP
@ˀs0[lnBderV>J@/[p<
Mh=aRyK,Q{G +Y\st~JkX5ઁ@HK/8lh1d82MP(Mg
DG
d6FEvbMc6J>"qZq[2KO /,Q"*d5mnClC[|Ij䍚qW`%vpAR9STq"PsE8:MO+N>DΡޯO-KNg +[F,&6, +CZ;zWy̰CL;(k\';9=-l ~*?:ڴ'HE"vUzS-f/51@!(SOv7)*d>]0:4@-A,z;
ҰXaFxι):%L!AUi/2T(d ,)DO78J۠#/<JFx$<|:IRKs΄]a
&_F'wE߈/G"bإg.?.'g8AGTXKH.Pbεt<~V0?<J27,MKx39𧋈J+I0j]P~ʅwwlY]A+Rd{RXp5@5f+gOk5f2:/<A֠y"u$Qzޟ}#h~8:bb- m^7 J5>Ӊi0i +HJgx~Շ6a
@W5r~#*~'-~\ +D~=y|bu(vcQz&En&H|u:)ML +&JK02A/Dhۭ"-06˦p\?
(yw @Np\T;LK9@5֙sWVT?"ZC}^uLzlί͝?c=s@_Bsse9\+NFԐ[Db0:+"1zBu?Xvh;!?`?>E[
.Fx>q<JտևILeq̓hp\[&e[!-2bmOk%sHI/GU꒪6f?Do46S%drNE$8 +ކn:X/
V&nm{y1)D gy\r`aJ[5,WmM;4p_sWf} R\L#Zhznj6|/%{F}; +i9{/N-)u81O(h i3i%e6&S;Sc*GS|Kc49-|/p]#!)\FąrOrO҈4'Em^@[=[y~!Gss;[AD.zr +jw$R}Ou5]k)D&tVS0w>+4=&{iSsf)S] nnQ̅ 9lэm<С:6nk>{we50ԲJ?=+d*wFZRt0bIiFkvXÒblEi3 i!*h/ED9u +'7Ʒr\@du^w_+ +űDB0!1H/(1ƹZ;nnJqE6f(C_6VKљ-{Wr1S=.]m7C #a2T7Tv>_'Hɍ\I_&eHR8BWV~@Ӊ/͉6͛F6Y!t1C?aX=I'*Zܐ|I?B$ +CL/j;#͆;7?_cqQ6-]!0tA<9GB($BJH/57quK!9X㛖㰰y~,^M62.
ę.lG1|>3kqԑHա e @e$¥v bO7(d
Kx_ w&sk &"XW7F>}M3q#aL\fJ{+&6MPX?pOC} +D-Ơc˝`קNO +ðVUm\'ۣ9FswIM8@ 9smw:t +EW5{NV% ݡ@vP(c(D?CX 3̆'X%y#--V!sIr#jgM]iP3,HIca3(vm41V"u`+@_uj*a4#ʾgi9bVy,WCLC_upS`tGql%:n*ו=~K:칐{R2 +k\y#id rthgZb
nX)t225[Ug>,L~)exRt9VTMzW>O0:w@QX(P[ˉ +e
UȪȫ\\̮$բ61m',>4[pk_5W"X\/_Ak]аxm`*|x1(yMYzEUZ`+xl&7"
,VVz6`^֡3
&TT^_Kt\eԘcrŽUW>bA P!O{8
<ܥi({aGp +?VՀ֮U>Hdrh"IMI+^dM&%n>_İ7-I_W1ꥧ^03pTJ
f)hJo +8͠{6Xw̹Ue&1/PUxV$na222|^ +AƞG5=7GR"x7`[j^f蓴z伱%
o{_ ]ϋًԸy//BJgOԼ(OFWgax"Qf^m_@ Ux{(u
"ÓkaY<JQ_!
FYqb*@=]HḑF6Y1'WO=1 +endstream +endobj +695 0 obj +<< +/Type /FontDescriptor +/FontName /DFRNHW+LMRomanCaps10-Regular +/Flags 4 +/FontBBox [-496 -290 1501 1100] +/Ascent 527 +/CapHeight 689 +/Descent 0 +/ItalicAngle 0 +/StemV 89 +/XHeight 431 +/CharSet (/C/I/P/a/b/c/d/e/eight/f/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/parenleft/parenright/r/s/seven/six/t/three/two/u/v/x/zero) +/FontFile 694 0 R +>> +endobj +696 0 obj << /Length1 1705 /Length2 1417 @@ -3488,7 +4046,7 @@ xڵTy\TUw#()0,33q E L}ڰ]{p;YćWǏw
yn#nWg'zb9ŔDds]Ty$nqb*f6\MUNl5h52u>ߨ`Ŧ1r&_ɧwAO8 endstream endobj -653 0 obj +697 0 obj << /Type /FontDescriptor /FontName /PTIFWQ+LMMathItalic12-Regular @@ -3501,135 +4059,147 @@ endobj /StemV 59 /XHeight 431 /CharSet (/epsilon/period) -/FontFile 652 0 R +/FontFile 696 0 R >> endobj -654 0 obj +698 0 obj << -/Length1 2273 -/Length2 27487 +/Length1 2419 +/Length2 29282 /Length3 0 -/Length 28838 +/Length 30697 /Filter /FlateDecode >> stream -xڴeX۲5ӸCpwwFn -
t -@ -$/{)ߝn&^?1A2/_`
A @OU;Rs|?oc;:ڸ+"`ial)*JIk0)7{u<OTB
`7;kW?哰yml;G[;h:8e%] -` -
0uq1B`}v..{c[ -`b{מ?|xk? -ntX+HNh1k(.VVp~J"hN?Ʊϼ_TwA{-c0<z zbMDWLq`1c˄?`J>:ojG"PU[IhRp<q #gQJ]܃eiC[痟8}uE4~gH:̰ϲV nDH$5=)~auzi:ԳםBx݁{h]1N%q9g* 9gCOG -sKUX(S)Y5$S:Sm~-$\v
!*w~V%y!-Dm,"-o:/iPTH
V/M˸ox<8fs Alt[Z8gW{ώpù6*UGV9~M,ǽuEV~ v"AT[j+:1A5aCOik(ȗVX?hABIxmaá`vBv<ܑa0/doꞜ -5$7Q߷PZ{qϫ鲩5';BJa -I>!|tPۊ<,
\)y!όa(˩L7;#X-ݸ-*֦߰N4[: X'h -,ck|x%+KDg^ԓ{N9V}8fPHPQVn>sms3!*~VRB|5gˢXJ1Q~h.^4?RqG(zF5b-EXznAt<[M[5ǾsTkw94Ud33zc՞1B!QtkyiT)am}v0G=[̈́v>mg\=Z@@w>;"%3Wa2A OvbW蠜pi&0z)U·hn| -ܓ1qK9eba?+'}P{Q# -INS) -)Mv_&os:%tuQCJ;x[KtM\Vj~UXG?s.vF*Uvu lqc{W/hTEԶFX#a,}[7;/TV}` -\ ċ91,3el
*^ыI421K|j2GX岠>U/8= 9 - tIJё@*tu$ &} Th -piVS}|o00&B0Կy"ӵQdSO*n ;Lh sV6j33H=]8᳐dGRv|O@cn;&wToҩ4WOA} Xf)T8gwBن?ݗK 3~^ؤL~ˑLEsK0v"
׳O.DZOӗSJ/2b;d*T_C^Ԣw_oᒦ.G9J~Ƥ۾ċ[N~MZs'S!~4!.LidǛ8"|3BUєhʹջd2h./U43_+ze:-d1 -P-q[B=<XWSmIlS+EbY 0#jq5Io/yQ>[R.xe_;n{t6s? /4JwC'ZU'OZ <qT}{⿹Fƹ0w*Yhu#HOx!k\7bT*4Xy<
;I碬Vz58YF±9z9G+nKO$^ѓ9MBO{we;X|;ssekZXH3m˂rbT58.Hyꦴ`3>&9jCYAMNsrqM -j>`d+جJȞ6k M "Jp7vȣ$ -vic -J`Iγ8&7ld%D4x
~U.׆,(rB+2Rlݽ/B=D|dcY ˌ}ɔd
{V2dhMNE%5X;w)װƂb&<9}#zz`;9>UQCbw)G_4\jWrJu:SML^_#) `IМ -Ókwg8ቓ -}}YX28=
-xoָ` -caj긠h9em?ru:]hs5Ynˌl$zp_alu1\f{>˝!rSi)6窉ȻF]~4r:c$'e\0SJϐ3CႡdBvw]~p=ª)p$H!q1SN_W4q}ۼC5F.ٮ:Z Ncn]{}؉cseB06Qilbu)U$}Y 7t\#s rBwG4aG%cAѲR8PULI;ӈ̗~?<;UHO?EY|y! -خ$utxiț0O)L1gĔWS
z-#8=Q?GgrOwz&t,eH\ZJ#ND{EnrWXqj:ɞ;jDSu&ۿ_Z(:/5H(qʺJ|eŧ".envDx;_-q{Hiq«w[Mn6@ՇW -[ޡصEt80a$?4Qvg~hmP>m]\+dt*+ԋHLhZcx*n'ڪ|'\{r̜L{õ6)"ςU -X;AEܦ^ˀJ88cx)ܬZ<JH]wkTCBUZd<uA͎E @5
3<[ƞ:)v?!nsά=Eyq%UFpQ;=mtC@Z\9ԬVui -?Ż&HÂoi/q5gZZr£No$gcRjt
997,;bOE8yM~V/KJ^VjTF -u
fADũ{݉7Ô[AXFtdX0kq$"~6g}>7%legNQݮjLYF*+}q,p`PQ:5 |}tEͯ"$6ߠ0A&/(vkl'O@`a/ $>zjggy;ԡ7e2[oBK+۩S~!$_?-G&H-}e\AR7Ӊ KG1@6Ĺ묽#rL:G~Xm[p:#]XxP4ĜըeXi+aFrrV'ԵKYw -a**2kK7US nvel,O0Jy/4@7dE+^K|Aa5>R0NVj,04I2 ;gKX -S|Oܶ+GI.0x)m/ٳîB45<[-V#V=K3{c
hRa5:!;t)W~,, ϭx@BDks@frd?3x'ݯyD3é9!(LAvIlbNIesb
?< x-,q66B%_w}E
oiMp#{k[͓^( ->&EX}+f>#yA ;Mʬ6u[m8&Xl)*n1yVXb s!a2NRPyܦҗ7\\~:ɦ)oz>iZL2ZsԋDfK4m{6VC菨5Pm7paH#EVx^i(<e\|"W0nl!-şOYp,TBL{غ;ȯD^}P\) -Kd<J -lUm"GȌy{7mwAt"אuե{ѽH7[Rof"
63VHKIc -O&׃o]4Vxnx"5xMinm^QpWzl"p!S`#GZWy2~?G*r)QeaRL'=Lk3/)Cz쪺 ;wɋNXzD_-x E<:+*$cuWB<=Y6ۥ]"BC&ᬭgHz;Qᡊpfra2nBYEF}ܡ1LWi}ND$|}d y0T萺ƕ~ ]s\d1Qh[-t -17spMKtNlr֪73f/ -o -KXU<tʀɟjF#<`'i)8jeŒi`vf'Ǫ -9w6- -`"s:#YG]il|$+hBW.YczQÅ }T -bh8
PAӝĀLzZ NZU`ЦfA
NH&4귭O[: -W1{o85K -6<'e:uE$yᾩR])ή2eO [8O,0]M"A筜q
-^{fm::1
_~a ]1X5 -`sq~́1 -Y'{$] bٹ6WH0:~-`_1T&u* -rʖf0/fPzMdrNR6Su+jV5O_~PwH$v.%e|?1v3&uY8~)%EƂ
I`
u^asCHΘv8& BOC]2JܝgVF2~< E38eKF+ -:q&yT5CIfVUzU#>kɨ/WrO-|4fy&QJyw?HdHI'q.N
ZfImI<qmrdqA-83"g<C-')[Cq$T/mP*\kh=<50'}jEqxV4m]$ٔg&ZA%k -y&JC4.ڊ,KćlLi%.$!NZ{G -l$-h{]6I;#?K/|n&;_Ҩ5/*`Qۄ;AߚBPH[GxkE|+xG7;s|!<Xm[QDЂ_:ILG
-(1[ -#(ixo>TYb̷<KzھK=i#߀Ida-yZv!kU\yPXwFV,M$AXA@p8}:S - -d#&UTod]Bg/`g֡yE*N2t%o9K~--#m9p'Cinl\;[=Og_ -Ƽ;$eK4:($#%I?єڃ/)mED2(Eli12U-x~`0}`GSQ<yWgĖ<qr&)ޔ%H2J {Js&}w.MC d2`/|
lxX@ -)&R\KX"/@ -[gE#8#_~/8EuE+X۴oۮk:7uҔ^}X@MAd0vgͰpiZ,g ϪBI힀rlᧇZTTHM0i֡*"KmRL5.okyhbGBi@c
եHvlS7LUV -{Љ.pO8n~rJFn2l0ITs8ڛAlc.-*}
]F5bLoLnaO֢crK>Yݷ (XՅn!^x-:˞ -_ݰ Ӆes>-y0K0\퇴A!̚b(+wCK_]HϒEzQZ'@[sItG -@ݦ#%S7@(T9t0XĈq"ukwlBkD$Zm۶m۶ml۶m۶Y?"#FЭj `#S7e_X - -r_`ߕLR|FU\9,J߫0[
PsE)ڰxukyI%$IQ7bˡ6iewMR:'x5=ym څ
6H6R?lMf L= -^0gA]! -o][\sN\~oW]nGu97
.!s*- \v^F@o%XfRj)쨕|LƉzn2;2pj;Wqr_dBMlhMKrz?g}&xQdK5yBT+S4+nZ}1n -'py:;L&[ח_[{X2&sxA&NTSuߨkEɰo8#CEٟL# - b -xyrz?Rw -7ʶ;#bR&<r{RMfsW#k;aBma/Jc)(z6Ot_ʕ;(-| %kY&oTii8<g):K]A"%(xNX@t5FB;07`Q~QwKztR --|8;jkqt@ -Ki?۠&dX\D!8CP -$>k%j1=#i6Lr绝}gn'N)oG -(6Vvlu6r@d̝/mLxO+&͂JȀ@n怄RۇqqfD1OϹrjP~ -)쿁=8(}g+uMf+3mc*JЖհ}}!uEÖIpr0tikaevF77VY5vµ'oIɦmB(8]DLYX -=E!$!_$ Gl*a5cI9CBivy"j&d6M"q͠PZt"&%BKDíõrϯ[B1k -sLO)d OrPEĠ拿
.͗L&slkyEqvufz4<zH316Wm[4mLF3n -Lu >xҺwϹ%Lpz/~k:3%7okW><ʤIPfъ`z u{UTٺ _Z`ɯ*HsYFK5vdPT,^]G -5of? - Y[liԯWUC+n |_!fuG8Tq7<^u7B#б&oqgt17Cf0LM501p؆`vMVium@G~Q|~&#W[u=gUf:Ko3ڼ2a -|/_憻A wƝMXgPG6QDNU$1K?Ւk:ͅBp (u/~ѡQF/4vדv52uLګO#˴X$VjesZT+ -'
8^[³C 9Qh,@b
yNiʮ?(ϊU|/՝\3D~R*y!rfs}%,lb1?(\-i*oh鴑D+Y)cp~ΔUS(,K
]kI5qq!hrwN]ԈMGv3b.@_p:jćJ_BJD.a0At%I>àG3!dYs2O↾ҲU1*Q+ї
cbHpʫ6p!dγR&(),J&D/iScMfoy:RɸԘg6l&OQoncW8Je;}KqNr";P.SWT*)4f3:~'"[ -QR,q$"Jep ZdH%⪓pn3'/ ͱ ;f<xy --t3y) /'~4x*Q3Z@r)JQB%;U`,
4hw3 :8pTPM -OĮ CDM,V<]d9ӉPm8cO,߯q=EߤcM3hqe -dX,@ֱ{aexYhfǀ83O}Wp,
MZprgRiD}U`+(&Y]ָG/#
1vw]'hSPD8`㫱8vlbr>tN)tey2'W}?_ṯ\vB$ﻧS{`O%ʜ]Wl0ko|U -̔ 4RI @HD_+n$JYr7}|!~qtG_Ap붧H2.h1d<|+F0hRI#r$#j8nI
9f -$]oNPW03̟_z x[):+f>eOjЗ -8}P/^>= -oHaD/lcY♾ scjl:{Yϖ1{^ki㤐)w9Ҡa֣Vwp-c,b< -1`67$AW*̔i敬ZUQMsU'0VD -Q+ND -܂2sijYxdڼ@/DCG{Wn:Z>}#3לVSڸӨ&$qPH7^IPL$%@h2dRм#k?-}Kp.JGğD*w2h)t`f%5kU☯
q]WCwbG&N!BaJ\=ܝux6/ -PkvO-0B.dtcSQ#)
ߌ2 --p)2GɵEehႵ]q=:p
Ѩaa~)5h&%=[
b2>xR )^ -L}ҫ!
n@w)Ke ½ -hUZ ˇ9mVG<Pr
qtEc< -]x]æYIl|wwa ZGt:zY8",m.| FWDZǴd唾6#{j=R pKY\%_4ph_)i SNژYTAv^_Cf1_v -(>]ja[0s5X>RJsh}x -_D}d!K-LɣbX
y2&sOʷ^)[/ ڃQnO^0JdeʌzQ#&{%t3y>gRg&үl\h?È#f*DzʐpTE&h{ܮV...sBȬzw -)NmUO㭞FN?m (DRUD$4Besc 4A8HT~B1dX|:{XAmy+4G {j7 EfV\KlBg5utΔNN).S 8 gϠַR8~}0C<X!aUvs?,|qF=}aW¶ߘ,QU@8'M[!120oXZH;laǞ|~mldpV]8)F%X'dh)6I6iY/_h; -IS|mt^Xn%J{UQ[;*wYjz"z[;v#?q5|1Ɯ6Z"4Q06ȝiz.~3R$51F7|$VX~8
cF
aF -^uwȣS_
n^9t-ܫa'rE!ZsF."gMjwʛ9Ŭ(q%@{YƓ[γB+2ڹ҆37@G:9KV+RF85!]U7;#2wd kDs?&çJ2Δ$c!Feid
',d;5%)q)w
˩i%E -{K2tuq:_]Anv|U6veZ5j)=6ܢoQW\i -n,dꂓrI9]8)8zvd! -p0r&0ֈДKj*ETW -Q[gs#$egWnHq0t^E噣gYY9x-k3FaYE8Qwy -S-/",.ne -q -ڔA -*m:ٙlNZq!fnQ#o`tU܊JZ ÁX.;#~?9hiוay'xL?M3Ji THH* -ؚEM>?Ręk@8؟κ!%hB4=\&1tߎX2&&\ 632`FWrUzbGMLxp+p,.ĀR3>?Iσkx3/}L[Sx_0lMM\/Cԡ;u5Kټ:t1ĄY*P>nzdyrx7*9-Uaa;*eg}Ux1(=t#֦_rY6EjC$dO$Bx=zZbim
P?Tz)dATyy3.ùTk@ΓElm 0:<Uhv/h +xڴeXk5'h$x=ƝƂ[pwAOgɞyf~&#W01 +7 +=e<qQD3UT|dKڈ$3sL54 +X |?, gَ
Fu!BnuQfC+")^"Nsj̇qȘ<6G !o~uh?8ܿ|V^M9^O JhÅљ;Z}$Y 1~z_0iGtPùϧ"\ރ5rw&:h295.D>2 +uXJ85 +o;bW0umwECWcj:]L?x3{!ss|hF$?A + +B2d%Ε3ȇ
OhI%T2)7$Fg陹b?ӯ0څ4²נ~}6\9Thb<nqE3ř͔{G7֭Y<WoV(juRMTkVq9$Kw(gJߕԴrɺ֦8+Y*E{_DǪUTŝ:=dg]Naʉ$w~\O!4ɞS-)j^,M*3X"c-djhe`!69bF/:7ۢ>;MI_H[D$fe?}L7Ҋc1p/?N4 Qަ3ʙ9^+%DD*>ټHJB0nÿFLc_f<v࣮Pt{ +n$rR[ݜ;~G[HY7 ƶ~S$ +C;'#o_dtޓ̖}.ZfN\]!T{7+R%Qcf"FT_DqnڜŪZ*T$ʆ7%eE0
7@dPp2z$Tz"6_#d?(kOy&%ЧT5,e '.EL6ڕ'?|w 5JV(w1|Swp-K)Ă'yQu[$,N5۔5Ualw.\Lщ5)#gu}#Ec뾺L13&6@8elX|x|˝s+{LhX~~x%"GvY86z/[#C-ډ2Nr!ysfz!q5)ѣԂ48@yV&hHzsG +.5Aʄ7i]C^I ]Dgug:/d?\!ϧ2
س3=iI3ao~^*5܅1#J\O7b+.pcs}XC=$rkmf]3X=O)5ZxdH{3cG@$rGka~9)lFSGO(O6۪v/ +.49=%ihU؟~*w(y4LP(5xyiΒ 0e+ߦfLJBGz;7]TO,u7eq라L8<1PO#\^%-eMEZBBkU +Vͻ2L#^QPيf<\49{!#OềUгj|u+tOEvNѠw.,i|cS9N=EY%RkV4U`D'"ۦ +e9dfDxρ?Js^ i^"U`O4l.DzQ'`ƥ;
emi*W
;%y!)k|"5W3&Z\ȨJt%7! +-
דUd.o#ڔQ}lbBu=~ +pwg.o::;2^94l6C)12'Ypi3ijB0_ޣQ%:>Uvtΰ{_\O@.Sg&[Aa)LZ<vO:cp1!ȱǕ?e:uٌQ7j!n%__dZxn@MNZ5z[5o>E=3|Q<lv(TLMOSbNVwљYI- +dqVnP.@`sSN[VuIgB;I\8O:e?F866"{gF,_s}b`#4m,Ny܃c\"飍pG9dtc{)Jd+ ¨maE +l\.6{3LSIӹ&Vk:ƝLj-i'p,xoP`4)1gm4msyؤP:8o<2)vߤXYK +<VUʏ-/,TN`Srm륒15|'j'B TRDIaEtCW|~Bd54?|JBNosMuXa*AQ~lb0"".ÙV_ͺhC <96?sL8[=]i7'4DgݗhBh:odoש Z$c`7-ŘQ_D{vD.$Ja#:V87ܐ/2Yׇ5<څQ>.>9p_)SvmC|lW6G]m0<#H%T;#YrqR]t9FABgͅ3F6u˪ǢZs]yiɞC,5S$f^xL +ޏ6y}mKc}z$Y8b +Yt^d*>p;(?Ux5,e{k_|{==6sYLd4:-oQ+"~%i#s^ll7cj$GW-|rcL&P +yU^0I* ++J4px~1q/&TĀWA_ÇKVAPXC~<547: +ZRg&z䧓d-5tD6)3#x<|2m&~|3>zmq}፹WԤr`Nrq'&֗;!bxW5;nL-wT\*;HcDwWPA^*fO+UaxZH:J +'5/~alwC'&opAHXܔm¬LdwT7EWpQL^ +?O._ G{<ϳ$gͺ4/t]YsEP
LxupKL'VdPg@mI;r\-.SV_bLa ϭUOܻW3 . ++v"3 +ي+ 1(CfEx?wK3(>`@~a XG!IyM(T91\LЍ# +5v'JP'=ޒ\2.a+QԹNzz1hF
Un* N6Ӻk}p 'YQ}y;Eͥ +()T3D;Yeu;x34c-gGEV( *7;yĬ|Qwc}4{0m<K"vK,itHP02%cFue1oG6cѲ*6Tp5N:VDszZ +SPeQݓ'q"|۾cI| +D-NʁL&{z
C\9&ޣ2JDhO]iڶuM +LU!qQ(3";\L9JFoY +=\IhKvNʅlo迟bDc|pzF&?kt36oZpT +1g ?H>Gڼ>-]\Ϧ +!Pt+Bi*#sfM}?S;,=I،SCoiBLJ٦/e4e +IB|Xly|gǷ_q:GHLqRs,||Uu$6fwdQJ"%XO?:p3sc~< g;(|=:guoHz;Ag鑝 *}8Z7~CyļC*9:GPk0j n%,D9$
&ZvA$@f>M[ >Y9DNAip$oF)ڨ&ѳۖyD]=qa6 +Wut^ҡiPg¯0$=~[w|~jwmF!Wya +9O~q-XoQ1nT+_; +r +|}ha|[n' +O3D +JYm^9OgjtR"I:>u +DE4SJթ8!(%֡Lǒ%CN8H3i?X^rlY.Z3(ê9ڂщVxGIO|C;7}<ZO(S@n,%'*O"7݇YOwm
&Aw``q߰lɸ6 B"22[$ޟw7[l#TQݕ4yiPޏGOn]"P@I1ZT>Ǒ2 +TnݶC5gEe DlRߨnƺa)YUiM4.GQNC˔ǂ(xwBX/a~OhqC7FH?B@]7"dZYCV/ G\sNXc9sAl[.luס}SK~|'y06U\֟k;Q.{h,6)0/s#6䷚A.G{)[};MD8BQ[_JpJ2euhJ6ēб^}+I5rj)`rb,ү~05صt4A'jEh{k d;+CI2®Rӿz(MxzG¸r$l~8V}8%TN((֎j_EDDorAd!5SjM؊8+n _J:(SէjR/ 5OT}24')$(}*쉃*9r16>;|~I^zb}Ɣ +y~NPS +lo30R7TG0uyY?Kpϣ#1
XM +7\&ǣ d; KuѴOf:FQbD{z$Fxk&>7`4ojB*S갳]=Z;/1ëk"csǪ4F.ŗGЯmSxhPG7װʩRŁVNP0vtQW ?Jd#jOxĘ٨d
HHjǗ +5aޚewiNXY2CG!7X7aU{!1 JY@ a'MЕ</XZ'岌!C';[I
͔ICr<<7ra'dTOŤ,l͇*HFt؟`W2'$ˀL7vg'崊QI|X]LԞ_.J%k$T¤|S^ėr{Fr]$OKg$-"ftn닊L*k_lҊ?7|jpL};zh]s$$ٿ:jnď/bNENYM?DS>NrUKbdMO-^aB+PN]/ӱ䳐UOY>r.hcԚzkҠ +D@NLKBՐHl8c;vS7^wQ[@žKJIbyK1FC}H;@z(nTtA7&Oh큐䳻h9~y",sk;Mց@AHn4/OW0$i1f1ǣb35)vS,Xc5cvҥ>-e_v!GK}]V</8B%vGHnFZNbrHZ4>u$TXdU@ +K|>n썻
ˉ:yD^Rjن7ȌOzņCwt˨ZPP\y4 +Y\*xS7Zs*i-HX_)x/LA1OA ?E,Vu}Sc]\ZА5<G{/0y*7gs>O>%eVۊ݆Vx|N"o92;L #[6AbV3W浲T>+T,y{qBuu9wƔΤ
XPD*<}?=i
>92GnȘ +␔2ufE&1v|NeWIkRMwA)W,-XoDrߞSznڼɴ?=EB!`i4Rb G +) + "C |AUnLxҞva7IBej,) +|8qt3
\.ȇȾBwN˻6&=K$< +Ό(!<;:QBV37 ++zPozQIcغ@!W +Aڳ*ao297"x#M"7´Qd{&jiqKZrᙘp/-&\0im,gKT+\|SWGlR~^H(kIYK`2lV]b1W5Z,$\0B,etok7Wڭ5~ y)xgJWrydݴ, +' + +!ԄPg"պɀS]yxEc@R&ыstaݕ '+Lo7ƌyEtcAЃrZ$iSwڴP8F)1aKJd"sjȬ,wDMFi_XdgB)݅DHʋYCio }*xi*8xX)T8 m +ŗ5~
żhPv{ +
Ǯy2a
O( +ff\ [?z*PJ;v3+ZmƧoģA)'Dɱv"'9wNQIZJJ +(pҝ[օȾU:SDPPgbOi"iL[ +#i<y"iz&Y~F~)ixwY+:JwqK $4Q-)!&F6gpop3fFܼgR/ʙϊ-PUJ!es|ziNMM{NSS{Xr'lQExiNmG<)u8B:D;kC{P^(dS=>1ukC;Ė⾈DUZ; @7;OvLn:ubm83z_a_漿Y%K0BᅆL!*',ʏ}D% /S?y!yA~@ӛш +U <ڠs<] +~sgzڒ0jӶPi%]L2Ie>;Qa5J,2nY*nG3YhQ9Z(aRU1Y2NH2b$Beܧ&6;R]ъncvA֤c2aR(H +Ż!~ + 6LKw)l{ϻ`KG> mO-T!NCմt8IQzRzU#x1C~DF;rO +$DֳM!
K oj<k
-7ð2{1 2(82*\#!jAKol⌅ +wal5qI]D{kƟ9>cڠ8G/A<*==,B/,Pe|R!kڶ:!(Z-A256YC~`弋Qv
&mi\xUjV2Ο)A(]O(GEpP?頛i*x8kLEmZGMJq. +ޓ1>LAN2xϊ-VmO[64Ua7i%Y踴wbso7]0ᡇޕY0vx[8C`OZV,'˝RI^HL쮷jD(<}gmYJ&J+*SlOa7/h1='\H@HŸ_-Tz&]5>`զ6~|]Y^?k8*a.Um5>n&iM#XlteE5:bhZ58
5akܣc2>:wUn<m"'"2/CN +p&QF$<6#%&u^DR%jL@Q.~gaKC-rATN:)tf;ɮ9o/LK7-Ua$B7!5ɖO/eMfа]},@ۣj
=NJo;0kl9'vH5"mL z $bb|cp.yPu[H;+;1À_)?XdS}>
In饼|H3g6&O +Hs<VUkŲ{J+=?;Au5,QR$hyV1Rє)5wUMeT̝HybXlnwo)[v4ȯls=}zo +8{NI x;*nzrܙOa#hۘKufYɗGg"=X)C NgSl
=On +sJ|wś)NN[v"S
^ܽGDU8|Zy:d>G^?Ѵgx9]J$YBҼ-eJWЌ0)ǤQ~qzgtB$ tSQ49ÞLeHe +m{yP]X]übN)=lʼnioPhV`?e_-y1ѧ4|[r诏n`iSaPJ5z;&I'r0V6[#"Ko(9&0%UwP'%\)2eFkJ<I+/fnu̷=Aop9QJfW4ZotD+_&J"It옘fs) gNC쇉P7 +gJ*>O|ֻ?lTj7YJo7lp*j9米|(ѕ[!ڟ֪\E1\-KXpJL ëf`ȁe<KAR^>5T%ŋeIbN\-;aa*bdֈZ#oz߱Z1/Bkę%tFȃ_aV96;w[hSTS<ȓ +\q,R-`8^3ѐrގ<A xdH}ʒ߶]2qlVCL?Km?=ytn'TLdI&;yNh*GAJ5|tjuyܖDBYnh:itEvX? +#o~bU\UB!S2OXa6=(BzDh-
t$_G.\ZrP4wnEn!5B<C~
`a@10ZHwQ+ 1}OdQ0:"qd 5Fs9)BqmYS@(
eAjg +nʉj6)IPOŘ&RKѴRJiz5uAcHvRqjc9+n+B<g\eFO˙by`؞%=߰ӕbBhwX՜oDVƍWwv +[SkXc;KP}Lm}7U?4q]M#!D +#&Y"3\p1 +,Rj 2O$RخuWpbFF91E]n +9vaNNqH`,l^Z<E|$FBe)vܫ*g:!uXP'[ + /A15k?Tn%;FЩ%j26AYokWqA+]q^JvF5<MMzj3lA/+42AD|P&s|L\ +^*Ξnv
D- +BgG0|A!s$e0<"T0NF*3W2AGMy?33i{(z'Í# +3qHE)L-g@FIk4 +'?yX:e,uc&&>2^Cmː<ֲն*7trho:ΊH# ySo~QK:A#@CtyO%1d4sQmM&_2;L NT#۶z1b'_P#~ӂ$oݱh[2]#]=A2Om2kNb6>~ b2ei$&SMcm\d낶cj +̥TE<|t +J>5m$!:2Hr͎r"fL#~ig+5:As$C[\H2OI=`<7~Ѐ6HLI
a5a!٩EO;R1z}H^[: +<]zZi&7'W68sRQ8|~}NO&"f[ G8)KMM-|Ġv`^He(:1QM!47`EV /~[ !xw$vSvMز +hm?"|HxJqHp2xyn1' +_f^qX٠? ucθu/+ƻS圃K:j):EƁtί` +lUen.E%x'Dyܶ+Utqh +G;:QO0~;]W-opHC$ +oB\uBGlaqiyB _@Znu1;rk1|H&xo$wVz=&.|ǡ-!>$S}ĐvـVW! w bƋ\ΔU 8fgyj$?l= +586=k#7JQ:.uf,G=wAA5
ʫZ<֤$K[ĘXE7m>[ܜLF+ǘ[kkotCN@{yX֦\e"Y>#G=łmS3ϱgvqC[Bw1:*Ll*<ڿ<T1R;~5**I8h&!:lzIn(4SQG;Y!Moi\db/,*9UX!b,(&_f>i4C?9d;. +>>IJfl$@m6 FͳAo-:fek%رD7l$Y^D|tRA%̀k&q&: +T{ +`G$OWAy !3e7ƼM3k>*.B|)/rQ
&(0qrhV4_rԁ(d=5)j*v!ŊӱzCJߕC*WGۛ\%}jY#6nu8@רddfGhqU7&[B=$Gܳ{~ +xpӛNqyNޛ72bDÌ-)twAk`J};_+ȡo>tKp#yOĭe-4QAE7t]tB"j}FN +xtn]/Zp +a
4ԻU#{r1F2 +D]KJ2h_'q]y9\@ lP'cZX22:2|$`PQ%ѓ,`c&&k,&7w;c]r@ +&C<^kpxYKnUx50"gࡲLctORЩkhwK'Ęt7+V@P6SLaBs˻d+bnJzi cЇ&jQ'sD:MF|շ 6w5+'Sme=Z +26mfBT[f5sVdxEb>d▕*۳}+#pEϵ3#TZ4Kßaf~+]Ij+c?`r<,IHmvZǞW&?2 sX#wJ%F $:'5 ZKr,^(Yiy!9C>5v'5؞A41HXPό`۔z6`M#HNkcs<^' ÅZ&zoP +33A"?$VI"Xm'\qX /]Xto")a*P4;
O"ІaWUtr)B=:U%C} +uLq?`#dؑU]o>ה:ƳpkTS,^t/is03 DD}Y>?'
>v`(N0g4z#R%1XM%`t9H.\OC>v9g|a>=-A@V|'D9'vZؑwYh$d=7,ܶ0e8YQCx)37)'kQ|h4,;8/4h"NxsaԳC`5Ⱦe[?uя:/:* }vh,hEˁ1Yyj탯ށ ewkD43 +BfƈFZ:ABqM },ar5 +#rY"o+=
rA@3spi:ag˓ljԤ>.œ|t+{bԀRȹ&G[&5h:zc Q3qBT4=لZuI#R36KϜiEtӠ|7s]Լ:ZwaPogJ$k2$rD;φr,dq-3e(yo#Tb&0hQ%YKL^#<f@V;vC諥T> +"z_bzfюf$ lkU|93rXyS|cq>Ҡ)B~?Ed)m"V/KZǸ+GW9,}YݳmjYK\}g1=Gsl}*;%qO>AmKXI5MK
mh6#~;6`Ւp6Aq.4TϦqi +}݉4p6>1m+렑ĴK^91!-jwxJRzdS9aBLߑ©KR"8䄢b^#xEhGkLSۙԜV'2zG3lj`u`U%l]J͡;zi14O6iyBG(FcprZ$=y_iQp/V9*>Ťk)nO@k-*NY96#8'+N<i4s[z1UB_Xsϲ#MǪahY_BG(-YO=lR +MK6$~0 +B?
2! 4P1Q{HhZ)u:w0h7LA}{>1vv\ŇM7Jȳj}}ՕKKP%-ƫdz%~?-/0Un|ȍdˀ6G\Iϣ:Lzn)G5(#5gW
(.zq +jޫ$!xHhob2b@G{P)N,lE&hc0֜>`ܝLlڼ;;=D_2L䯮-TkXcS(+>^xMI۲{bU^ȋW9'.Uadw9ךk +#o;
,L +Tw]~YݖRֺɥ8D'wr_(89lo.6Hs<cݯ}Vg/2nPwΏz3_
TiDjWT!Pu2Ot 2I%oxRhٱzP&{[Ptb6
ca&txaͅ"Ҫ!5` +P;`h -tZz4 +3f[S3& vĿ +>ɈLSSK#.
P$>4~O5H)+2n{ 1DeO;_E:e6'Fh:G|i>!Dn=w=Ю^7-`Ifo +{`%s=P&T]#J0@YQ!'})'~Z2k׃w8)Bxb*C4)e"=OXgwYD,BVBSOxm +?"e9عd_
9 endstream endobj -655 0 obj +699 0 obj << /Type /FontDescriptor -/FontName /PQDPHT+LMRoman10-Regular +/FontName /OWCSLN+LMRoman10-Regular /Flags 4 /FontBBox [-430 -290 1417 1127] /Ascent 689 @@ -3638,11 +4208,11 @@ endobj /ItalicAngle 0 /StemV 69 /XHeight 431 -/CharSet (/A/B/E/F/G/I/N/R/S/T/U/a/b/c/comma/d/e/f/fi/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/r/s/slash/t/u/v/w/x/y/z) -/FontFile 654 0 R +/CharSet (/A/B/E/F/G/I/J/L/M/N/R/S/T/U/X/a/asteriskmath/b/c/comma/d/e/equal/f/fi/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/q/quoteright/r/s/slash/t/two/u/v/w/x/y/z/zero) +/FontFile 698 0 R >> endobj -656 0 obj +700 0 obj << /Length1 2867 /Length2 32049 @@ -3770,7 +4340,7 @@ n0J}"! 1uHcDق!d¥zQ*[堳LVF w^ݰ endstream endobj -657 0 obj +701 0 obj << /Type /FontDescriptor /FontName /XLXVYF+LMRoman12-Regular @@ -3783,122 +4353,142 @@ endobj /StemV 65 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/a/b/bullet/c/colon/comma/d/e/eight/equal/exclam/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/openbullet/p/parenleft/parenright/period/q/question/quotedblleft/quotedblright/quoteleft/quoteright/r/s/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) -/FontFile 656 0 R +/FontFile 700 0 R >> endobj -658 0 obj +702 0 obj << /Length1 2037 -/Length2 24122 +/Length2 24066 /Length3 0 -/Length 25391 +/Length 25294 /Filter /FlateDecode >> stream -xڴUX\۶5K¡pwn!;~Zg>պGcLJRe5FQ3 P -dWP۳r3-\m -np[ٛ+PFMY -d}N=!{sJAq>g69Vsq -dR?%ڗhS`پ%UMݘ)Hj2ie*,T|#=-)lo'hvv?DMJ!ӯh^<ڂdE<e'B7gT=&ۍf!Mtcj^IlWpBNxIA)sZl -JN8Cx;|"aƴ
$kTb%eWtU[~Sd3ok@/cj';`˰gؚ9 %nu(P -/R h[]{!
Θx()3.\-nVV"^1 - ^X}cvءϬ5LUHVBK|v.a0P5ۉg'ͧc$܈0m5D\`k:wgЫQQ7e7d -kZa#Ưy -%7GGca*+Lo7
i5aEQpX
~Za3-% -`5E{$)(YFh;W3FJ_kǩ<\E_<ZeZNςQ'б`AQqF_8q)h50t!dwf'&qq<Z>)VK638Eg}/;!tН$`?Ϧ{m{<|^lDP>,I=/bcs9\
Hkb)0|ТV؏שLO'|zJQS|A'>hxѢ?txIDzh{rf"ׄLg412">yW_r'5:Ր8}sdύC((k} -g~GaR<4rϵ6܇4tsJAGCզ60&QFo+5*KYqsS-x'7:^g=fCJ4jD> X[}w3hKK1֕&yҋy4mWp0t9%yeIXnƺMkr͆`c -##CQ)Rd!3S
IJVu."<q@{(_{-K
-dg%Ʉ$z+\4̓6sN4a~$'|g8jN6rPl -aLٯ?ά_ -ܦBw"Lmi/9Fq8fRGQ6]@NKHC\kicIGz[V5gGppr} Fg/wkG(N<F$~ZܯkM<;8(B:8q"0oʅ?餟wpr -+vwBny,V^5-WHFQ,O>Mo<Jv+It`YXLщT_ 'nxY;ӱ7ȁE>OԙOTRɑߑ2*m IR~2T%;Y !HXg/3;=k=yy&:.KܮգE{f-Sp14ط"|ikTD+z}GRƄ*hn=+^1e6ͥPy}.+^,|^fda0P6 -vi -fH&%Uyubet1Ih(P`DpbvyHU[|8wѦi|Q%j&hqḈEY$U%n{t)n՚գ!MQV^nh/~\H65Ni.l1uCY. -*yh{㶻YH
ϔPwY>e} aEA -yU IPb1
Fnr{6Z_z~:ۿ(p
Ă
X#\̗gD>xڬM" - -_C5/yӋ%asxH^t<g-qҖim?b1:\<oֈHX+P{Dav Xiwy[dh;[:VS]Z+ߏ
M- -'Ͳ>roŦ7.8?xKI웛Ԫ6o}qmCZa)B({CQt[T[e2tHל;q6t]{IM -7"D37_'9x_C -2_Fӆ`#>2!,&Y!{Ek{ȍAhd;8辛vJv|!]qyk ->&um"OKiO oL2*o{;o/Ane`q:C !9 >dr1~i~$$f2GTjHM"%m9(1{&Y0ў7ꃛ_8((ޑAHFىR8?P31X\[4?wT#w - X"' -a3Խ.CQHLtcRm u霑ܦshV
Ȭ~QnčŎQ0RRY"j~ڝ.,R7mvk-+QaP:9JD 3iPm>TMl͜Y#p~~d&Wo[0AjV95a<em56BlV~]|ts5hxiU`_,y?Zwt,Oږ2E~ZjJ{,/I^hr6; ϚTsfP }݁ooHǃmbv@,0%cyp9{vvѲ56_͝`/ko(ɓh離Гx}\Pχ[d -D}g0h̝Jt]$=|ӬҒ[S+)qi!(4®4X;O0{,0yJyȽG-'#9oE<_PӃGg³|Nv'k;~,TJYvKS,ybHzw \ҵr!QOkgn "oLnHLBFfcơ]UB%
Kk8d47) EuǕ5>tuH !(bE6dž5πnSՇ/0ђgaKZsA[[:!'~Ǿ&Z3<kIB^]ijxۇ͊]fxs1|K;+[TÜ$몗` -#wȻ1!4X ;,YΙzFI; zț̭Dsi
g0,ݶ+|\KG!|z|SYTFs&bxUFUT>D 1$n<.uIS -ԴKBFIO>Ěu*}sI;ʧCzԖ0 -U_aD/+9/)g}#yRv|ӏF?= -v!56` mk)r95)VwHOnl*K1bk_<rQ[U.&.!`ĐTl\"\r<_1xdKrܬ
qxŢvʦ4jLzIKi:0H7EҦKl̿5Ě&R;4+SZJ
-ӡ5(-(ܕYδMa-R͆9#/VٲW7.Z='W+}_M~cKľE-LV&&!X{$ 5 -|y\1.WNX%@;ἥT*F^S<A;4TFb^dы>|!̦$W
=0O㮁c.yJ-k8HOgJ$sGhwGڮCZt*34W$g~{/?hq._y)J3+Z`GA̬#FIFa[Gfy1cL<-y ; -255 -f:M/F{\s?Z-FGdй"#lRG\GʹV;E:lV&HѴkBޠd?MA/N㳆XNU}~baNБ*9kʣD74`\Vܰ{߄ ,^?Hpk@@ӆ:~|C|^Ƴ~Gn&g+蛫xѦUɸ~}Jtfx͵:a#.Ib [aJ 3/XO:ˁCSǸR~`x0zu(M6.6%L!!%8]3^AdE[A"aqgdm"a}`a
]hߦ3ːӯзE֩Z+bpJ1CcZ` -[i6yA
7%IUjFw.^7u$"_Q&9oޭp\98spg6Q>[o:Lxt#m_d?$iϧq-*W+QDjg+Y]=BEZ0IJī_SIԯT:/amwӗ3@m94t2owƧ -!%gb
õD%z5<hoYGe`|K,`~쁞Iui% -.iڲp"f"!yc<!Tb" -tѡ[g@Dfȿˏhʍw|`6m)y -@!
M;_!OuJ;aZܴU^`1<\HVmYQvݨuP^d̨<tZ@Om^hjD֪YvF&ҠNnܭ4i<e&r[P2M@Zq_# =t&jA20אF6kΔ!GCnMT hha83%]<\߷ώJUU5_jb%_KDPoDL@=zsw3ۻeˊ2~j[(y^՝e I\bĂ~ظ&i4$Msy mXٯ8s.x/bV}6IwR#YlȉXH!DЂ vnc|aY1Ʉ^aeo[pXaN@&y$(^xyEѴ)w-M.>0U̦ -]5R><gCy\hSr+
O'dļ|d1A:/|IR$z(V&n&oXfځ#&On'0}; ?1(sVZB2ہHgf枴 q? ȥq;pZ3ܳJm6=Uo/?3h! $G*-J6;l AO}>̡[&Ѧ?$d;y]L'Mt 3
nnNZa0Z^~Çu-Ʋ8UE}=j2甲y.X{pAX261߈q19xHEVv[_w_|O-|fp˝7?0B=.x]2C -9B?T3JٖNGU
Z7!gTGq~&5*3NN<@.䮡ǧ
J:E=6K%86^%"qqJE[$)vu[ͲVr&y!b|1B|+"duLòтFOispA34PbK|_N^+^~%9B4c6gjcoEMS9d|{<Z+qQL3P=}5ْ\"*=ݕ^~]^{$4z՜iwBLIYЅ$tC.YAm2T?"7ĨI@E -̘Z͗ǴHeH#rǢ3M -%@19v76<^]NU/,o6xĪtf"S|NEE*Șvc+tQ#M=E<Ȑc0=՜$3vJL7Tl-ndstoq`似]0n-V./G&)Dugs;{ĕkteƊ0 73i(C4N s[&=σٴM,XXa<ov`23שDĚ($^/I[z&f -`#[4J[e,Xr{<%H| -"'GrM~=I8Ie~2gi3!
+ a0FFh7ԺA$Ϳrk24ЃS@.p:\x#q֨lن; EKuM7oD"[ ū"tPSvrRQzPsfCz:q%#1ӳSpǰ뭀,-0jW˂ѹ<z{(D4 -g9f(<|־`& -0Cr\Og? ZXd,k9?7@R[hi9o~X)E -GwԅSlli$wc˵,aU@= -a{\<)N?_m&/:XQ8VA|mG8aq~.o;<6e="dUBI0T0ۚxpfUiYT9g_(6ZwjB*Y^%UUMb]|0ذʛR)0Ԅ&Voڝ#rr`L*eR]KJ;9(Vˣd#\.zjwEq%
赶}=ڇJCP͔R{60aǣ;\ QEyWV*z9=6ޕ"ϚS/YxCqq$4(NDdQ:+p_Pڽe\\i|փ؉|?".1EDO_ZGP],TUw/t^W̏4r~Řo=b"(ױz4VV%@Uڕ*̧6XZV8Rbj Wu)FZVV\=?2jGq^}u6RxQ5Ke\̨b6P?;܈Չ.nr.$ͨ!<h
vhtLX7ZH6_ukU`vNGl+@;É -RH ^gUEze'h7
C3GA^v`ZS++D|UGt\٨];PnB*|e;,9j#Y5f"`{@|,[+_0s
13)6Q*|, Y)dM)Иni!TM-X) Zd}mA~c1qqCQQL`cƍxy4K.d\:*fOr35"MT;2"XF@ƶ8WEH2]E&r簢CXd)CV]hBw#u+l~"&X=Znk# ȘS-bݞgȷJ1i6u4Jo2Jm6}=7*ksF_hz"o݄D嗩;-j BẌ֮́x'=U}[hOe!d4-05{_a*oCO?d3EgA6Ux/3/ Mo`, -Wcl$#4pxYCIX0 Mӯs\Y⁊AI{3Ѻ ϋИxU0
]|s!X$Xq??؋+8BhV;sw)zKn酪Ih>AN'hn_+C -bƛP<E.D^[cI²댮XM*ߞMEP6qLgoyɮ -8Ho&"̽|T_9BŝPl,<( -XTw-C\՝
V+5o\!>26 -K?uFZ3xke0E3bo#peH!?l`A7s:(Ck]JAk0yI8YrAHbu[!_GIэ̔GQїSGLa -.j'4<CLS@h\:H(ktEV>R7k
+r־Z`;2r}&9;ˠAj0B:gD&u%.cI5T3v+xYUսK?33Js!|e@j1=LtOx -n͟"5>4ugo51v1ɤyeA+6ohqfeMͩ?S72~}锦~+)b~L ZCYz.mXMy7y@ټ,
s^_FJkzҗ?0 kpʵ4h1הkpGCPR%lU-K_շ1&.0TVCq-?BR}hyVnOuؤISO1.3@^^?/_?FpE0/ǏetF E. - -ͩ7WMSZY}_U-avU"qLQvޭ -Epm8" ᵜfz¦`&Ss tjQLtmѯ%ipt\R4 -ZbkCƒԃ:} rᠩbpLo8ITv~RÝȉ>|}/B[Kɒ -<~,ꏤzՎ[|3ni͝.vp*9YsƼmJ ;
R/RūҨ:BƁsBaIbBlހdZtj/嗱'Sf6#n'1j!Cg
n-ɻغoXhTmDIqSǞ/-[5F֍&Eo -bTsB/oM"(x#hG@a땩Ĺ}{҉M2B6ńlhBpx8g!4(a.K !T!V(x|1"{rU! TgR/D~CĞaX6>56/ gxVZB,}V_7+Y8͉*wIۯ=~b3tkyuɠ/_dgn)t\=$mZdVRJGߦnSF+j>Y9&M:4ȿ#JϩfeIUA{WE-N7w8eؼN'}Uɤv2GhWMkPLj-kmN0 -T\7Qf>X%J t -yr'f1ۨ -ea(a}f/gZCs%@KK⌀g>MI1foVJ,uq
ZXN/,H`}ŭ|䐹a+xZ"K`
ϏR -JXGn_NUO{zU]orlV=lm -|4]ܣJ
F?ݑ[adD2A+n(*@UJ&蔥ʣLoOut -Տc(}( -QzUԛ!c-dUm{1Jæ%ZMduu\GkRax4龻OF!O8D{ai>0ާϧqiT 㝓@
ѳȞ>to3V%FGOk=D+$9u3a`X9V&5_"?_RZ6Qኈn;ባ;0TDo:϶!xw/qew2,(:1.jȳ|h[v&
xU?cxsK6?9ur4ˡι[M(%Lft;l>'lT]+D)(toCAUZQ(OYL.N6O72=E텙o!kHx%YNl}Kf[x -wwZ.]YꕱA^jeO5+a6%)7©lLQ3S:rz7GFS uL;?bRx09@UlgPQFX(f^oxR7}v)>*F"x:m3o}i +:D0me3:1rExs(
c:muL mRK@p?!BdLWlz\ h @=t,s#L YQqtPb -DChhhŻSPK9s?tCa̱X(D:0rNx}/Гcٷ*8%[ ̓fۮEmC!cA]+ٓE5 bݨkvs\WFY,08㏞3PXU$-af;H~^*Urݟ"^K@_ӃdLjnTN~#M:mwlYaΐ{ѯhۙ<AQ*pwAlο^xqZN`cl#sLc#x$-3:W
*`4R.̇4}3o - - -8RY>>~uxm0ޤ@ionNMF_a_r7toE(R۟Ǡ&E0r.`WM(s d;ؑ%fx8o%wC;^^zP; -b_nʺF.oyv$ЈC/9}+'gfXËx -ba(9.<zWzzwEe]߽179X `)^TwP6n$@%/w'aAczPvFoѦxn,]pk[L|2<+yuok}'#UI̕3JgO̓cI-j͛m&(ѓH:L[ǎ^K]@E,:PnA`XSA%p}JfuAw -Hl|$Yq$YxʶӸcnu[aOTϿbJיO+=sF*(yj$N2;l]8G,&(
:h(N+.b$[3(-_)wZWZhpZޯ.xjNB#+VV`L:!FK#iw_0AƌldIsy%H&qhjh+X/P&!c)/AC ,V[#^pU`D\IeЎZyXxL'_@Wxf_no)0.Fɭ05K̽eM='"i.+}湹X F|Q^sDyD˽/kYAM\aDgCbpR嗥>2r):}{ql>0f^hVzzCc-
ϜOfZ-qFBX*)$}g۾klXmf)lt?u)0 JJ!g{v-k¤%PBח̨l1ȧ@26lv^鮆Mxz>59TqdI(HO)vu6pZ\3?U;cyz= Z
įcUP -3䌢ߎU2c'< -U?:Fm:KQ``'*YbJD(k-Z9h
]qa@ޟbUp.Cس9XviTlι`iyy1s`
(qmTM4_'rslÍ7-Gg=J[|}Xmxjѩ^m<mF%Rf -%Fͤe\}<X N119ٙ 8'ղx*{ϣe|KѬB(BI݉ے0xk6ԧ%qXF?>4"뫿c-F9=\gvΦ[1OΘLCT/' q0[Zy9ݻeijXȇJLQإ$s{D2+8Egݲ[ƊD`yo$a;ɒhysydCNJ.p쉬jkLÈ3_
Vjɐe\SnƱHX/T5 -Y$(D ihpÇZvdI6_8q0Jqyx}Ҕa|G%6hHN|hIH"@ -Jk |T)'\[mAմVXN?*Z!=tGG - SٙIjL-LL0iPڋ+əd92Ä*fF5!Mw'n\R=CnHjWwTVLȔ`:\Сz -1Yk'."lt䧅sU~kesyTq>P}![Yp\QR'[MZ@3hY'IXyȫ -C[b8ۢ -[]?Xڔkf(TK1!T\LI"|ܤy6X%С8Hw/L -W{]q7:9QH0wj -RyX-}ܶ?)lG#Vb,6PPQZaa -T -ukKvB5{Šߨ\X⢡
8N=آFMU!.3gU!ޫ߂Z>#_ww.3=jkvSQ&-B6UdZuP uݑML6@x(p%;\3-rebV$H# !] -[.-QTt FzlxLcT5V۠DX}|@Ew*Y0{qLvǬSZoLy'B5y殹%x6{G'e2cf/+. ݙǛ@9ɉa[E"ՈVI
ї09<^ugx0<`>&7m_9V;,<e7'e -/.P?KCR}i+a"<X7J+[@0148&i - *F^3}gU<%W.Na939H>4 -m'-"\mXA3ؾioQF=Ĺ<qڲͽFZlxۅe.x!5.mP[34S_°3b(EX)S`Q -/2VŦ/."D;#͘'"1Yf1iPX1@so3c5a!G\NhGmvN쨅]ܸ"\DI^? GZD{ȫ Tm̦c9ծ1 dLnۨpk<ibxOA&Ũ k[,κd<zz-dTd$e۞7 .Kk,#|-zGY.H~Q{$'w.?D~8 =ot(#Xrj?{sho-K7a{2}iN,O$5&6;6\1:Ң'^O?_+x)&Z7>>S蜑x_}I9M\*v
keӰ[r*`BvO*" 떀m:ʹ]ޭHdMSf67]O+H;."s}џvُBn -hD`gidu I]HCj +xڴct$ں5:ӝTl۶m۶m6;t}}~Fa>Ys@^F +06623{#'[:k3;'`m3:@; +{2"٪*2+e]ǒysmmx +TuPGMetyT#P
;LtIIgGIElO{;+31Ĺ!J/l"R5QOw/ܪYzA:Kۦ3UT#@ bҡ6m+O>/zzICqGJ'<ڎ9k{M&-B}<(okp2-^hDy[TؒPGJ#W˾YsYg\ٸ%(7+Dc
4 ô+n*&
eķ8ߴA50>&4R$BchBR dAblFP Wѐ˲FXJfb2h+HV`82wT'$fX3^`i_b1l+a(Fnpf6Mr]2)䛮o ̻ւUmK0jr6oZ< b+.v6\ȄKo¨)Ͻ떊BS(34>mL:ߢ EW"f
4#Hxc]e,3Dz`vW coA|pޏ)p<4PA_8Vi}EpHb U$+Y5_zPM?~`q8γq!#jo;Gz'{Ih֑S|p3);Yu\jN룍+c-N03OGj.hbZOzU-RóIebD$]SO$HeNt +ֹM^tAzY+UpARU'ȗ E
:Մ[uQ]vL1 +y2 T?#ݚC;2$tkῈ~2lSיEM?~ +]>?3nR%dpoK4+Q,N/~|/Iv'fMe1=s``,TwgSQG뷣$XiAj~iq\O*4e@SM(ZPZۿ=bl!^c.EY6+KzOT'0]YGw"o;H3Lb=vhx+K +C5Eq-,!}ϫ'_mŪ5i ][gb.9d7\mqbÆ8qn$瞷%n}ߦb>Gw}NpwyAnH4RD )GĜ<r&G[>3^RC0z~hȹt]o +3ndi}iJ1v2RR`#9udw=ud>.ƌ8VlKhm
lMU)ew"bU
sB"0c8 +Zٟ?e|bG2K<Fe/Dh=ҙA!,Em\=_vDhlh}zC/QR+X.1m|%P鋑Gt4Q%ʀ9E96kTQ܀nG!PrpaH4e6̔o6tFX GjGrM0O3ͧ9sH6$wP)q3cw}[~0F-719<GY-Ҫ9&6o
_GnH#8ɟ؆cf|jFl숻|>5'|܈atWC{/ƺY(ǡq"z=zG9ΗP#I^)Y}V?u(TgtM/]K|0-bE[Bt
WUj,0;͵3
Np)Kfe[1oNgPnC +M|\~Mϖh#+ +,q}GKNn>.u5^+5ތBOzU{1ie8fKb,؎ +X:_Ruqz0bN;}ow4UlnR +)dCsخr=RlhI<B7i[[J\+ՊF_GԆo߫V.@ylv_Q/ JqVf5)GzbLUHKH#? +fC)Dڙcߣn:L]!mRY4<L`;~Ӿ:ۏyډnd48^:Cl7YYGk'Q,EUM2\ v!qsًSaPgOׁp鮷o_ՀD..eT+O&c-Wl{qe$Sg1RGܩ66_dvF +;}tr%/5ko8W| +.5
X'+T١fqל +BXɕIJYM:UHf2AmƮIAΩР\ +WL,*q4S^9XiȹB(zL1y[D +2HWL c +R+bc/_'|h$
hu,; z_!l<r ++σ9ȸWZ8lH807MɎT_5L,q&1<(h7K|Nm\ta~v>46@jQl| :$9\B/s0u^ds;xk9#I +D`6뼭^Hiu*,-/dxdY9rjp/峭sۿC* +z.=yzhiG[^7 +H@datc߬2atJܤ]5T"܂*"
j4:)h7ڋ
6]<73wOnZ>cV7# +e!AĽWvMݣT<{/HvXZ^OjJTiɾLu" Y"mWYPkޠ46
纴{߅79Mi7x6g!|0&)hcsO@}]㴖=UG)%X8 +r<qz@B=HynF>v9!wṳ)ЋuH+L;Kݙr)"w~9A ٸYT ptkB=A021.HRZNNI,Pŵ+^YT6ˢԾeL'RCHӰɻ֦',18~1)"]LKZ&~P2 +M).&]% ؖߺ)B +Յ'Uʮ'Wl(UEݱ>`fX\.KzA%YD~Wb.ڴ]8A\P7?C!Xrv2f +'= +*6)7.KqNnRbeULPK&B<Yϡ +HQ,ZbI&o{߅t$"E`!!,!iS7˂džI(G̃<Kto$:~4|$roIa<)g`W%@} +a(JZ 8gMV|4s@o+WVEYz1?QRK0tv0Yi +>G'j$#GLȊ(M"D":#vݞ&T^4ߴ3InT +'6be`kbp=2WzsӢ. +ʢ<'d%oȱ/,~N +6>Hq#z%?Ub$Cd`t
dgd1sZ6"4*nͶт{7x_&UԓF&?iC쬗:'8q>ZKYS;{G:oU,KrT1#SK>ߺOxhO) +L3AJߏ
'ł ոMkLz +!Y|^J1,027Yjwe]-\3}#t`_b.iQO>lgX<U,SRvejFA;ٻ6 к̣x12^*}d[֍lLaУ٘_4dӭ+Ld +#}uȨ68T8 +]Y(M^6ҫ10
.B_.`EQwF#QKV8FG(ۥDHW7't,7GT"kw5ikn_Q3p]j@ +:-#R_m +l_Ss^3-
_|(w=Mj%)čiw5{X?fu rg<ʐ}-x۵zō[Lދ,=E9"W"RCCSP}Z&Aj~3w|y]F:Q$P[g|3%.KPD1~2}0(˜仴6xFyg' +)xv#;q&Eiw˔ ʼn3!vrdY]4ov|"v|yl'п=oXfp3J6 R48w +"iALi62
Wvy@ݓCYEʂ1S>D5!ut;q.aQpI)|:qOGQ.s,_h,`4ey4-p[!27.P7zzv>F#䭌Ipȇ%ZF!v7GǸj7{VHbK`= ~R/Q䔍Q20d[2w +V(gYTt8.~GϙXqQ>A_0$Lݞ{G2`m2"F +ioXm8ϛ6f㉗$<jorFr4LMS +=%{A,7J2(nS~e<ڔIn飸ΊJR/ɹLYZPm.!oT/%cRSLx
(8gC{Ёf?&'$XY08^R"tZ.-i@b!jwbE^UsIk L1|[ +ӣA` a}YC<t +PU͍b +xPf +9bc
KF +U3u
żS~6<K]-@*oEa1e(WVC%FFo=IUU +)kWNoG
*J2 +!E_,%ESqV\gHb K,JGgIPEY\W<`f']SoL9Nh?xiG&hW-?0*̻}Y){&Y<6p"Eܜa0[߱QC 9(B&0b]=A)Q=QIzҙI[UFL^<%斫@eʊz6LE0d]>g.} +Y+Vxw5zaӱ2Qe[+K|k|lђ9蝓r:Y2W}lDD־i],*{7ڟ3g}(Mx%mK;Ƭkd湖Q2ɷ4e^x1ӲwIwA;mJ;״mE*N1&7cJ5 ?Zgю7A +Cϒ˕UϪ@G~%$X>o'i{A4tyIjwI9h1ǟ.O#W[GǛfǴz;_a[<ڽ̸1xbe<yH&4gxP]x6\Mm#Gc\T4BsU4X:p7rX]bۣVoOzAK.6
_0ܨX:hFcHe"T%pCrm-J(H +6A`30j#tD݄M&S%p/P,R\VDĭ|BkdaF}D-;kqU_MvwVW=nĒfB;CJ$Vnq,'2&|*N}=雴qSS_d̩pU
oG3w/El^[#{2 +y1g=c[iz$*ʴ[ݽK:+2 Ln^X*<@̘@>Tv$~jMfe?qjzal>~P8DO* +Tt'!@r'4:aތz +Q=2Tb#1 +8h/Sی<.\Du0BPK-G;+_[UBbϹE4*7*R关\ќ߱+ +4hVzsM(]`i[!Cp,E~Z=\@gAxFTY-1(t/fLmV&f-?3%w"R`>{*9UE>c1j51$PSOukkOj
PbcWL)ڄD>/\cc,Pe"vRIE^/G')^|N!t֙y.16D7s +vHLUͼgGM\GiZS=ݡD+T#;{o."r@k9(0S$ ͓0쐵:swn2u' e҃q{RU[:t5dSUn}D]~AʹR(@ji:3%ѫĥ>_lns~][N͔X'I8!t xPl/=_I/!^vrm/:j2ZN!<FUrك?|B$NXfQx]*$*pParT3#cŎO{wڱ3)iYe(j(Zo.eK(,s +JZ +%ZnJSBAKɓO-^_Ma{m l Zjy5=jt(ï3j/[-[XGZwVX5k&и
QDjwmŸo':%zÞthUF,dޣGh젏(:!#*.xWYV ~8]#fjwZHj9=o4o4!WX)㨨? +?mubm-<KM. nro_S"_V Eu*B-#DYchcfNMFtfT[U*=&yW~&DDC'z~LB@<WMvy*N& +/:fߝ ox[U1L)& +CҒs=Sh>&oMC2)8V"hIO*`R . ;^7d=`-MEayd d"?z{dGpfP< +A0ŹkV*UYB#rP\8غS⥍S,i +bh^Z'BDVd=ʩ5ƭaA7Csŕ~4rz;KKu.0 W>O!_;Sk!Ӝ5Z z`4S0۔@Sefy4*lnY#Gjl%$7E9=QL$3z^Ӻ/N
ܕ7m/f䵡--i QHP_-ߪ,bS*Ld`s1l4NiR2L^c@xr]q[ce +}>X[ܶRd
d +F!Üa"t1t׀!.\
BRMD6M)߭mh
5OsM;IIK.Mq3 +!%5īnͭvd]OV45M`R +",FhC3`|yNAhjP7A gepΓzpHo26ai-w:얂0ι2һ]c7aVJ(1gi\5pLl<Gդƾݧʓ +AivɂwHmX>PA/OݔIYmͥ[:1;~ +(o)Ze5'W+I؎-tb5N9` Ϥ? +C#KV/#x{Ǒj]6c,tʺL㣽X1k':Pa3b, ё8h54łܗa79]Q) +ƴ&pn5oetMb=@\X*#A˃FvTQd^X稊$xvpk͈k{^7Q#˼Y~(6*O_)e@M7.{ġ_Pz>Wܜ>câk-5,gUJ)surEnY@o_`v@7Ol]qt.r-<JEM6b<;cR0&)c{5+49ҟ]ə_`_$d:&HEfmI4RoN#f~UC ]bFX/Qj% 8SV_mtӊ+ ̫owFILǫ~CzFC$1 + +x`VVtX;#Z"Ó@yn7@8 ;[ +SEqm8q/bv> +@ny+q#ݮ\9+I8VOr.QAɴM;tG5Ybjcvokmyc8B-'}n>OךDj5
@ }gpKUDPx&[Tؼ4p!Ns[d=M4&K]'F7v*ӤU7OFHń9hlba_mB掄a&h9D;zgn!|<
dw861[>&#OKv-~Z.l悷k7뛿#"ERd(OV'h?QEc8pD6Yʖ= 88 +2iק%ŬLf1Z2`4Ɉ >!
&dԮ~:^2wO!Hr.f wPYi͇1$|6|cdvc''cȠ۠C*d[Qƹ<\<_/52>輡7S̍ƮRTѠ˽Υ:kbpMA(\.|=wD75a-sYN
N~W(p"%hwȚiYo-W5l:e*^B*3WU,v +L%fЌtP͵`|K.PU_4-&{ʼO\U+)J3Efӌ>b 厕١frvPSWm,|_B]C +'G-ѫs>l4 +H>IΎңemXIpJh+Bi_oBlo!7@V?쭊V +/bo$QVY"v4db9Yaw<aCۋ)j;OR[R!z%Ж 2y{+nO|y+TA"MoO8 +o 6XCWЂ0:㮸{rFIP +lhiUoY=B?lhԕhQDU\5v.AwMh,i+@]fʮtNH+QkcOt;{勚,$rcZۛ*hNKLZlу[C]
~9ړB3Ă"qJ҆P_BT8(6q +\i;CYzMq2b.s+皮kɞɯ_!ȑC<M +1>R{@7=.CwꪂSM{z߯etF+~c{A#J`pC=ui7qh쑀:_]~m6JTGZm$6X|IRM{
cJj.c㾞~s\ 76R+}+&wu4〟 нʢΪg ,˶;rIܡndϰL\N'͗{(ev}ٲ{|Raŗ]Y]NPݻfno]lh@1 @7m)AVXG5ԘE +F!!\PۍR o:zOӔ9{ULx*j,M*A2+s(i~"!L=:nM!-o /])# ,!p(S>,A>h +r3tq{h0o`扗]|x&2XHݯo0/U'U6iNH[eXVc6)&j[ͣ@1Y_X̆ +J,-{@5a'ն&*rS +7 +iy j/.w^t0Yyj(6OTK_ؠ{D
cjF7NY61۰"wF;tѭU26hqgq]n^^i/ط!Pw$=a4.s(r~J:d';ȟ;~*91*ى!ѦS;l-Bc/䔹,%c7r_>(:Ƀ1soj0FSXnf; ,z: O6TAOp'L/*s9ϽLy^Nwi X"~e>cpiiq^(PԮL*v%uXi}t`Kk -i脰e(ׄو +Cw3T,Lf\#R)4}=tp<Kv +G`խOFC㢕&ڪ%M`wW +<jt%?.^RFzH5%#T! +u߉Hv.deh*`V^$ۆ/"7i-ImCA/LBҩCml
1X{-H̿VWn%aâ**Kq4l֙ɨrgqicxߍOY] +bj#!
e2xԞpYN4|Y魷Qr +( +R61rx>\>FȮZy +8@%c-4NUn&o*&=Uay9k2^m#wcNA]JٌwWKחK?:PlIޢϺŁMP'\ CȘmx/zC准,GXvddUT!{D<Qc'}A_-1UxX!JMo8*ᄌx4;{4Eկ&22ß f'-gLvN)O_\(Y:z6BpA?GF?bE%%84ȟ?MKbaw`hzF)tx>͜i$[v7~G|O͗X_)ثXDp)@|xB=in%NWk*=1lF֝KC7;eZ
b?p
cJvHOvp&<p4J"Sq;̙qnzo+FXÿid|dS\ +DX>NY6!3IsQ&C fZYN0?Ò%;#OPECp6ąI9f P(|G\{xtb'Rcn~yb]0HծƲEѡ6>CqJBQ.Nd@7TZ/ZYy*TRNXG:]80\0tp&L= /HPn5lqENļ>P.@ōrAVr7sj $;rؤg Xqяu#VIн7)'bsB[ܤ]}(!;kxwJT~gpLSY{Boq&B6^+*%-o$RGB^?܋L18:ړ"acL~^Fe*C5^cُ35ngϫ:}#@߆"g흔":rc
_n@.f,BrEuWU<{vyGgׅlW+
nkiS/hs?˕?N-(LlDq̰][U+|-2aʻDJ#4MfK|~!.тr}H0țS@휶5m'MI+xz?_%"֏a35o(B9o,16+2^f7q| +SEC0 +#{ +0%bO2h r7DΌ7&}0[(U1Kw}Pڟ-u .b0__H.%Lcc??nb$GI\*(|6վؼH5l
?Z7+oZVF|XOC
**bzfxB5͒HOU: RS3ϚmdrF-:52= +>݄vK\Ơl{|Wgb-tтXr,aޣKv5+K +og6@X +h| />N?Gͳŝw}U2hr C(F,R9ScIAW=b/o*=/2WZgPeC5pkkVu]?!l1,Ÿ/lxFzAN\}Bx#!QqӓH_>Fg(<o--$c9qJ,W ^>5ϸg6ůVi\_E$AP|~N.^_x +xr(u10M@sxj؎p+8%ބDlIqUhqp'8>0K8~r~{s<ŀ%jbȊ*Nù|>I,q"63Z+F۩ZhWDhp77X&pq@KG:>N`?3zO;-v`$&+5{[`0ZTuSMtaCtW&T%jj[:Z{+[zT2#vVh5|8iah G2NЛ +gݕAՁ9<J"4B13
q~(3YD+Jsɪp:ȫxϑMLȸ_l7>e)ڷmF# H +|J!X"lɣMZ*iBm&v5_Ug<
a@=ׄbǏ偕&;2]p^A +S@~=wcfb8t2zόQRQn*V]M[YYQ +o佻#&T<YoZpomUCKɺ62^nEE}Ku4@ܞ{5+~r G|=
8q &Of_߃|b [< Y9Sw߿?T8Q,
W6o4Iև%4`ud9a3zZn\@V asz_ZZ
_edIfzބtW!{GwӨSCwޥ@RAMYEӒ;.S\"UcT|WX8Vhvl"$Ipp$e:bk3b숻iƴ:W]9K$B?DB^MEu89wN_.ݥA7n"b!
aj,Roi\Ve=>+2!⬸4t%rkFT2D~^3+G?Jϓs[ +\\W?mR=H?a`ӂ?EQV /C + V`ܪ!?6W}? endstream endobj -659 0 obj +703 0 obj << /Type /FontDescriptor -/FontName /YBMUOO+LMRoman17-Regular +/FontName /JLVZZZ+LMRoman17-Regular /Flags 4 /FontBBox [-400 -286 1338 1125] /Ascent 683 @@ -3907,11 +4497,49 @@ endobj /ItalicAngle 0 /StemV 18 /XHeight 430 -/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/nine/o/one/parenleft/parenright/period/r/s/t/u/x) -/FontFile 658 0 R +/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/t/u/x/zero) +/FontFile 702 0 R >> endobj -660 0 obj +704 0 obj +<< +/Length1 1640 +/Length2 1892 +/Length3 0 +/Length 2919 +/Filter /FlateDecode +>> +stream +xڵTy<T#IDޒ0c,gDY4sa3&\u-iSR7&hJIV3nq}3s}sy_eT
;F$,7!fDo88
qdLаB{-<^gH
#02c-6$Xx<a f!^brb߃B$;m
DCxa, +hz!-|̇q8(0!6N`1aAA0pBܯ+0Xt7:~X0GU?a +o07=#%K'vϖV'S4Ok-sR"?j;2CnlZ7ٖ ra;jjՀO눝y]L)7>ʟu.J^`Rsr{mzt6ou45ZMl6>if/yREzիʶѤsgtv8lmM]"(G#w0㟼n(?pr97 {n>z}y с0ЬZ|.WO*QV j[PUn#} '=eoЍMl +1wrUJ𡝑5lh>J죬k:.{ңJ _띰Ӣjf_6]YɿQXdY4c<PY}BCL]+_,(6i$3\zN8YRThS\D.JXxZ] +pY
72 wo}`֑?8>c5'^]\]J`eաI cJv;2Ej\J;dc2 +du,68#iUUF2sZu>IDݐU"+z醪wHxMr^uFM +-<JN9B|Tiֱ[kTT!jQqK~w+<I~I@ԁK +ZņA>2uwҵTK%Tܯg0,*+[vܿ_UCs̥ѽcQr_h+^1\,tJEfm8)Z0WwddגlwFKu-u]X>1'!VuEP@2^fR[++ծe,:^\]<Z8&Igw#u9b= +kޫo4_YV5vcܢt6-
5X%L.y#}{CWEu>[vfoX#g{H%7M~f"y +E=8\x>H'hTܹt|[3o_tG^
hWz,+vmoiI6tsg337c_Z[} +^{/9y;$r73cRu=7XSe^Ǯ1
o+R$)dmIa?1OÄ +endstream +endobj +705 0 obj +<< +/Type /FontDescriptor +/FontName /VUJSLN+LMRoman7-Regular +/Flags 4 +/FontBBox [-483 -292 1562 1124] +/Ascent 0 +/CapHeight 0 +/Descent 0 +/ItalicAngle 0 +/StemV 79 +/XHeight 431 +/CharSet (/asteriskmath) +/FontFile 704 0 R +>> +endobj +706 0 obj << /Length1 1635 /Length2 13356 @@ -3985,7 +4613,7 @@ m#24WdzJz;%p%~\obP֑敺ټ٩%oaJd+9|S_Tc HZ=rJ]XXAd7b+B~nQ7cJi^JlJvX=^?n0:!MSc-;5$+쀺knj2SbyJzPye\U}Q!0Kb+`)<DYD뱻kЪK
UMt$~`_3)miAAPj\v)iSӪkĥP$oP__↑uy-o}*,G;ߗ%Lkmnf{f#Mg+V+~Q],t MApqW?gX0cBT)o)/nGr1ãz5k }Zi2vRTׁb+ȏu]5 endstream endobj -661 0 obj +707 0 obj << /Type /FontDescriptor /FontName /GHPVUA+LMRoman8-Regular @@ -3998,10 +4626,76 @@ endobj /StemV 76 /XHeight 431 /CharSet (/A) -/FontFile 660 0 R +/FontFile 706 0 R >> endobj -662 0 obj +708 0 obj +<< +/Length1 1674 +/Length2 7834 +/Length3 0 +/Length 8939 +/Filter /FlateDecode +>> +stream +xڵwuT6ݍ=0tHw7( +HtI4/<fܳyk_H)e 3àpN[
sCAܜJp͇(maPY0" +qypZ=j8X ,4apNsBXRd`N.6 +z:~kCcKM9 +\Nغa.7p_jkBa9|Hzǚ\!UT8mpxnWl_%_ +K9G/y7u#埔3h@\ٺz@,5m61^RPkˣ8V}lG?|ҴB\]|\:a4tvA-`Pk +="o]$@S@< X0Ԧ2?rTFaJ(SdtB_r cS֤SK-
%h>P/(Cs@yrNOmm +*JL7; +AW7˨d#'c)j*\>J믺,II ;3ETPspa??-TL2tRAʴ'P"-xsyCaKI2äBYbN72tT^ҍ[V؛45Q>`aNvv&!Bez ]p\.l"wRҼ6SRFgJ1So(Uؚ ZinCv2FZ9~#PπѦUʦdƍh]T{Q"μSlLJ"DᭇWLt)# +CE6vy^αăN^*\1Ŝ}f +W`Ü)VilX}Mt6-ȧ8Ўuz[d7C81F8ӇLϺ;q$>`-uӃѺX{5;J}7<)F3⾶w +NvB.݈$~WF_3:+))j'iBݰ6f44|-77_-%HZOM:_ h~$3]WY9TUy7ItOR5]OߗZ:z'/?'%g'Ⱦ{~pOӯyIFؘSb&ư ,Q
a*T>.aCHYL+2c@p<jq2[OME&] + +w^
eH2NҒbB7#K*1<{&k2hQTDk
[ɿyפc^NŎ.n%F+M"ۡz걐:GE-Guu;7Z +8i#*9A +6ەM9d1[pV9ߣr1uU1_7X*)\hjF"^}|K7c45]?5*^~T\Iu$:=.s?ű6@`CWboq( +-tM xiG}Xvh⢔LNaaO=iLimHy{E}aWqvR:p4ѫxe$Zgk5Bj'.\,\bS2`/ԟW\!H">G8zw&ng_mhf3p~
ӓ}:L:Od
<o*"88QI_Yl9y=*p[ +P]gD;<9ERh-{IOOWA~CVW֜7}{&,^4B3"1ڽ$-G۠Kڡp-X( +c9+U]m\V"$?{ %OF˰vcyKIy>vלgռ4 a֮+@Ƣ^u\BF_@qGO4-^wOGY{Rև|qm2wLiHh}o_N/v`eP& ds6 ^uF⯘SFFd+7D[ qY%Wʩ$k1vJ_$r<08}ct$Ҁr:=ٕ՞g X3C(q9SS꛷tH)-HB"wr/ԖjxyHR%Jy624uh2.pO1ǒSQشYm)ɳC&; +\2_zO1,~ +D#$qlyf" +G^q٣ ǿe +Ӡp3MwZ~Dpn.)40!9f)C^PV
T `0ȔWQ)ZERY.h@g9b!w*fF +T&(*wb4-*&ʠ̋@)=|M/^+E/$#zP*:#z8rly}*oS4m[Gu|JfSarS-?hr?R7M]3T:s}.> +,!Z~l =UzfC;,!28g(1<(Ú[].̦!ipNQҙi&UbcR֎ +bD9֣ٕ#彛)۲3F-BRقZ燨RBg,]/8)ݡ&:@8[-#ڕx%el +g%]cgNĴdIIÀk:4B)OEYuNA|t +sa儿`頬k3ZjK1lcOAᒧ̆tj3$:~$1Ww;7|qȤl_]n(%67nR.I-6D7T1[rRf g6=U!2mo kv[3p<iNF8@op*w>`^?!_O6aI0X)"yܳ)|&"!쒯a0n*\a-_XQTNwl eܒnU@q`u_\M/C-2f25,{%ݵiF[
bl47ǧ2AO#4>;&Ͽp@KjtcH;'`g8=FQ0)QT
ȵͥP>$ӄ
v[bM})==+Ti/'C(WFH[dQX+_\'_`lVU?M0ͨD|w+euϱ03ޛ%ah3BWY:Y=!,\p}xYPvN,&BxlfkWkWVMR˭oWÍvt\!RNrKaD!_%T(rtu(v!YdN3|Ƀq7+hJpƜs\Kp91^bU`ev ͬ(`}[.Et)өAqFBG:֎932h&)V0&.Boo/:dm͓XC+S\C +WLYv,9VLƚ
+HRDȬVk
fqhq̚{;fΚ]!j\2D*WwN5gjskCijwH$fmqn/Q97nkEPD_ypp]
rc>
ν{܁L9_{z[춈Wf.m.O#gvI%8he"KyNl'N/H3LŭWH7Xtω>p0-3%- .Lq3i:ӽ 'ãxئדwr5mƁ:zzK
KW-L:ޒS4 +@k+$Z-ml)+-' cczCE˘ogӢXM5a(+llnۑ~ղuw,bA]Mֆ+i}C1ԙ +"_vϙ# +_"|$^ޢD{~rUiw:ZÌ1KUo*ѢbGD~[2ٷ>i
t)We %Dv8p]&?-v^ڜޑfV6wtv&M?2=ѠuAeZ\lG`?ƞq6IhA#- ]9 +
Uxf]XB6^NG-|:µyNBY]{OPrd/LQ,mI-0FJE~
i&M@Zb^5a<tM#=9]U[fZk$P2c6 +w<{ ETo%2v5.LNL(.4i~(=H"sVϖj'T ~_(jKrAvn`9 +<"՟=5Oo
/bed^amS_[Zc姝Z'PFDs@,l}嚭BĤlDuFvtby[kwX[gԄt)ߏD+\jbo/9'^I !V3_G Eh^/xthbѓ)t&>G(=ƕwb!Z5XzOr-ZH_BjuYɵtvBW=>
U&Ⱥ*͉Ě~ +:20DQ&T5}-I6ZS;h d'u0ƘTf^v56VCJ.S+L=?GyapXjC9crXyfeM:䤃q7,Եg?nynT~Gy_ƙa6]tk fu#}\ɦpqi| ba+wh`*K6) +ˀ:'cSgu"sDX#Cd}D?z'XjלIS06a䂟&{dq?iy5 +ptw.\;*<osbj>]<6CMd*ZY#н?y~#K/%S/yÛ +"WE +endstream +endobj +709 0 obj +<< +/Type /FontDescriptor +/FontName /GQWPMS+LMRoman10-Italic +/Flags 4 +/FontBBox [-458 -290 1386 1125] +/Ascent 689 +/CapHeight 689 +/Descent -194 +/ItalicAngle -14 +/StemV 56 +/XHeight 431 +/CharSet (/h/k/o) +/FontFile 708 0 R +>> +endobj +710 0 obj << /Length1 2168 /Length2 17513 @@ -4077,7 +4771,7 @@ C!+RWք#PҬ+y|V,$=sCVw54S2Hس+>W
>$k~D bKm endstream endobj -663 0 obj +711 0 obj << /Type /FontDescriptor /FontName /GKSZAX+LMRoman12-Italic @@ -4090,10 +4784,10 @@ endobj /StemV 52 /XHeight 431 /CharSet (/A/B/C/N/P/R/S/T/a/b/c/d/e/f/fi/fl/g/h/hyphen/i/k/l/m/n/o/p/period/r/s/t/u/v/w/x/y/z) -/FontFile 662 0 R +/FontFile 710 0 R >> endobj -664 0 obj +712 0 obj << /Length1 1974 /Length2 16188 @@ -4169,7 +4863,7 @@ b&)4c/NwHG~ :1x-O'$xxTk?c?Oʶ HE X
QBkn{;z*ǀ~HbF7¸qxk7@f$-ɳ
.aB$*cHh&_:߁Mo endstream endobj -665 0 obj +713 0 obj << /Type /FontDescriptor /FontName /MQVNFO+LMSans12-Regular @@ -4182,253 +4876,244 @@ endobj /StemV 86 /XHeight 444 /CharSet (/C/F/I/O/S/W/a/c/d/e/fi/g/h/i/k/l/m/n/o/p/r/s/t/u) -/FontFile 664 0 R +/FontFile 712 0 R >> endobj -666 0 obj +714 0 obj << -/Length1 2194 -/Length2 22824 +/Length1 2401 +/Length2 32687 /Length3 0 -/Length 24175 +/Length 34004 /Filter /FlateDecode >> stream -xڴweT۲-Akpwwoqw ݝ#{>~YjMB(H#`dc`,j0s4Vv -e
oq=:B[`rF/'sDڶmCDOS](̨tWૠcֆ%8K0ˁ_DGi},_"D>O~}N`lYU1QC5 /ڑuG?ۜ -B?Z#u#Bwt7!5>R7=X -k&|ػR -K;ѬDN37ШDьċ_>kZಉw1Sހ%[ R(nU"3
-Y"ZrN<*NEGI5^iܛLzh<`KT%xJE7{Dn@ƱS19 -ʻĐE
u!q2ʕ6T:_csj0|no},ԦR0^!}P-p:UA hdJfk( RgˌD9 -!ut υ[0E@
3tcJnad=vZ_,n~p%2SV%x>!89:H U#kum[똢8;ub'>L:-.l!VO.t-$qG?Fu.8=!gھʁ4T9rM%& ZT쒭Y}wEA_<0Y&M>K~A ~:4EE& -W>5 -MuV'qk.T0nJ)I4!i_ fblxK2o.e/df]϶cgˌ9*yX=UpY 4<F7%,lm/I֫ -U?%+3 -V|r\ -rY63正`^R>nqB'O0-"fιBNef%8] -,kdvJ'+k2%GhJP^;X=[W$Z5ժ%žmAȪVX2Ζ<Nᓖ!fZ.N.<h]ګwϙĔ}.}#{<k֒n"{Awq'0%`kWjLDq3Q~cGl -NA>qJ-0E0|kJ9[X1^W/Ea,V*qbZS@<~}$]ܸc0{N#6jV<H{0Ӫ畛[y2sQ3>iT'.CE _ӜG`Kԑ0)ZK95 X9VW"#ab.R"|rd9r+|5~" -zWnm< -p"ր`D[ ~woGZ"ֈ -yk0alkȟ]x`$[P58 -5JP m3CoL3.`_0H{y3!=7;NTwTbv?.Жx1ؽ=Y&x%OC4ca1e Avo;9VfLw0o*Ie"cm5ަ .k Ch1pڶM|ːz+'.=>%OWWFgv3+hG3(-,w a]P^nK-{ύc'3ݨ4u$0u6αbrn=~ƹl lOU -ެUeX!5 &xN|õJ$TYF@~gEeS$"Q~Zr=Bedas;-ty|:Díc.( Uyk~qWGobf5FKI@ewhIc"ќr@.(A%%GJ#f[K/**{|>EZ4D(te{*TO|A;wz,vgra2@ao?[UEPMTrED糕DΩފRz&?t}KbNR SAE: 9}AR)8"2c'Sѡ{UDΣ*>7N>#am#W,Uå -6\~71O\$R,կCsi\*]d(?5K8\_,hU`5cƊk6y -0z -6TooɅ8m]W|t1xH*'J̙9sr -9Z\vNyC㫲Yu,͊^c_}}t!'5A\*7!;OTѳS)`m҄Kju -˞r+-o)dn.v89J>JѲ;e1EҺhh=;]!)c'^u,.i -cD5?V_dz$/}[ ͒І1ḥS{Hͻgk&K pu oR[4"G$;BkQT -߰7U&Vtr5}vNNGmQe.e}Bd%
3͎+Yyjrt=R8[*cH>qAN+LHKEME /[V -۵ƨ$$<5xLƋb;?Vh`D+$jЖ(|vbıP9jY*M?brAB{^>DW͏l*JPrytvcկ%ҵ@d⣂CIʰDo@N9^
k?MLKnm$JdeO[*!QmAt"F:8Bv.\4Gvfx&5*QB(.<#[X$!A -z7Att%<KE}1oݔvDL_Sd+RGCdXe~ڮԞhbc-.d_L\ytϗSLurLQcBx Ÿw)B2lp?|sx*W95l{rZA]XvI7l&B0hF2BNcخoqJe`(EbT)o=t&:Wܞ)N+CE|=jt(#I@
V҂"^˫kvQ.9IT{]ԋ -@DlD -"uW2tu6B$pX]O|.uBBg`b)cj75^~\g~`Wi?)jDhe
1֍A)ҭrU,So"`~m*067P -!r}{ZSuOyϸ3*|[ڿ._- -IiưqPM@DZRpꝃe?yyEmEUcH>MV~a$<HjDU0]G9١/-sne89в|Ca&3&WG\΄=
p:ZM/Kc[_"?U#{̙|Wu]\|+lxsY}?sJ1L/RtE/eҷKh@%ӽlvMovn}PyXpWXcЅGWq:>X;w(E>μ^?KBlmUDCL -??@-;V$ydbmɵ
D]x~w-!{
m Aa*'T5<=Gg{'+}b
%4;h5X|6h
< -Rvrz60Txˊ#
o?s;](,'ҧe|r"|2\)D2i-(.wb'{) -D.n0VmY姘Jq.lT3mOX=33es_^reF)2[+vB_BDE{>MS{ -2gSi*7.[*c7H!;Zj],nBT2D+Y 9=3Yoi5trfU` -dDnu6gؒ]}Hjԫ+ýh<x U,0Vο ڮw<.ssm}ȠO[ !ǪVܭ$0[h=uRN Q -=ˡ)꣏w-5d05q9ws֕M. x]mj0BzL\/xo+#U8ioz<yNYLHN
>ǃmT_bwYWf㕇8XS,W%A?{ph[;o6HЯG;O<ժy/
SYkJ퇯5//* -3H"
0%y1]'0D.U0&cW cwCdiuU7\f>6.Mk{Џ'H-ev|;
vj*j_#S^b;\t\Hfu--b(</d 㛼s}j5>;!OC7RiFƨIQlNA 1W%[#RԴ2%,Ă#3NJո|%Keu}vh-BsiL`Yv0S,T|$Z{xGJ@y\ A|CV] \.KuY _˟[斪;d_vZ%40i-IXeQ^)3>ŏ1ASjJi1nDl|%rY|57>''xY8T5M@"|ң]QB;F>twG@Cly]rݱ^)MtZF0UŬZ(M!'Q=&Iv֊UrԧΎ6 w>kOJ\P4q#j%mL_~,:5M=kuO]Y1Ixo;Ji -֓>@=AWg*[|2%2+
iѹo+&hf"{pI"Re,
*l <1F,&M@nM$ -_dp''gdkx$</ O5qF/"qU<}}sCc'{S)- -04sk2T6SW-$%p3TSr#bh#ZUPd'Q<ӪܲC־ݕec1/+jШ12[¾t<nR':#ڃqvEg.o[d]GQy -ٖJ21Jw76~-gTL`ˇhg$ֈe8cmxj;SUa/nmoʃ7ܬd\~L*&(Tˬ+8#s-\3Qu[yPƸE)Dࡍa-aMiT8Zq'B^{$TF -CBō\_VmMz'yfG0Χ2jPUC?8"%-ݤ=#7c@M͏ 6Q]_>|_H.1fįwi剼)өQ+zn`xM۰qn@tÐ-]W:A!w0ic'LEy<+=gå Nh?챋!Cfe88Xǎ?At(}_k=WXB̋+^E)44c3NQ{=$U A6:9q>Sm[h\*;%5'nZ@e?m_s!XCFб+,te[*zam5^,}Gc/Z!5G~#KTk[a
9l9@USl5qG|YWX|6ưk|ޭҪŶO{fNvo -r!XRuo/[-Ҫ.B{uY/!ǟ9xr.Z.Eo.X7j؛t<v(P'Y3:sl#jT?WF7EQD}qRe_!.pJ:%V6lPqODpg{qRye-r.11}Zv@S5^V>F- @$`|bPڊX+ƈ]"nw -dB0ե#wspShoPl/I%ۭ$C\LfrѹU!+Dqh1H|NY|)+QTEK
#Xu[$G//] -\ѣ-=6UgN:!W/L BgKFժ31aŰSE19d_=h-!HtiW>@Sv'քrʄ`?aK&#=~v8TTe\]Rd4)zh -/L1-9-މ}ޓD+RT_ރĴ8hEiLhj:
v"0O,_ArHaZ?Ƌ7,<<P4:J}OHN a*`
-!<2sNJk|"toӝbKjAVej*nR1aӷtF1TTu&>xPS#k<Q3h!UyW -ʚMMw8Nmki(/1>08X$*B¦d
c(f%/Fŷ4res!g
[0`k_d٧"J8vљ:I,R6[,K0^xs+6<9DobR6Y 77DK )(Oo.߆NxsP1u(nE9/Abb2bP墘}t!IU1;_hK!F !~2QLXb=YI~Jv
x!&W,1tzHzHA[;Uzs%:N{8(R<jjCrk IG+hHSC[J>YxZf$tg\nzcSL1^^ --ھ0'{KJHVYݳ=Y*e(!AMn\ONp}e7έ5o"ԥʹ5Kܝc -/5/οi Z
9j-I+-}RbcņSgvm.A`Eߋ,E -zW>y.*(vq0G$1e(Ԭ q]yTJm! 5ޕ!A1:2v>y,JM%u J Ԩ;;
t$0Wά;)D2W|'فh;]=Ւ?cV<WU
ni»b\%Z7@_KTp.BJ5yİj$0mt/GߢW*>xNq+b -GGn#k/Ƥ̎>[T]jN,J/5G%9z0x
RR] -NçkwF٦²osz8S[/*҇i,b4YK}Ü}cq2Ͳ -3{uP[÷sy]_|&<xB?e.̨էXy>]U>H"ctQn>D0P?zsg~(IأM~^;Q5іg91K6 -!2 -x'vEu$BWH0Q>O~d3AKό1(aUrTkc"$ݧC -yI?ڣ -&e#!)"#π=RvTē+Hן:
o2.eȖPG#X@"P@w6Mm)-~rd>wY??!ao3u9V -c!*Y=/EA$)3!PhǪ,\X#HOKl~eia8OLO]u
y[a<qy!r,<SQ^ K?*>pR_05ld-lL:9qL;d(c -QSfi\i=6acsdȢ˳be -vloÐ"f$AV')R+|h -UMF+59Ű-ښ. -4&נXb.*CLx込xi9 -̠Ӌk0U?Թs^S|7N -
fv-e,O&p=U]vZ+"0D_fqp04&+}S=[5_ECbtk -Z~mnѣ &B0?gP]'ëDZtXDLUa'D7
C\r X8:ƶf 64|.:ЮbV=R@H]rN$6f&f^ AUf1C"KjGNjsƢ -dO-QcEWblɭ1v1Akt-E,!
,CڼJY<>XwvOtAH0n$x -8ȃ5ŏs}CMĤ~viy8Flm!Z?-kY:Nj Q@@$CܔM -jO$TJySGSA"['"yD` h/W.|Hz+CX;rQu.{ -'Zem>6ڲZ2<HNGXƘ5M0N
]0T"87 -iQw/FNdkmZ/w>R{<QVBuFO
ݣhRC=4jEM3To -KR`t䦈l4UN_d&0fAPj0{9'6?RSu&2E>
+-cwǗJ]%"C81hC Re0Zg\ --LksA0~v>vUn]TD葻ps3~(@
qjqMu&cAOFްN{>2~d@ǕIaf;ں2
[Gy׳G=d53S G~6}#v<D6dWt|0j4X*/^sE%RMCٸ BPI|AF)M}A]p`+C~2k1zΐq翚PG<B -٠mp~1f 6=YG*rZ2iv;ݲW -:r,3z -dh_K?[ -/p} jH:9c,[9 -uҥ"#V ->DU"Z`4+AD&N$#a[, UrĜY+͇U^ -Øx_N@I@8m@ -,gdZ,yB -~6:~ - x@9oF/6 -$W bkG[1.8_Ã:=6'|]'U5W]ڸXrgN،fѧ1*(SCO38j=E٤SvCrMѾWH¸q&:TPB/OEICez݄/80z@1r1ʕ~ -w8w9HwȊAzDHZ4o74^Yg<,fVFͳ6o[A -^ܚf!R٬׳c\i&B2~($YoLVbƢ 0g\Tݣ{nYh|Wc.(Jotm/>"V{8aOm>`IH܌n/;ʐ85&Snt-)s⍉qKcMdT2rS2`AWnې|j[}p.m+\t -Xs?r>.4{7rmpC~{ZK=?-!zꪨ|4;dWþ>вLWS =6ޡ{sEɳ8زi}0u4<v2Cc澨rvS<zq]]i"_ @R.YOG<F`5#q[h9a -B+ԬR.x׃qLBT-
UcWR dz 8ʶ0._
iLЩ -g{|?&ac -0oY{OB\"jkY:|^>.y,jqǔ̄f4NJP1{p=a3 -V".db,NMDtJa?3gh01RFWDTècr92#+Z+d^>Sȋ7T3CDalf}lk<bR:WõH^$#Z 1smF4`_m1VDx'5A-,xjʧ
o+츞?;]5XtT̉0&Fq -UbqL.4H\B~*pV']6O㫅Z -Xҵ~)9"
5b]~]_[$#YWƇZ/ly궚
?^S}SH}h,ctHN'+1X=)6yמx@6k844mQbo%ԿL1oI(ʖd -No륝 M{IJM*-
?m#8LKxݦ1fVY
NgKckMEmipɹEPNɥ[0AmlyM?}l@y
C,O(7"y%g#X{)@Ц)g9qoIRr}MKPW"]]4d[rb@)&ZǎZٿߠ"Lh -- +xڴ{eT\[-n)݂Kpww( +)-X.-8<Xpޯ;{7T\:kS0&WQg +** + +vs%{ZMx;T.N/}L={L\ћ,j +v;"`ic8%SST`Vx<GfEkwYPeq^Tᕵ+Iؼ rbmp:KG+`Ī[&+"?2+ +x +ڊ"t* +2*sv2t4Y8Z8y +|Hy{F!"pyŰ+ + ++y#Lپ=y>:-``]xvQm`/#J</FO=z-xsэʀyt$C6.^Au7q^Ydz5@uK5*!;̴*d@O@H7;?vӟ*6̇S( =95hTqj$DTxgE46@z=Dx8äjX +Z>Yz`P nBU ~M " +j])Fu) .TݙRӃ +rqݐі~eS>R6jT\oKL2T" RzSVs-p˨Mxr{m5H
p5pP%h4\Y9F:O͔Q1vIU-8W +ih<]L]lďZ٤6l)AAkItxCdM+Wl9e;6US1pq6t~,ۀ@,dԁl$/R&]r
%\1#3+,FxˤW"E]*-+. @0HHF!\@[Cn$t4:/nx|a
Si+L }%z@PqЏ>1s[A吝Lk7`-E'Og{8'djLOtc6Va;hNYRphC,;rLUn'1 +MB o߀GCXG.XoN) +:ڍ?i6Tkb7U
{N}ʳR~ꞥ$Xsg~(mpNV{aLxc +J`g ב2|{V7" d,g찖=E}:#? +]\7EXc%C
u*Xϴ5xÌj`D1_&QG +]t~vQgݐ>~6aʠv`GX*CHVw!ǿL8>ƖKMJt1<DYETl)*a}}驦$s@kSZ4m/j="r8USaK/;w:ċ%n= 6&%M]vٚKȸ'rTWfol ! Vɘh*)M06~ꭑKCWkS{KH<y[lb4vŊ9FA(Lk0MOaɲ磩Y<d/,qc;Xgۖ*wvn%Yz͛uYרּ(ZPٓNTu
4CCem@2?R*j'D5\ +bK*rsu+si"s͛PW-' 1{in +nW}hNw{o.c4vuSʔ;iJ| +8NynJ["?TnĊrYzӰV~+((`c^y١: fʻE%,L`zK~/ZLB&T ++{}54BY";o(k|gې\NXٝ}DD=wnjCP%8/613C1I>I:nv=晼}K#ȝ@!y\L˛8(?7ɊǵJQhlg֯H-V
FJDKB7I2M$˝up!hPN2AC[pY6v
~J5-.A:}p:Qܺq9lӂ +f$up}hǨ*VS[VeArPg7`\bC9DJ?!c=Z1$βO%VkXЂcz-kBQbJrEj}+a:[HѬk"q.\ |-/Ia +>^bΒK6Dg e/N
Zq21M~b^FbSyuB,bgTybNr"7z ffK/c"^h,ʓme.2t6m|/+!H7\$blK~$: +ChKrdHt`1a(l@7K"$ڄ:>Ji\8Ksӂ^S>u跌Cuܗ4d2^Zp묁vG&Bqk+Bm2aD6r0u=Lw#N̔kG-kYK<,D +aIpwoYjxWWFvˆ-2Cf7m37j}3hf
ouTF`Lq +R&fr
n` ˾ D+Y x0R^uy`3$f[8c +䦃aN,lȜ}`7őBi +j>dž+0#z8"FB5㘰9NUv=ŜSbX=ZขW鋷(<:i)b_R+PI%f'P>FYdn#&F#gJfG
t#"o-Ƕ-̢z.ɞ{=ڇhdwFYZ{ap&z)4~*Xq2+tQ.BsuGvda=g{$ٵ'Q{O6ɬן-Ox*#4CJ])Lt$JKBlE{W&ُln6K{}~oIHBʖ2BaǗzk3#\b)CTca92Ey:&:;kPS1Xsf0
r@V%Qm<._Tk~>WkWp":,JIJj|g)ȷ:50Q4Inr=o_89`W?2@zr?q32%ȇABL0Ud9nlj_n,܈RuU鄒M7#SiS.>pO7vnO@H-i*hˊב,?OH7ѥ[cʋyIřr"Yh*$,@0q8G߽f\9_;? +cJF9RE߽(ToSu$fj"*$tZD'Yuy7=HoI|\uj|'("SfȨ<Gz7igD9A~rHf'ۑ,{$g'$ܺ~B9f9Pqȴev@{r{dnV[ٖ6=SghA:"+3}dݰ7ΎDyO[AmȪsoMɝ>@JՅ̵z^pY/U{#<ވB~kr3sz//̍icfc-vQ׳:?Y`vg>@E/xx <!ze,TkJ֊d7قGbwcv*H}D;.Ј)i
ΉJbQr^Cku/e~F!gfvCa>SIrbDAh6m@Kwɬ>nŦ?sRKF\w</uKDy 9_ЇGh6_ +L9с~a94]Pn;wKem/D%OPٽQ#;#}8CSjd|mMz~fh,=;~̷YlLf'Xd&-oyǣO9HHe̲g>?7(`M
[鰲jD;p8 xqߴ_jEc;})yr+@[ųh畽 7@hGhAnm@}:fJ+]f3-BgYݏ
颃/qu}TmǵzƤ#YK/(X7xmldԉK ]"~xRke1Wlڜ"@QyԀNXn?ĵ4eިfE6ŇT
OSs^Ϋ@,.ËGR}}c'IE_6@V[Domb5{+Z84q(Ă)1ǹEc֫nvbZ5\A#,CF.A[U7¾Fl=N$$yh1{;27uYV}L nGg=S|y)z/e`Nj~9s²ða!r
"Ȯ>x_FT:0Jy+ia\ճSx{:v({ao +G!w֙u^/?xa$1NaɵD?Ƃ*ZsΝ5TZc\* +^21W % +5#
n]A/xa 1cP!SMÉGYf>Y.ǩ{x ښrz̾SFڈA}쀖 +'Xx"\Yܷ3!ݒ1?Fm(81߰dq^qsoFݐ zeT\HM=r RpAP֣*0 GiLEmN-ڏ堲S8>%0f%$")4;- +HȄR8m9t +D.tp:Kn`)`x Hl(ݾ9qΛ "|R";JWMGXV)@YQ܍dKF9k7TN51/ڑq +U()B9ˉtv$z116V_%% +e3APD]QWKՋbxeW.}d)'^%;;>'=Dp8/=ôz|Z{1c}}F̟ιvV^F1"Ig<|2zG6N>#\ʦ}{1R +ƋYF8q#jX@iʎHJgw_qʱTN0y@)5F~]0%>ʸ$TE3C) dF0_IEp(;xdhE~b"X%Ϛ1 + /ti.a^YK]4dE:)zg,Q9#Ž̭C*18 NAE2 (= | Ǒ?̗Oժ(.Z +`垲f Q Hy^?"#:sE[E]bTH!@mjaC٤-\^I&<G7 g.NCNo/FFO#/Z90OVZ +ZyaNƵWNU}*26ӛF}5|I<5 - + +3 +*&Ky!((DdW:4 +c&0J5N'17j pk^P[+#Ծ;AGSXsVg<MrSCg@Ls+#q=NiҶk^c09v\`z2glr$H
u?B5NP|3'Z5`tY;uh曙f\~<AVt??Yࡄ7Zec
bG9_EHrLF/jf
76BK*5`!{% +x%Qk{C:Ja:iQvݥSFm_Ga/GsiU#i*=Ank><eJ1t)<{)Kle4A|b]&Ɗd;w
s$/.zNd>pKʛL fFAaP@B9Ra{p7TsUd5Cح4Ԛt6M[Y2挱},ΌO.k5f0?`axDy8&`X4~C +k5&fS
la7G^('=D`]6``;-v /C=$`Xu}}u3ÅoKAfIS3|N)JjI%Gǣcwz +ݡ~E(?\JTRPI!lB%Pb<.N;ڄaKȥǬT}agKؼG22rp2<_wk^2:^>a@l[wAFF-NIL´$-^X#5(DNK|5'©P<nArf4q*J@%ǛhX]fƒqPڨ<ڵje;czjXdJpؘ9PN%_Y^Eɺd|hmqbb3$hiw__rOVUW*c/C?Ud~S,W嬞E~⏯=ÍhƥbN[6q+Jm9]LϿ;a*Zs
90(?bKcGZ, +c"Ɵݶ_~H"v$tه̛!MevfÄ2^K(V=oq[`rRw;pò]5WTJ9Jɚ. +~E8#i)U0<33)cm)ьOQ{QğkF1cJVK
)"tη/^i{m*?IN86r"3E n[te:̳<Qa|W*:IpĶ4#KP\06 kޅ9l&l"J2uFXPQFF +MR [螕8 BڪTwRN*!ABSTw+_UV/rF#̠( +yԫ#I'=t)drv-,o5Rd$ΙݶRdWBC#'}uELO풳;FB +GsyT0fF$brU5Xh:dL${K`<9B&|G2mQ +~~(n_D6|Qd5j͵2c<)Rob@&&0KO%z(ҤNY! +o1"kU + ꪎX
JJrRŇzɥq)]0_Oh1OʈUY6jOz$X͗*J
p&dEtZ8H-,Ӫ%оΓ#6NAJceψ(<.y@=q.[.9JP 7@?~LI/& +YC\zDGS7:9v=z'r$eh\>H78bu
}:wbv@m'!-/KPGxV&vO%O3qs2(Z=}9Ib(gHIn6v_Dbdov9؛M:͐}$wsReQec/۶m۶m۶m۶m۶9/s>'$UTu:/7?v7GG"~KKQ~q+/Ϡ=~5J㢰ٸɏXo a~:JS*Jw_ġCmxP0Ih0y5gQjcf[{J^ݣDHJ`зE>Z@Iuf7_sm(s9[UwVbQ݉S()r7^gҜ"t)R:_!Mah$Gfb(#Dy2̶EoV)}-:>C" 71v
)7G7FztyB1{%G2 +7cg"JލԀǮm)v{eZ{BT:C좑ANG՞ pfcLt;Q_=8{?wh7Nq|sXSofzk*(7gDXP+>|7R)C/$ih2lHP=%Rɑs֢/,݉.>:הA{xf'2$p(m[?cz$|U<Uei:?0Ǖb0MSEõM$đ,Q̅.2*קFajPʰՔt`7̢0[r0R)D%Q-jHfzI&W;S*Gmlg%Γx74h4cj'DcUvU [#}5z< +~uzO] +Y'.C|y(+ odW*IR <vk-Y@b\
M;qhJиU,yI- |'<_j-+M}L=vps"DhMk\Lם昷BKu>z稤wo.&j鿔_v]?:4@`VU'\R,--Ks]8zB:\4tbt(SQMO6űvL?<;#RƇ" +*!nD韩<Hfl\s܍)E_18ڶӧRZEk
v]@W#b/8L-X^% +1zd{z15 +2Nl7҄!tC(Rw$nB,bukN36ZiaʲXYsX:Οډ8q#!
} +njG be>r'
z۲up{z'!]m(zPiQvWzKC,˧B]R]&@zN$~/yuCwqqr~lo&DAJ`Ӗ4WGӻиT[&
ȫIPJ[h[+l[w| +NuU^0.`k\eо + u|55 `f
F_t\`ܚ#@;q,Jf +Nhx|6n)c=!Ɂ5G
+pXvqр~PtOfX9p?|0ܷ)GbJE&/(`M\ɣJJ.+/,8n&( +NX˦گ?e.=4)H.,~)y9%os_+m\5ӧ`2.QL>Bo +iW/ؘFyKgJlLܔsn?'K/A3F!dmgkha'~ CfRYǒ6+?3K48 +K;4z7J׀- +ݦ]_JeR䴕J6/s{j߳OuTD/gE4շG0f/ypX57yrWzrvMxzf]_*|;_0):qX89.QŚtPA/ħG= vWWiQ⽃e +.4L#A`6er`I5Lk
j[]r"ȓ>K!$S8gmӟ8|dhGAP$YaX5cdWM؝5J]=71]2k.eavȸh@,]dziUr%&=:Xƣ0o|::ZہU;C/G#%ie܇s/kk +q;09J@;h7B|M&%he%SQYy
`Hn +=cgnHܑ|9n;Qr?zU=r.gɕ%mbpNYۭ fR!ת;>kMH5a@aPOCvt]&㴮/mEٕo~6?ep3z1w_!w>dHF-E4c4#vh|O2%Buۏ~~ v7@dڇJDe04$xw@ɢLU^.#rS`!qzm{vY?~X6I\xփRQOtn2г!ܧF[Ia-[-ѣxAgjXVgWrx|//PDWb3(q/3f4(6؆/cXmS2:_65&VK֊ԨIѐfs6PuJ6{H3k)INFD8@B|o*Fx떞}
&=_Tێ$4oxXr`J/L$s:zepͿ|1$"wv]w̦?7 +$3F&;㕌lX}dOuc9k EԤ2A5:nOk]՞S{f&~ѻzj<F^~V`纳4!MBY"kv)!|CHƚV=->Unu=<pfuQFkKRLv(&8tpagUz0,0,;gޚHh-T*ƁMzeO)GJ*1\"(vΨ862-L`\Ru*}6>xl_rˊqCn:DRң\;y$ (\B\ru^4npjt6>ިfHS`ϱ
ݎߺ&XMP:͠ǢVs:0+jdb:*2,N P6,a8L}~)!u*z.k#zoz7{]z9 +Bx^w&2IɃXZUw+Ϲd']V!X,Ok85i:'ȤίneJ"vNFRoT'hͭ9_ z]ohـ\V t]eڟqWՑ6k#>hrk͊GXsrTU;YgyPSQ={yNwj(Azoi+S.wDfMEg)܍y2eHmWkO4
I6D9ShJ:h;mm9ۡ!i#7 qjh szq1D4. +Vtq
7V|oKu4I|(<\^=fV6ZV9=r] Dr64}#'zMQQ + +KNǂk#4^]u) $٨6Mݨ0 +D&m4<)tQ[G~?ܯSg'6-svb!ӊo˪)٦/j`Hwßw)%RU~Tkwro%㖴4)Nkr,wc
rg
^Ct]qȔh/2=SgAʲ
^섽
s"LQgih;@Q(ب M<X +jni
,e1`/44f#A-~m6_<8~W83zºcm7YHX)$nJ[+s_FFӀ<H +`@aH[A2&*̹< Yg\[.x,pQʕ.J߯q1 ɑD]^:mU/uG,c+wBA(֕&31]j\LϪ47QqTO<%Oukni ӎ56qA,Lj]8~~V6JO$.7 3yR-<5rQjtXmSZym@RV`&D3-*mH7Ku +/u9bV{0Ѣ!]S-]qL
M^ʐiXLkQTĠ%zf9tE\@wo_LfYwߐ8{;:%.^0WDJ#=YPDCqջ-
O24J6X
yh
RJyn^Dx̎w6YMڏwӮ]U9Y'O: nj3r7L*ԟ+)`5iKafC KjJO8xOb8nT"'b8:T#<e.#zm9Ƭ~͈;[lEs;zv:5oJ闸}G?d!.KƳk'y-ڸʶSݠhګHrv 2"*lɨH +F%`(YANWMOUU>M::eE3McI[~a[UzFEUm lOd4'?$"?'p*
c<ϔJ{j37~@M"N!plSCtX7:Db2W}i}7~ +u0WQD`OПѦ6bԑ N/)a4~|.cC͙
H/"9u2Ԝ$hX ݑ=z&>^ǘ/&#>jX@U +3 +>0z233HBog;=kwM-&
⋡-%vs2S4SuV.+UHoy&_L!h9poΈ"->{o?stEo[${5m|_RtVdTH³}\pMg|*H9:SY3Rݙ[a)Pv6loV3m فDqjmh ϿB4_\bEq^
}PN`?OEcG0 +ɀV>j͞5 +A5JAűumSacl'AB8HJT::ϦOkiDvy/! +=5Kd잢lW +)ջP4 ZyQՉ{3^s^&D}J6"^r1cwn|}
A`>Yp>mܭM'FtJ|Q7lxS`E\N(>F<@l;2Wv~88w#xnInYqx;fʃamTE7L=sAaPjk~9
)Ȅk?A23 +[眨:Hzqbƒ/|zBxeMcbhݧ&p̣[:WdPbg+Q?Fڤ(MF!uXS8uN pDds7LĖ|,(g"pF-TԆ +ԃ4,KyeMyhj|`;.!DB])K"b*BV=E3<?gZ0G
yax^&'h
@VX,;.6 Hvs/ܣRI<yCԏ]{_|<]o;~ejsCC&zir0wܔ+f$GfA$FɆzx
9/98#+_Kb/TaWR$]vUgܷGur`3]
YO0~߳Cd<Is)n{Rރ<zG'Ij)S \Ș*.?&FяN;]Dݗяp|v}=ĝ,DC`EG=inHo'H0 u~!/ffQuUΜ.Iiy]{G`K"XB"cdGG^_[59dZI8e@g+:-u70Q66G 5yt(!)01x+|?hTlMuu3%52K+`/Hf1) y#nܜ!Ԋjm^#( +W)#> +9>gW;ZmjXe%Tn. /Zԑo$:ѐ9_XNcCَHSCr7&GC.<̍,hj)VA[?-maiYFG +^3˕UZ֙Ҩ];87W~U +ơY@iؙz5pD!Q|\)I2ᏹ-=:˞+(<cfNа$K}݈SNUy'v'Q\ NT7$Xa<%53`fc,8>m^KZ+/GI2(ܳ`1[ԇK:2S}&!bfuX`R,Qޥ+`;-12hS.nR?"lVQ0;A7ʂ*0:h87tT<X^Xyt=EkF(GlJ{lG*Q 6XcPgK;}^.Qo/U}pMy2;[iЮJ1~ws悽Q6CBy-L[yj PnT,5K +VKvB(ؘc>;E=-o9MB|9X<'~`Qz~˧~'wmj&EBJ3 +Ӕs +F$k[atzfƬSZoixWgik&0k>9apR2.Rmqu@SlpTO=0JSK*N5I67.RJͰኤ%k :Ƒtkv$cZL!2: KkLvY!'k5yBYkN%u& :1&Ơ+^wb` +t_v]V#$2UY=z~BBZKn*TaGн!Raӯ<[
WF.N{(Y|6Ö4>5#:1w.
FcۨfEbGk-Ks@Ƈq= +O Scg;ǩnM f?J*RȨZTa0$NKF?.P^5,tQz用p&r
Hda&eo1}GĹ<NAuO0=H|!ګ-44qƲ& +R2Q?"aDsߵ}Բ'L;%;p=D<T(@?wdh +=`yDeABQ*Ta0u.(ݕ-tX˶5J~>8cq8obَhM\@;3>%2\EW' R$!^|!1?YSWA*qJc@1z +R]U#oUz?7ޘz$ge +A14snaUrsȽ&RVS~tA0bZ kC~L5CQPQpnMO(0v]5'<B +c_TAb~8dxdۓDx8,gXȠ8r'm_pu/{E:Z"4B6eSF;Lgg`7Jxe/7g9wR6\l~fm.E:6q3\n=zpq, +2HBۧ ӌ0
G3?tTzŞZ˫MT0GX#PTzeK.A endstream endobj -667 0 obj +715 0 obj << /Type /FontDescriptor -/FontName /YVSTKC+LMSans10-Oblique +/FontName /PLHPYE+LMSans10-BoldOblique /Flags 4 -/FontBBox [-460 -309 1469 1154] +/FontBBox [-497 -297 1801 1134] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 -/StemV 89 -/XHeight 444 -/CharSet (/T/a/b/c/comma/d/e/eight/f/fi/fl/g/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/period/q/r/s/t/three/u/v/w/x/y/z) -/FontFile 666 0 R +/StemV 147 +/XHeight 458 +/CharSet (/C/D/E/F/G/H/K/L/N/O/P/R/S/T/V/a/b/c/d/e/eight/fi/five/four/g/h/i/k/l/m/n/nine/o/one/p/period/r/s/seven/six/slash/t/three/two/u/v/w/x/y/zero) +/FontFile 714 0 R >> endobj -668 0 obj +716 0 obj << -/Length1 2397 -/Length2 24429 +/Length1 1988 +/Length2 21196 /Length3 0 -/Length 25861 +/Length 22449 /Filter /FlateDecode >> stream -xڴwuX5-ݝCwwwww343Н%]!"tt=`Xw}<CK*iʁAVN6!%ȃUbAvZB KP[C^R\ȴ -Q;s܇/?h\eKI}Yy^&e9yxx'?rl.~/~0@5<Z8152Hd -V_@)n1gPp -(^KW -VQ2
J3s~ZHєضR
"A{ǦRKŸذkngJ'9@w@Z.k<ʤsl
gda|o9 4cQ?߇[F%S5IeѳI,R -H@ԗWMc
Fe'C9/A2O/V]QH\̆ʥ" Tyx?iv6C8I)3}Ld#Ƭ,rd1J`ϕ-r͵D!Bڨ ̮w -[8&4B8<9?Qt^,ŷl)b;+U|Tb!zͻ)o>iDHΌWpU+u맋^yTD^d6cCQK5gJUiؔӝ'd$?wE0?Px/?lJ:}DCƆ=ϳ⣝]O]赍k 5v頢n!NG)?+l琿1.+ڑvb*5*f[2+M+Xֆϟ#D߭DJVk,$vr3f>$d31Kk@LOG$xKjg9SH'L8?E3cmiU'&E/.U,͙IA\ZlQR/?o,,. -JbQꌁc1][)!l? -%T6վ$5A @yNq]tާbװYF,$hy *aڨ2fT"#7;6Qݘ̻^͒ߐN{nT -Y6/$/n]X`hMMBM*|'63_p@CGUᗨ9&TZGqש-A̧!oMꡳJcqx0#0%TFV;s&Eˍo_ -ܝFᣀ
RھC.uPCsYHߎF <26m#B@U-}ENgYLo&=YճQS1Mir_f@ZC#D\
K~uBL١)UjԗKUfSPgAf$2VizY' QRTSneն$k¸IĻy$9֞ѵGE#78N9{SXV%Fv7X|ˌ'P`x:'y@4>yI -QL%9>9Bp/ A Yϵk Si7^? 2Ʒ(-1MS#fQ;u-~.Gg-? -)|:z6ɢѳXf۬ lRaOY7L؟]&5](h9%2T,34p_]yF k[cjw1ï̸uXr%A@|'hΙ]$PλxqFف"qD("8U*G
'Ib|Q>k &m8HQ \ -`࠰H7g=X~wwKE0?$TLOufNGtJV|dx5S*̀'28 |I}eg/ȡ9$d`L@XІV/nkٹscӟkB8/&ye,w|}/P[w-PBg@|4gPgT"u +/;
~|BMq'Ԣ+giTFPDż9v{nS7vRO>ane-2J=,%
[ -E -=X!| -P;
{[H%{w %?`ѡDHE~X*Ɯ|ԋ={(.Qnc'q4GFG]jcndXB~7r
(jDD`q1|Nb6|ϥBz&,$LT9.[z:N0?s==Mm
>!=`0#`n/}\3I0
"
RIeOZQQVv*vmR,
UK_ޛ}pmT6Dymyc+22 -_?E]SSpaA$(CO;[mM'8`yt_B^Zprq!KðL#ΔX̢P]Sn -%OB?Gެ7с0?xlNvZb+;u,r)16Ĥ,2#͚(p`VԼ#Q_)boA)f_Y 20n~;}߫@[s6>
p\)BRrpEHڮZƁowh2{rVd?;B͏ nnĠFDK}m -q$xaW~wu!ZɸVKLPxfO@vhq$hi"WĹ6evN,:3a[QsIS9[gV:w$*Fj -}`&?U&2R~DMD/}x(>.'3]Gk<~3ՙ <o1N!7{譚W -[^2^W(oe6J=O4&LnQjMMNu>أvߦ\S>}zDwb-7ur@A%ST@Ea3OoxxʷNc0W{KRDsIrۏۮVu\[Ҫx4<}0KC3KRVEJ9cOa9U1&:tĞicѩ:c{W Oٛ̚R2> -)Oaqaޅl@F!3NAiCi}c3r!bM%E=dep }pc1 Mwzϛi:5qǓƂy=7M 7t(w5$n,7"PcȯG^[eUe垖1%
eG0 -B^ʂ2Zp_0=`fƎyM
|] -~"h7ylY Pf<la3iuZ<PTN}3B*:bxBrm^jz5Gh)LA"??Dp%>*C3:"tJا9{ܒgCGOۈb=an`ܛhL]{2hY PnC
QSUygx<~m90+$«ڊ{7ӽьh$kȠ'#3\M~'O}KWj% -E'QPʯ)_97V5Ӫ14]kawsm
ÝUGzE*@
i2UuR*7%=!yo<KdlFzYL},j,ߴ0;5"%By+sPl颟g*ak -ȅ8S(2dR9Kj4fǿ~U<ld`IZf?lnD -월c oTd~T-0Jo)8|zl&~#G_rkcb|(rb)B
OuiSn&IMiGk`F>#}YhxMW"ɯ[mѴzIzzRvS.>gYTOi4 ti 0}G߰@F$8ץs0i_
,N3X,F3>ɘzݵaUNڳ徸ivb -!Ź$OḆd:ٴ%V C1z3F b,=v`g2B>`aawO]=,p(yBiH|S FTBz0g -cIhPJ/RNJOYf@7),ic{"TԓV~¥ktBG#u4!SBiH&^ys8]{K"!~r?};p/vh+ˊ`s -YB@&=Tb+x,ܳ=D]g:,
\k&bK2h!ğD^WY|~m -8rc$z'd
$n} !M6.f?l -<lo4dJ@\MTï[#XY̞JXN)W'&VzmjG-8d$yxMSڰ1ӑM/>44ڤi-Wt,.+=_GQ=y)RB lWNo:R]Xah6WmLj Lhiwe[P+aPGLX/,8Mo\Tvr9hZ0}?ͧ&Z4u&5Lx:TQnG;^tFܔG -S|Z\ڦ{XƧ -W7S^
dͨ`ͭ_l[5qo.}1Ge[7W+ .n -(DI卆MTa`@0%QO
$^WMF}%
(P!4ފ#/9w9
AU:y2jں>/.kW,KҼ$C
{Oa4*ܡ(CK}Cew4BcZ56z@5l
ᙂ#0">җ -kIƩ*cW0=G0qq0s{SÂXY YЯQSvG /G`CDFGJ|l/<nZ)6PK;q. -Sxp5JU;
[kF8p;U -)^^ʜ!ɿubi%Td</Ƒ}@@'¢-nr@?<fg.&
іV_bmnlUJAxLLcuw={|\jDɨ#_{7+Kb\4sݲ҃EEVVWRA$`Cwt\,jL~qR
,OlMynM*h:/E{A"W#m9Y6tϼQQ(./c/;KzNtSBm9߯CT GUU~][0|ߛh_o<K-2Tl'eۀFnY14vDlE6sH1CKXaa3-zX zǗ*@Do~Zt -߭B> ,P+t2N1)A&6eI'h?w>_G(('/Va('씔AQW]UDi3mLYBe($]rC BXq.yc6~)z1{F?gտ -+zќ.d6{i2Q9/=={S{PG=~s`Q˧r/,DhĺnWA("w
ywm5iNWg͞wq
/^7`%EHDB?:I^j[&bhF=OWtJH\ɯjB}(CNڂ&iwЀz((3a#ٯAUoFr)!+w^N7&iy]Z[N.qL9]1_V -,Y&VFܾ;G'L*!9m˛HV6J;4HQB7$@^j'$By%2s\""]|R&A@iʌBtAu%ۦfMnHyY#mTRxksCV[7_l(KE2p{4"g&l&[l*&ލqkWl\@|WvphgD05[h"2Cި.OEK7@w'ߟ)70`x:?\oם|KJ8T}(0elp@HZ/;r)T\ηWȾ>.ȳz4B(ߞO#G3l;;r/p}=ECO̍cb/OD8C7X6ɚXo$6ȝR0
*h^ 9~҈u}G6EMxfܒ&/~Aa'~q<e8wqUu)4MͧJN$u+a, ?
-㖆T5L/Ѭl"*ֵp9<87=A3!U]|e8I"7F409 -@@~txT?2hQ5V FWB^ɼS.-PQ'=J,)9* -MB?$֩vr×-5zKHEr$V|\|3?duoPRR}< -f6pU,hHe8IQ\bdKY80yXqXelQ(ay7*II2^͵/P 1nJE"2jUK؏5gȐ>ZTOpcT -< Q.y9d䗸Hc - +'c++`4$(U,a
N- --\v -@cH:0W|wr>ڽP4LW9LOAD#MG\Jsg^nLj'c3SX,"znN:|ifꦢ}#NxS -Nj'~h㾓y58%cgR-aw -HN7aqඊICߑCW=;h` -QjE?Kp4FUc -
$պ]sbڨ~g{66Ev&Ped -!vOG+d\L^R6j3ᑖ>LG/i~0?3AB/"NN^\" 83R Zg "r3?"F:lm$w!`>En+h&=55|1gr͉rAMvVS~l)vRl1oE5)grIZ |dYēlC>Ƨ)k2WfWY}RAhDd.C|Ӫ3:q@oAP0m]c=O\3eoU,/;ͭ{!m1SFT`Yzǧ1J>X!&T趇8W}U?'_1Q`-+2>cm }Y X
KkcUU >(9#t~҇4=_e3TEI)lOwDSt~X+R-YNe*iZ":7{r5o]PP3#ۂ#<]*DoQHoduI+Q%aO2THpo:7^()n$xTyR?SOW@ḀzjoJ?)A_Ē_x|op'!6Q?'y
atOZ"J -EDM!sZGe5SQKgmaXyIy -\SY/+5m(]ꪥwE<foYOf|Q4u ]rǼaĊ.|g(U7lO)M}*0d4c?tsֿӧDL2X'ɦ];o/ݠLƏ^upx3q,C=n X}H~*nҽ,}6Nn~CN`!ےuS`YkKYsk;a}ds8F'k4:o{Iٔ( -rzsG;;rddK\~OK/ -Z`Ky%^??/ڂU7{_L", -VP2Q^6cJkN&9<7?~K -]ȵA*o{h5n1iQ)qt -<%v@H!ˎWHVqOx#ST\κ۞<o0t&>j9MXk|]O64>C -Bg~,L,\Y5}{vB0=ˠO~>'a/ -j*ƿD>0[mjJeډO caTM).(.Yd!WT"bj|N6 -r̆)0OfuTjR$ T{ v O߇\dP 0,ڵկU}vʹL|2`ېj=b+zueJɕ.CN%q"3Bn99OiG$'q=ߜc|]cko -XZyzwDž̈́@JƬR_`OK -|'Kg\%q%pe5" |_g+9T4U>c6#v]RM*U#, o"$y}ڐQ<0mTܱޜ1#Vi[bUx4TC̸Ua8y^#O߯h<sVvZp0'pi97ĶIQ6sXPQ^+et}hRwHmW)|qy!}}E! -kM&D*l'I{k=̄J?Iu|8%)1ˣw[.|ln -$3[X80vA o9('r#*lA[f@DOΠ6E=*+=Suھ$ʅs
-vEFVYϤ -~;sWd}O,p`DNf\Hx2_EqfTEkw͗pDU![$C#[o{bJvx纎T$Ш!I -h#2X6SS*Y~V&`T PaKJ'Qd"BS=#v>ڗڬhBwcKn{ll -YeyUv/y`>t]+f#Ih\j;@ -"N"/j1z|z1p."U$q U U/әʰ=~p[LIA6fl1Dⷱtd(ux6աr>S?Uo@ -tyߺ`2gP\Z}Z4nǾr2LpYoR -D(E(.>vzdݽz9_U -7E/A' t.V>E"g0sAƋ?.0=+P-(y_3S&.P5!T=䶷S=~ǒ&`=jՄ~D<<6QF\n
mUf7 -C<4"]3tKV`FA8;lc,"4%`6^J|sYPaD;
DSh.ۃB -IZO7OlSPG0\@QM}ӑ -Qʞyf -24J۲o xօIcu`WfD8kgdZ>?s?@+("Tt:pWF[_k27@ںaJ -jK(N5uhțKeI$G]F̧}[S+0d)h -n]'HXUl -z:.p^SKu߀c;MKЧ;CSAMeUNcp39S9\To -Oj[Bα9 A7VT]|tHn|'yF.,:!9
qY9!@)ҵ1&y<p&M&m2EaEA=)2pş -VK?.#:XUNahQ@=LkC#J8HUaO܅3f_tlIDb-btjؼQj="pVuR1"e6u3+{;B*\K?[ -/p} jH:8iQuDžcIA5v!U. -,rR$I2)j
Ìσ/*V_i>@myG4:y_\إ%զR|0MI.wZL|t *3ztTp -`K#s+W {s\8hR -VTu'%VT{Y yЋ'hYLsUĴhO(xIgOҾ~aɱ'@䬡0vy ۳F'En{7iZf!~l`rTNBSv
yIwb]urwӭ@~q:!o|e -pKy˽ǤiFy -%C
Dc>ץMf1ǥpi 'rJI(o~F}۽|TU$at5r#T)8|nHdŚl?1I5OUD,@S -X]_kPc7a7=kFq˛ekyxgsrJKE%R3K0?d]?\aVVڥ(Ʃ&FZVai7ΡIhS*b\?݉sx^Wю HԴՅN,ݘp}k ߀WlChK3ե[W(DACy/|ac[43}Onۻ'O 3|v`YJcj$ov#32
bUR]@
3,3 -$%2Y5P
M{2fpKZ3oϹ+7)zIJ?յ~̇%w
MT0@v\( .f6YMްuxM6(KhDr.nPU"3O0_Wπ2iQa -c|uRSijU9ʰ&ׅnMeiݪ=mWzvԿun⧪EH&lqgndÓ|`]g1hfuZL#a.*eZY|x&wgһKH0eBd`myusiTdQODgyHƨq,!u)O@=s
RoL(:`7aDUߘTЧ#U =OA]ۋ
vd[^Fb$ftF"ِP4*˯zs=ҕ&Ętz50i݂SmM42?/_wkR.E t*X)P -a9IbrͲ}kVꯀzd@BzV$تBs0ܡw.dBIǿFH2[IPAc=9 ${5`{`?`}A79ZR$i
BI}B).w[gvO2'cjLobn`Qm%xFb*ӉFXbqa,YJHl+]?Ns #?9Ja N2&?Q×7ԀUd?{3U]*U&cv}اl':}
o/u)lExó0VWXB`zg:=) -¥sgú#<BGb -#W hi]VNd?q~N9nXEC3訡WЋ fB|i-#^Ֆ Ic [9Dxa~j9-i i!9i!ѽg╆Ke$`tT0F -)NtYŴ| -[m5r%b5~3'~a^>?rޒXaN!Oq׆0ա|%˅ җ5YA!h#KWE V1*GWn'wȇV[GO!q2 +?mxpG|Z>ZZc5e.&e?^0IpeEǩhe0+|MP1XUJ5XfL/T=5nNEᩚHJwT};z[U27R#RkEesS)SCi$Z -K⨚-J902h+6H.ۈt@M~YB͵:GcƐpBjf=ZP+an gyړzHH~\7jZ -l0 \fH'=43c
=6qQnS@:JgBK*v3抦I@zc`%&`p-:xlCU`? m -k#JO>5 1_Yw1`+rqՈ7K]?^T&!Wc8n-j(@znDQF
x KgA0H
m1#G'-!Eq -<+
ȒkcU@Y I:i[WPrV:J9՞+<6~B$ XJqf"{q5PxoFP\;ۈ}T\ `VPֵ6%t - e/cn^M۵ϰNfƅыQ+QOzxقOO?D`OTsF@.bVhm<=ӭ -)?KtMF]0':&:Sk<"i_mG Jp=eC~ WănJ,є -\-#jn+/w!]wz[䷴Y@&CPI"QKr/~nFxst -Ѽ6%F$٨b8e8ŗh؟f懩,|8pFX^#*ȌD'yK/T@ p}0R[P9c#Y' -<zMzd»W429 +xڴctk>Ƕ۶m[VǶm۶tN'w朙YY'W뮪ڛHQN=#7@VNΙNው)LNŔbP0vtu032r$LL>&/ +j*TU\-@TH^U`NPSQW9-@^S'ϧw91U!U-E1&?g +@tg!\Ĵ9X9+(5s1334t1rqu%55ASӟrV9'ͿLoc9[:8+){?wfiLNH^J\LEN?cGxB +ll +Wr9܊`/?&wU'nONQIx~hsW l
ݙt,o nP7iTʇljWۂ|>Zl3<3P?bPZma+c]3^Wik14ъrwDsQ/HY}R9&p7=,/ڜxm S7L5w$ %0ȵ ?.x#1W"d +C$OǫlF4YM'cd;{!!U\Jf[K9oiLIG[n<ܪd'c|P4᩵c,>--&ic=K
+* +N@6eu}C%Ɵ\K% +>Ua>Ix L"`i
.yZiO^lQ|1$i 1˝3~_w:Տ<14NE#E#&b +v6ֶxs(: K]GhEQbH@1ޥ0i,%:7ښIB37̵j]pi}[j4<4H\ގ9i)~_uBfx.7*w +~~4|ͻ @^mQ~t~`hVr7M48v '79Prϕ\w%u4G_tӋ#eP\|hip<c{+B1v$2rlbl!W>`X1iդYq? a#N^!DZ'Mtjl"\/1SZlD!j +J%Jmo뽅xz:"IF~gx{Ћ/5ofqiTEX%5D=-o0~f4D3Z{FK +((LR9%{{)e;Yb +0l59C䶧!ߙTVIg'l&34cϜ'ʭ)zkQDH7Pws|[
YYqs6v!y1ܤv={wBBѝgs\J4gk~4
]b$Տ"s¾y.E3"
u@ݟRԐHh +[ ۇY5cpi틚x;
<_Rk@{] +@(F!lkWZq;jz^ԛJDkGh(PPGq?hOwZXQB;5k^`'hAzyH!mHt˒r"փ)fymN魌k+ϑ +WYC,Ileh M"OP+.0w!hD_awwc@d:ؑD5t`@hT_Ǖ,aj *LêASI]|%^s3 \Rڡ̱kdkQ 2<!G4خbW }:Dn1P<J+; r@מ#JNcKCnƪS3N}~r +ՀGme^.ylp T +ߐ}߲'z +ZM{{LHNDy@}^W +Wl+]$TqWS2l} aN6-)GNO|B%giXEɳޝeD +Vu2'TJԆ#B)KFLTCݎryG Ǖ6H8aOw +I{Zg6kИvjJMc'C cTLwLW-oSHO5,K#
0KL`T890Xo\wۡ\HT;iOWy\]92"[<Ԩ*,?lTWR+W)7ut׀ 2[M"wghhvoo^~hی<^z>iddž-`>j +v0XM*xx:/N8koӬ3҈N?;p[)a8p9O˲ +l|756֝*ex6<_9DIA@~?v,EL^)iPSFCbc$<d6PH@L0V%tzB +=PB>BA!KK*hS9CTR9oC65G:_Z(pc֗F02KBʐUUG^|$g
){i!ܖ+"wrnPxbG#n_!<4MkfALsOyl2ZpYeF<Cf}: zݬ&
ByE~cE3 +g&wL@ÝN!M^@K2¨ً۠,5_ +ڍxYʾx*6(-N4"LBDg=#`TC:^ d+9xnil/e3q`,$ /2P#Y[/%И|JAx-~{6%Y3Z-I{OoOŊ.Xk3~Yz-nf簱bSjsaI +4F?g[IȨLϽWo#xʑ.Qpv}o8I逐%3aa\(}3o' +۬pBWAK"?Oޔ`&[.eRKn +}aKԷYJ@aJԿ,38
Y"kY
9T~r/p:
!~)pC_uMU_مIcy7] Cvnsdfbe 6ûe!*nyTX>xe y^J.*t߾Hn"$ڋXu+Q_IA3".{1Py;n$f/.GpK~@; cH2ޥf\
MV]Lp9[-c&3Xwwb9Ds +YM1ӰR r"Ճl/JB\踧SU%ko]= +Ƀw )Э*Ko?>2( +ԃfvSt{%>" J̿d+1s@Z7jVQNܙd곯}Qrm+t~rrLXi4>B!^ +rI,@llhxՙИGkpʃ,sE%j> +?kA"q>"梟@h0b\Q8ڑMW)p#Ϲ~leYPV|/όw?aqY +PpF4/!hpӏjb'&BrۗIjD4n'#xw*)*+jAP4y΅y?6[Ri %ͫnpzH?g7+̄.Lc4Sx$tR2
YLg5WnEl.T3iLs?Q^/Ou;Kkm +}lImR}35iPR>(uM-M\e+Nz.* +w^n=LSndRBr/Hry=ǑZٺQ֭8v2^U$wظoFq{mn뫡_@vB@v @MK3e[}wWxa GTYlbvPX 11#ZӖ#UzwoԘtjc{{VlZV+\~#emTdȼs/qVh)0+>h0CKά +nOew+cjtc:x5x28>7 +09s0wь(=R5Q,uT"w _DE~ + +0oȄ"A<{03Yg
;(V +Jdv#9BCrEc4w[zv \0+-4ې!?$"܇o\gQ;j@ +2*t/r쉕s3`"ftr;3%356f8I +G^I.uU$K16~.%
*qO2,jhh9ňxs:GrԨUG˔Wc w)ĎEQBc0ōlȆ̱UW!<zPkp#L{kaӋwL,X!*3q,qjLG+Ǘ/҂`պ(:WvU1(Я\ e;`n 'ˆ(c^$Cr5Y +&q^]Iɴ$܄Ia%pIu`Ce9YةbZmA%fޮa/_Ӓr;b84XHɩ>LyֲEZ7 p-Hz+Ŀ.ۡdY4I&',v|^x`ed)FGg1.D G%ztw5'I=**{V6Pm1T˕Ͻָ,YX4}''~ÌHY[b--:w-0_m H(.z-rZ& +Nק1Gf1q';r$@$Cw9)~ݻ.C:y `Vgq< +hN֝\"SB@[hI)T8J0DM~D=7 H}|\*;"]dAc@y>?M//.O~G !l&E߾s1D_BSfm5COoD/G@Ͳ$"%=K!G'?fnR"0bN D?{4< +>caVr?![D[=a0ϢOEb4Z0g'ܽ6D.V8fn}Xe+ {b.ʧ!k2 +X7$kpiӫ$;ƈ-hu7.qŰN(FǏ&#;='Q{rЪ/ynh~D0b + m;J~OE>Q&dO!ܕ3Pwr~[l/1PL +;n&HO@4{$(Vdm<rkDz0:(-3(r8fqmj/%NodˈQ1%w>Gk4F%Uj@˺|Y٪9wN.w
Tm\RRA{[ϓeQsFZ0c@gM~Dzf`a!at1tl&]V6ɫ@7)bո5$R~~+?^.ohvY2<@E_")9B/Gr{@,JhݣdSRH0ƻSn+k;9T31fU/>Gx]٣+P^&j"uwǣV[X}\ZC]0us+2VNEHs=ARX$܀ trɾ/[#X9T aDd1VC<ٗĥM +ou@sY +K#`B!ŪU+jzaUbnth0" JIxlдe$_nOǰ + +- #
xcIg&x1̝b,Џ#՝Q}u_*;UܨN];dD-"cVO}_$d iC[МT
Gݛ CVzov/qׂF +IHIh/HC%{e9]E? ]YV=.
m#r^C>SDe3d9Wڤ=[[=G4[ +}mGt%/;L]v}w\Z7bj!W3e:XF؊66}SUfEYv&2%cmZ8ˀJ%ۍ)!U;Y^RY~Ee+*Dh(Gѡ?Zus x@Cn.OU +Fd&N}59CGZ*D1`PG")Xc!%%mNpR)»OcOWJN'҇2/`ZU9$AȺ!F*[N~hs)rXR
w"x^| +.1zHk~JK6 +ە/a +q +mju1 .=Z4*kϺh)|)̡ +0zh +f#v +UgH{@^ɒc4P?<_]K <gڙRPHXئCb؉^ +KK/bf
2gSosi3#`6T
?I*~9o-w78>n_/oOo=]nhLӻBh{Qz6AddwCt҆1˕|nC@оmz]0@㉷O_ˆ.esgO4p(QL{m
"
(fAaX (g[\bMQ=jbw +??5n-aOZ[R-n82`~ǔ8 AjF)/hؑKTp_3wx?;c[LJ]ױ +{9@+!YUZ}6k@)>QU^x2iB9jMb*OGV'\@F{;z6>EIp`x奺2D2c~u#{$ +'-|<G8 +b?==ʻ*&&a_NDvTtq>k +豌{EeB\R")\cTp,Yv.* g&BhTXx%9{OU%}ĊPa8ǹr{˜9&
ڰZ@mUx1 C]Sz?o824):8z暥j_@ޢt\m琄#XOػi@hP7P$;pzrqN*>A9R9tӔվ!R22I?vʛaM\$ubE7+_u뱜_i I8ƇMl("
k{!݆LK[7
Ӝ6%s[Iջe~?`ؙ.͠Ú-`XQj%/[ᒗqVc]ƍo961XMQPn +}z/F @$*)?F
˳WM^Vȷsʆ|,7J:,)>[$Ey%\a"{}RaX+ Vm +~mrW)SP{jMGń5:DKm( +L|>SOr^?ogxɰg.A>EVp;'vnN>6K_ +=Du۳dJ7bs==1XC +-1s#f?<襒X +n7IUdFIVUQBHo3}:葒[
La/o%ۘGp-@L ηjPl~ LJk4[[`$T@w'M`؝7-{5mP91w:9;NU=nf{E
=zn>MIlE'faf)#48\^ot(7>=FslŮuwZF"Q`唼G? endstream endobj -669 0 obj +717 0 obj << /Type /FontDescriptor -/FontName /NKKCJQ+LMSans12-Oblique +/FontName /SCOWJH+LMSans12-Oblique /Flags 4 /FontBBox [-452 -308 1445 1154] /Ascent 694 @@ -4437,11 +5122,11 @@ endobj /ItalicAngle -12 /StemV 86 /XHeight 444 -/CharSet (/C/D/E/F/G/H/I/K/L/N/O/P/R/S/T/V/a/b/c/d/e/eight/fi/five/four/g/h/i/k/l/m/n/nine/o/one/p/period/r/s/seven/six/slash/t/three/two/u/v/w/x/y/zero) -/FontFile 668 0 R +/CharSet (/C/G/I/S/a/b/c/d/e/fi/i/l/m/n/nine/o/one/p/period/s/t/three/two/u) +/FontFile 716 0 R >> endobj -670 0 obj +718 0 obj << /Length1 1756 /Length2 1475 @@ -4464,7 +5149,7 @@ S1P Ax2^bŁv/<7\>C}&Mu//k#'ĩinCFڿh]6,؞%=^&6^MX۰}]nE16w5Ŏ9ܿ4F?-s^_ràKҫ[sp(ru-[wr
QKPEڂޞP6i
<4fNpܴv/?b endstream endobj -671 0 obj +719 0 obj << /Type /FontDescriptor /FontName /INGFEN+LMMathSymbols10-Regular @@ -4477,10 +5162,10 @@ endobj /StemV 40 /XHeight 431 /CharSet (/angbracketleft/angbracketright/periodcentered) -/FontFile 670 0 R +/FontFile 718 0 R >> endobj -672 0 obj +720 0 obj << /Length1 1998 /Length2 24600 @@ -4600,7 +5285,7 @@ UJb. ;O=&_bRK;vHasX儬9ՉOɣX#LTDgG endstream endobj -673 0 obj +721 0 obj << /Type /FontDescriptor /FontName /CENXFI+LMMonoLt10-Bold @@ -4613,163 +5298,10 @@ endobj /StemV 83 /XHeight 431 /CharSet (/B/D/K/O/a/b/backslash/c/d/e/f/g/h/i/k/l/m/n/o/p/r/s/t/u/v/x) -/FontFile 672 0 R +/FontFile 720 0 R >> endobj -674 0 obj -<< -/Length1 2073 -/Length2 32439 -/Length3 0 -/Length 33593 -/Filter /FlateDecode ->> -stream -xڴeX\ۖ5S[pw!.-Hp@pK~O=UԱk]EE$fhvtpcbcf((*::8*2;Y(ف݁ - - -Pb۽TOX(Hi1kg).Vt}+-jKl#hKut?IJO_T@{̱}rZB#$\w{{1[5) -mL[PYo!~_ -my1YbлX,ݗMAzrG>p<>4%qW)jv( -$KZ,1/ާzN ˶k/࿊}և`!:?5_<_LKp<RQvHZ7u5`V
[D>顦"gق@H"XT=,MFMNIJ*'BWj?斗-kqhQgF9WiQb|ۨ*.;F:VR;̂(훤*P2iÁ>1BrZ7<-<e?i/#gI|7\ڨ|BvHX*JEԸ]|!-:J_IFX3MU=άQhE6#
7 ->Ī:=7DYJP{Z_'¼9utyCC 6]2.;08*_ƹ-6q:o-3ۀ8>H*xlrSl/"9A -C'~ғaKm>uVymߌ~9 -4J7mBb/P0R,ZI/D{GIsDO,Ry'F/۽AR۪>ek1,5]>=:r̎hV;nc[<à1(r-o[j[mKk}$ᒺ!
E!$IJۓ"Z;(<F rQN:8Ҳ1,
YRcI.Hm| 1TZ$W-Z5r\c\?R74my4J߮*QWeXxj͢Aj [;6#?XzJ얕Gp6~؏kcNPUք -]ЍS)2~;)tBp{0;4RV 2s̺V!pbC<J6f_.Xv!W0lWi/ -d+M
L\Tap|wɪCY_ZD*!Q>|?҆LH>+tJC)29#튩!WV\ -tֱQJ_]g/yxKF MΤ9dYG/d+ -Lʄy⼻IbIiĠq@]NGE[փjbK@kHԺhh
.Nx ᐜۈG)m<:3īYFzE%MDϘDʊ9)Xs@ K%bl(R?uPSX1*LݐܵFVW6?Za5m\)+ES<X;T0֧4)ۃ2pަGu4GUvjGA^H}PN)q;qL=L<O0vmEN;xBmߠWQ?<fx]VhlMRЙC6tEj+b
D^r1/~<ruSvmuq6QˢlG jጫ~Ȼ0syl[}q\Ā+nXP
K.|cPZ)I%ı")L_5'Z#`y 9?oqxbkLja|j~zEik.f,s5E݇"'1)E'`-ܽDjd>bݫO=^*0%P1J$FZWL~B!`WIDKj -ٔe}^qj g2^L(ascjM3]xbqK`Gҵ/UUQ9*^_,<z:n>aPH1۸vy>¾ =<OH0~QS 4ueF|>C9GH>gieW=ey]18$pAoVʛEpk&̓9eui;)R.&ĺ420!Ag[Н )݅$q3ÞRYq.96ţQ0F#)F0hLaVxY.va-ݓ}M$O@q'Lo:lW-MO ,Y7,ɳBI6_Q;G.>jU#]J}i@iI;8dBC{vڢpkSq\jJ{PԦ&8E:,妟"z"<!/iI].A rux(\Op{E~7>{s>RMM5v)8Ci4ɄKA[`к=:@*5&1|Y=j.P5z~{{.ӭe%~V_BDNh5
lu:q!H]W~v+=xBbL1)A']fb 9)MMzEݣƟ/mוcG̙9uFC0gW-ᗚ[|i^ʱZOYQ/Sc"ef5]Ӆ$&NtGDFp2-4IFSp2;^~̉dQ%a6uMJ͊.r>UoQ1e+j>=D!^gaKr8F=
аL@yٙ0I@2*TKd!h-/o2xMxͬNnOV',ة:Rkkw@-^!]Lfa -Π'EB_[=zK?:%>K^LU1F@ܼY/
w@ZSQa[^5\~[XցqV*ye=Ȝƅa8OFZW\>~g2ԏB21a$ܚh3%c%@@Dx`./AAٺ {SngOMe2q5.HkaL
6<j@Lr'xlp"kV<V -GEnT7q g W:،G.Q4>,qlb*qR<ۢ| -|\y\bF f8*K8c{']'#ϚakHm1i1>hYiJ1qx:hU8FR*- -xP\#KJ4 wom$SXFuX0u}͞lUKwf|ךjOVnw͵-@A_y522Ti 93vo9߁
|_ꫤDFGH^LNA4|%,˂,vsJĤu|A:4H#/(,]'$7e`QۮcÔ$Q9_vA}1|~\
9Q90_t?ֻ.3:BH^hɫmZN<½$ObGއ@o#+GqCa8I&A3ib+(\aiWC"r$5.G]Ip㊎F5%myy82Hh}ќKLƴ.}
XBU.r2ݲ#EJ<+@qh{0И&/UX8iYD<ioOZ@[7 {<:JWK>8M5LĻa|gҳʌ.o_Eu,:;~"ˤ͌B(#|/b X``B _3<KW=47:Ut]Qy7P/LEAZo=5P8}>+ސ!";K -r~<=vtOS^y(j;m^Օ -Cat;k+5*vc硖vVu`bW74
--dǀ2avs( -.BQzH@c5F].@_fGLu+MRz|̭{C]t!N&Q+#ΆQ"z'sh`!tz0Uv{HRt. 2D'Sՙ0Q>!ĕJYY=˸ɕcm7F-{Qz+^ -TEh݃|֏PwrnK<
cDlaGӇ^zh3/:Ə<VrQRT[F2q8*XRn|aDYF6ջڀjp*\`HK$3bq-o@ϡͭ5 - JԖז1`t> E&R?G5ܩrGZ~
Šeo*vKJ~#BBcmۜZ{[_PS|-8| -7ml:М$T@=_=`^B"s"H7F>b[XΝ_鼮[`z1gr,5)6sl.jvv\ڔHjع"^ח&+~]gYlI(B:5OHe
۹4]lLټUp*̼jE -M"#qT{8R߯c?ZEiS0qsWrVgB.W0γڙ.geH&F9E6aKGJ1A^^3}s*r;ȅE)ࣚ\T*G(;Þ)QbBc,ވ& -lTşQ7TXF@Rˁe~FRpe8/Z߭M=irx*`qx98I&[+|Pm{~s -y_zOCzWV5'ȝh/Q[0+F$1Æ4BS6=ZTT_xu=>Ya26?CTA,~AqfGw9j%G5/7h>%acA!qW}>(Ks+©$фF7qg̳*vg% >?5L,CYC#i0Go6b,鰯}uUUPIWri[,RRu
mEbHdb:x߷vNYTKCnYrVoʷ!F -ncfE|\lV -u#EF<eQr|rOi_t;eV"!gWCodȕ&^x:CH -i0XVs@v~;2aV!֮pHs6%zyto4lsO/ؽBg};5-MaBD[}֨H}8ors*-%?'Wѽ ]J,腠U/%3Ts~aMX
P]SO(\Zނz5|U -u-OįSFZgVtO%̐$w~gњt%3Qoÿbnd $Usn͆PUtQo7RTv5JGA{`5E
>=&߫ƴ_Dit -q~20)6}JVB''F%7v*^ OBA\TyݒUdY5AHr (B@їe"T3nZ^ӈB*[ө71ܡ;:t0_xZ8*By&o7U
)'^TيÈ#w߇\'uWg\#_yI"]?&<a<dDguLޓΛO#f -*oɄ&z9/5"K D)?V ;Q`/ˈ q/agŌ,гyo\E\p39[&ݕxPFǚF -I$\f@f ->m UFTt&Y)Pqseq.8ohYB )-K-SSNall"Ģ.71Q3;&@L,3 -3
ؔR ko[(gչAa7Y$l sMϻ:[zK6">P93z!G -p|;ו*6;<Ks̊4tW8U`qetgPcnT`2GhudZo;$0$?8CjU;MK%<qUMohR>K2WI%ڂaWif<Ɍ62:Ҵ$roXew[{R~*X.ؽ*`^y@퉲j ->x#=!%Kކ={pM0t$v9((Et`+fM0(O|jhLTS~Ւ;Io=uj:8B7We_AQ#joɶoq8}зֻxL^ࡖ4̕#krC5Lz_j_N.h`ʁ= -DO0ק7t9Fc[G?sG]Sx|6I
I$$;|cOUӅcjGTWvTpy:eAOW4i?`)p!v߶z X#"I!ïLG,.~p1cIHA'Gr~ZMjT`ޯsIitjQh>Zt)`R$`H!<=.D.),
KKn-ePVz[,˨hq"8aG"|4GiZ" %- - aR}U3v>zmGPO`aśnAG R$ 0*@_ɹyPhMP=4eШZ$0 -G+|
nѿ/ -"*կNL܀,TArBD]y<-mөL< -Ǜ:>W -Y?ybE1'۟ec4ڱ GoZ.mP>2jef%O"{Bvx#|kSuѺ qSr6hQ-$s O0/`ɶhPa$>4!hbg%i(1X)m~Zy&tғ~T`@zIl5+WĵfX<hy`'\lSASE${{y.'S1G --;ʛ#J|j*fY\]$}=#E8Qqp -(.%#E\88"˝TG5bpjթ;zX; -*㭗oA$o5,64Sz97^`A-x:m\U<깰w|B<f`!Ԕ?2}\I@l3ƱZtwmzܠEoӥ1\iTMS}C}鄃xfMm
-ur(mbܟ̈
^&}ZrT_tFl&qaJ=u -\[mMkA^ywI'WJ?!Qfg
sojS:'L<ʦ[ոSh۰$K;>}.pͧxm6wXӮ~ڹK^EϜr?5?>KՒ7EB]-%-d7*H뉵Mj -xkRXʓ]CR-t8UHhpԯf8qy+T1]na
7,[fW5\͵ޠ2lCU1^>S8
쐧dAHek`OZFWUcm
!n V=tHIZep&!Ӓ4N?t~I;)dus[ϻC6_r~}^<V9B!wc+"HZ2RaOB+.x(wdv0Rtyi!m`oiF7~%V y53JND-aP5:=n̸&(Zĩ
۟ѦȢLVf KɄ}DIMzW6YTuةV[ZgQ3}Aeoc5k#}.:F]ye3R.륩LH? ˨Kz^T3g2yIRW@]uyFmQ_F5dv,(3[|=DBZ:̦I|&pDq>XTc1fj)Ps)C9B:`<˵u2d<O|ȅ}fbAe@}?{QC%1Bʳ}}znv/~Z-,y_t<M^i{ -'|b]R>q&.P4BUQ58h7"ݏQԣ+b-gPɃKdUIx<QVn]Ft47w*ǶDoֻB~X2t *wM6yR`W<!6xiDrBbF:ǯťEui? =K_8fқ&An.p1Yqz$'15<re_+)T>^nwlҤEQ@c~qU&HӴC+0mꊴA-x>oN'
|f!-KPgyY@<@ѕW{(1҇Z,Jsb[ufd5Г8uf+^##⻒x8_k{)tˍr -mXf$wY2N˕b<>0{<7afrko10_[
Jn4ȮZV\Ka2LlP߫- v7Cb2ȴҍ=
YZf;$ؕ(јaE6B=swźg//Y<!u8b|F*ݛ|@{XfU/Omb<tHb"ϊ>*`5B-| ʩ0an^>"c(ne,:!3"̅j1_1I!gL$[9qTB=1bi!t(c~B,DS]." -|=72+[DQUaǢN:I!K@)PtN>FSJj6|vZp'&`h\Ad{焲tT56;}iI)uvU 64퐿;rq)EA@ZM!$Ζǭ_"H;(c{'GږOۉ(Iڭ%4Q? -fC~L[J<A$%'3a:petDc
<x*DQ?/gӖK u0V(
:dT<
ǖsROr@el1>eet4*>Z-'bp&&uGw -0g̀52}An틡UM28=d:o։ȖuvHE9(mZIiRD_UE&_EJn*Zf*ꃑA])uylM_lh~gܕ
ib<yV,{5B4Et3uy{OrZƱˌOg -tS#S
B7v5%;c|A[ۼsU`tx,@P'<sG䦻"Vtŷ_/D^3whȺ8m -艞0vpSGx{f+rεq~t۳cFu"6JQhKT.G/+CIX_'!% &\W)`0BNݎv#Gv7t~TwVUlK,d@W;F>q\pI狼,d'DkL2&2gg-rPk[3y~T!2$\-ոN@y,36&kVT_zO0 ART+dԼ,;R\41)crsľ2 -x}u)@FnhA.W`B5sw@{~k,b}"f -2vQ2FK.$uuTpY -hX9WNuF.u;-`nJA\,ʘV{o>?7g-=Xxټ6 %k8D -Ý|!!K(7'?c<P9/9Y -XF= bm~0qM<bW!2& /0{7qn4yDeXQCb'K7(=>'$>݄͆"2w-0n
Gx -=acIAᆹ4-e#NB - (D=Ǯ5yc2 8!5(GhρJۅTȇ^3[IsDS?+ox|gr'B'.jsrќД5+c2mXRdVYI) n{u'i/1zNdH)N)Z5ªת -P Pرmw'f}&*zri<Z6JɛHbmy -[cEz4o''+gV:zZO2MzX VPJ&d%t$)11W֮M>뚠9HB{>,Z< -PzIۄvPI37b<)|}\IJ4164*cR`;=o&rɯZd^>S/eDS -4itىw{(L|_\\-pߋ^,.':Zډn;^CrhnpjnP^ڹe -;7R
KSd9GY0HĥU..k/ Xtpȗ nڜ-]u)q5U5rbWN[2\X5tU.3H0iqˀh;JqvtLjy]yF_!r* )y1m_SyxæP[y7|Xxi# -17 -^iQ)Ar?|eऔHtK"|MA -,z99OxsKK]Q9f+E"5&?z.yvtiI}Lx)GŅ$y[GJS%z~'d'4P5X/Z?qv -$较kYpZL`f<l9-04"B +IjF"rm2c:cQ=ĆG>P|i@/CF1,LO7Kw~j*'útOJGL,hXb:j%>*&nlu7l.1V#HYD&hIȯy {L``pWszC`)TH&.cHk;Ǹrl(nh -؈_i$(G%+T-M0KvcY~7Qbƅ4npKH*nTzߋ4)]&ahH*0:" P||H4$#ZBd!m wW,Q3
]D*n5yq -F\X;P[qyw#[_Y\Aopp?F -}AƬ0WߨW@ZҤֵdyhq[3o/}et /M)豷0B}he8t[>f@U>^QEl:)iSA>]].t?+?dJooϚ?;͌LތF_pnL dd%`-e -t^3XmtᝆB9_zُB8wt5 #| Si?1P͟K4[%c4IvBU~ EJ>쫆 fW&b:ov"@`5${!3:j//?L,֪G>Z)^Gآ_M##F/M6WXs`D̩^#="q߱,uKSXcg#ƙ1=u_mcᦸSָ8 -V6JZa6sItx3Z^Jgi -r+{ZEQ -(v%s+-uyͅ)kDžNpYdw9i*e#ki˕bkuUjPœZ[m B&ʪ;wvZ`+SAs~oqCHW -IZMUv4Ԝ1?oM-|)h~(ҟC''\*Df$yFSm{xAkOI0y"~glTu|ccc_C.aXeswC;KniS&j!-+d@Z<@eyV[K̗ǀg\CfF5`t;IMkox9Rـ'0إ6P?{hN-gx=l*{!^֯ӟ_v0M), 0y[(FZ*,B}B_)?NsrU.Z6Ϛ/H7-;6]0"#u5]`Q?cj(ړ5rK6.NJRE[(LsQ&:9~Nϥ{4sIAO]kيm>UVg - -HThEC-DE][m8N'2xRZW7۴ȩePɺmݲB5LVV߾"*@S[n2'vXz!sT8ڀ?hf3j5'Q݀(ׄr.P -v9d1y=Eϔ -:BA+[->bAqke)|LB}03K=c~a{[жgpΝSMVoD%!m'dWg -}>DiB4L&D@Dj@C-G*V\M1^qlj] -b|[H`MWYkTbD;zLiMPk;D8o¹0f&m]J*˃M8k<\2QeoOXɄCł8rrq$3[6BB n_ P
gӆX_9_1aDE -%wK"'bOGbvUȔqqMP8Ⱦ+o:&8*t7'f B(ysIl|h_A|9dnt7L.Noч9uh%ɋU`&z< OM&?G[Yxyp|{I̋7E,Xx KN"JZ"LU -{G|ŨÃ@K -$NqM=8f[YR$GLDQO&BRS'7ݯX*DٓLtp#AѾnLs,[5M*2^`&}͆7_e9XU~Ѷ0xw-baY'$C2R5 j7,Sp_N I8{ud+:=/ü]OkV窞<顰e>R.繚CVdeNkqA~Sёc9^R&ښjR0WSfKK0?&dec4,dḢmsNWKae? ּ<tB,μM -lpn~f;ċ -`ŝdBSxV1O;,fT@ R'cO[{(xH1]Ge;+?t꺂a%v=B1pu\Dz -UjZpP5ffOYbj]ꃵ~˓0+@2mVTM̝
*:52if:L -nPnYiRpkl]KQ)ogqD`L-~
IV|pCH8qiLZwox=xxWK훧9)!H3@vd#K5JܺCFA0R -ڄY fV1!
-TN `7!RꝞrB7\-Ϸ)xag܁ -M8eQ!OāʟA8DH9 -%XɚaVys~ԩ-@hhᨅ*[x}Xx|Lה`+̸-fIb D-[C{I_]qZu.嫷$VR8q(ey[kGVBW|Z<+X6vGQ/:[TV@5{. -2RWFճ?="6V8S~V0-#v3@Yz -JBTdTk4vWcXL*|h~P3Ĝ&\hp}hrjKuf۪
XG3HSzܒŃIѡoA'2?2Av+i;y"a+|O6~"d"K}s -Ϧ?T쎹gW3AU(m<CkSj7{eww:ý}yHq߇.MPCe~S1@F$OC4P0}H>]i~iM;LD zVsȫ)$@cf3#pUB=/0|#Q'&[AԊ*ZI!ufwmcpw'N/w7^ -ܹ>SR9{!8ɧM˸HVeM]9wt$Gh9N%~Tϼ|Sp%$UFMrtr|R -SѮI}/Գ1wA^Ah͋Փ/0B5ۘs+!Ӏ'&Z/yZ:dpuē:YBQBG+"fMDMgY\*5p!tO]QvLٖud(%iGƧmc yDuZ$! -eU - 'R3
_RTD!ܹ(\=[J]V+WV5/j+<@ﰂOaq-N3sk7eOp/'ao'}ԛ}Q<%f -C_F8<tލѴ8Ȥp被ł:yBVs;LQYtߐ'XNszxdXD -l%R\2$+o}|4kD$C?Vb.Ǚthv#5FYI-GH/^EtFS ؾdCjӭ`@
3/V5scpے2t)49lc])Սg 9}Ń÷=:a?RZ۱BtUe:|6b[a{&W[s4/ό|H! -]Qn$GRj"kMIoĴ-EGGZ -˄7V.Ӂu؆Ӿ*\^ÂZ=J3 "- -4㧛"\Zm_x9ea{'7Ll_4a%B`:S+ 0mh+13
G_AlV<{r7W7kjy
QI&51<V ->I2Cpd/йwĘrwR~L9^H=><tGEǃ\V/KOX= cZH2[6bz!RMdb@^azS}5\s/@jUdHS:T?lN'dS}$jEds58LJd8.v9Y^i0ƪ"Di,qOb3?bZ2ݾ*{haQqKT湺x_T;4aNg1X#s.˵.O~%dds1n}k ݅m%5TR{R]`e)xDi:gBF7ֺ5h0D 1l)$@J>!puKyx -õӏEU9n$0gFdL
Ys٩)kzϿVdfDoNV'Ua|PG<b1 -Yp/nKp#Ub_]RPnMX]OcUL=qd:f)ڌKbw4mиGvE&pd
-<Zm83uˆ)mIiZΓ94J3Rv&Mf+o'/!˂Llaʔr@ǟq58SeNZ|c$. -o:ieiRng?hgRK lv됯19 -D~hgX$,p&ƅ1(bS!k
jBR+
yb#Vb7γRj<aA6\anb]!ɓnHY3;TL D }R6'F vz"]Ԯ2(i
_2Rc6صeL_ 2r,Ɏn5u0:QtY poG1dFa#nf9)>d(+,_'Ǝ-\=k6lU߈lQW:ϼ 0|qvTI?]:Uc4
z>aIBQVs,s!IM>p)C˧y:0.tvb=j(7QwRӿ?:n^PXDŏtn\<4Vab(lgAB@?քCkJm TEFIHEa)m)XTvٝ$A"xH芰.4M<w*ƙ퍴Yp*JZ.]=`̐!C1r\JhF VM -72AySY=Y7}8«01 A/;)n-r -4 8MxtØA\- -1o]|R
-[$:j>ة!l -2a:T3!sq8#"q1°p}So7'; ` jv -< -;5kw9$<baHܺ(TfeҔX6F/!tx- M5'J(.#TbyQ2 -d8&xTYZ w}Hp&",ѪhoGł#彁s -['ڄUYRJXB^d~ +qW֒uKzFp H~M
r靭֔_swI'[ vsoy&&L}!Tpv)n]8"8=T'3m_:qّz̎ylf])cYח+BjW7I%A:p^ AW0G"&@ -NU -endstream -endobj -675 0 obj -<< -/Type /FontDescriptor -/FontName /NRDUGX+LMMonoLt10-BoldOblique -/Flags 4 -/FontBBox [-480 -308 789 1039] -/Ascent 600 -/CapHeight 600 -/Descent -217 -/ItalicAngle -9 -/StemV 83 -/XHeight 431 -/CharSet (/A/C/D/E/M/N/O/S/a/b/c/d/e/f/i/l/m/n/o/p/q/r/s/t/u/v/w/x/y) -/FontFile 674 0 R ->> -endobj -676 0 obj +722 0 obj << /Length1 3129 /Length2 31673 @@ -4921,7 +5453,7 @@ zC;6TH
l0ނ.0ƮI=jlk?3phEn<~&n)6JP r0$AZ49<\{Ƨ[okKy(5͐׀LZ̤:sy0[8$%]w焙|jBC@T.H!0-!ek{y·W\,0}(̍D endstream endobj -677 0 obj +723 0 obj << /Type /FontDescriptor /FontName /QKESYS+LMMono10-Regular @@ -4934,129 +5466,156 @@ endobj /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/Y/a/ampersand/asciitilde/asterisk/at/atilde/b/backslash/braceleft/braceright/bracketleft/bracketright/c/ccedilla/colon/comma/d/e/eacute/eight/equal/f/five/four/g/greater/h/hyphen/i/iacute/j/k/l/less/m/n/nine/o/ocircumflex/odieresis/one/otilde/p/parenleft/parenright/percent/period/plus/q/question/quotesingle.ts1/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) -/FontFile 676 0 R +/FontFile 722 0 R >> endobj -678 0 obj +724 0 obj << -/Length1 2322 -/Length2 28265 +/Length1 2472 +/Length2 30196 /Length3 0 -/Length 29588 +/Length 31562 /Filter /FlateDecode >> stream -xڴePڲk
l%A[p r{{) -6_z -JR%UFa;#3#+@N^Nh¨2s:ؘXX8()EA@g;[13lP4v~`aEHlAJ@Th%;'gF#ӻdkfa}wp03wO?"L -PiUUT*JLU]$@LXAM -jrg(o[&gw翬{En -z@r --/*e:ԒIZ2AA,o(?NNO7%D2u5jDYh+K".<)_EF{ []1ٖFP=~axCL%+o[͇v+cmrp_D$Xw~{ /vЧix\T @b(Q9%(6BU7*ܩ *}Pn -*1gOp'z6eVzSa45*)~_~)vgZzTpq taf$XNVzS zlh)#{:dpR#cls( -HzʹVeHi~Lݯ_zI#cw46l=Cʪ8iښc|Yw@E&
rO?Oܟ4aM-9K~^xKo>~'m="/v@_6r͌.S!Rca.O|) . !"Tbg%e";^uϱ;ҢFѻ6Ski2n] [U",Z.Kjre%+1OR=:^yIE/Ƴ0_Ny2ZgkVm34CjAb9-}QC 1s^$[7[G$s ތ!09jmvʻ,Hb]M|k?qFjur٦[F1f -*KL2ʣкgWJƮ݅)ة!JsZfP䖟@tXrڏ+7鬞5.H[k:Lw -ȋ?TG|iZV,7B&.[</lb61d#ԽQӜ͘]U:I6->EH7W5 -}"UǢ7܆7Oڤ(&%ibGm]^ J;xSڢ!JQ*`m0[`pf`Rp.S<=!)~%Ν_sn"uB8©܄-nV2y"AGWeQh\9:3 fqn+"Lk#vcp v<?ܫz? I+#/߳ʿ5Jyω{d]<lFӹ2G,ӷ::hm_*Pxjb2GXAYf2?>$DhW;7(ܮ/ qNLs%Ij -NMCHL"[#q-QatqQ?n/:"U(PcȜOB^3ؕf*_dH!y9fjAK4-4ofc>.ۆqDijOI(RçŶpҹΏs'$gEPa;cÔ
Ko4N?ٺ*IpB~: gu` C&|ĦtJ#tUQkgS0gS4V\rSx=5QDiE{:_}&Ԅ-[,N%ǵ6bG:gHTlox[WxD#>r$SS-E^RfMyI|s --л6OӵRdT(r8AF|hɉx0B(mXMl$zhK1bǶCIe4jeʥkÃCqGGy|C) x0@whbh -ףKŇaˇNƉ^(KՕ)*J@cZ湻}_qȾ܋ -5\JB'"ĹWϫUKnS3 TJ"]=0 8'\-}pIڼX
qǔa<>=Obn喟{&)\)]!CX\ˁΠ->
tMK8mvom -IX`&Ipp7:{یM0TBVC\dѻB2`W*!l}o=pXwi-6E- $a{pS!BJY -w_%vᕙ? szMYX0P-:>6u"emxx.&ւ>rطbZH;s/!kCsOt H@ak
TgW^tY.7j,s$G%% -.Sk' *&LC.Vq|曶\.} mYW|*A=fZd0 -f=6LI/7"Q6hS^kKx+noOxH&Zhs<P|g}
I$|Ro V -x&_Nct3<h?YӐGf5ZB!ap1ҠkZ93 -z(6le EykT- -^8Q,ۨOmK-}q`k9( -{&# -Ղdg}7ɸR#tX3]*mՃ -a7[}NXu7BqQLT3栥2Äz*U:7^);S{rp8?Sl
~oM?opFJ/nO .kս%%̧WZDGa3vc-ug(m(4+9gbj0II]BaiCv:^ ? afCj&o[tG %1K f)ȢQ S-o$f9kHf!PdiC?:/Dx6@uw,Q@0Qc"$9Wqxh~͘LYc`o 1|L>
F贃Iv<ȇʃBg] aM|ƳPGzp3&H(|7n\sEL+joj -S+-~@~R)̉ivHiA7J)=A>5~f,j&dUlŹ\فeyY(~z"6r:bxJ@`[4/s?}`bpRߢխI!\I#G.o9EX`Hʴ#J_-8I[GZCN[bgo}+#2X$uqN#0X3peڵ[T)쏩Lc|9 xA2!7TghIW+LLn?/'ej{{Bź58lnT=0tScGXE0J?*Y~B#\Ϯ铰2kW J);\-c煷2RV`ϯv,i2
bPMiTo./BP_^cmTP[-"ŏa83q:([zMҩTs&'3 D]UrgCݩ]Q$fT
e $x׆ $W)%ANJz6谿Q -suDBc%M`9зnpi#B+1(dQUauW`5S!=Ԛ{rb%|51ԑL]Q^%OD/}+yigl7=3zfw-LR3w? *:PfGJUG%9;g<S''mۭ=Cp^ -jXf]6,.|}ml֫Pѡg2ŠkL*2n]3fVגR[Df,^ڵ e94ȹǧߕze{sP/Ͱ;Ɗ;jp1?Sw32C6
zyz<T& Q'Pj=RK>5-آc'1p}hGGuGĴni^mLY#ADp -[|[46O1ί+A`GtxuF9MriL7pOPlt5Vg"S#\OQ8\>[J#=/FKd=ym^\ޗmpOd)/U~Q_MŦϞSFYo~JF>JE[fU>|21
Z0{o)*o
9s}p6dlƵ( }Ĥ36$aјJ"nD*eȗZ7tT< -7V̵Nks -Ҭ%34Yυ}$Ȼ"
X,uvbh)qdDQn{J{bSWUc"U+#2]GJԚ/[!![hCpߗ@AB>0y(`bi+Y%eA#f-"G8F&uPﯣEw,)WHPvn
pG!SVv4"kX&h^F;X37}ux&sgj^5I@z'ݥPm8wGHwWXY5:jRjRv>Ǎ,šYNI\~"&ȩ-FU:ZI((Иʣޅ3+EIB?Vei
Z-O"P=':N0Q0<ͽi}[I"aLpq}16/v`!<9E3ߑsö^-^)Ṇ\~zdBM .K@XϟR˓w͵pV+7GSWm&{][WNxP0T<}Q*8:=;[|!$ؐɏb; 5kJt(i} OޢK¦RmEor:Cwn\3i6ډ<+ܦBEVaJ,@tHq{JDSUOZsasY,&
Jw.T:dBK=(Q`sFlS:pm̒<gPG'11<'Ѽ*}L4ſ|OJL3]+L]F|LJKL&ֵ]yS -GmG77ɀVM) -9MZ;L&l -]W=qJ[0gsMחǍ}}:_ɚdz-?SCjбpЛ-ZYẀ<O)hAUpmf]ˇ&an}J`D}apRȢImZߒ\ko?:,5;
{·WU]PP)^aQ}~IY[ӟ1'd7i
YHr<RiV -}h$Ч33`wKO_t6Z/BNK5OWn5#PLHFպ(ft{Q W}0O:LԸk*.\圦oIS܌1 j5y6=k%QS r=эj/tcͯ.s[+n)>,#_e}ߙBr!4kc8n%ij$Dγ-e$rnc>H6uoʷmp!EDj39/\.7`fUM7L -=/߷^U
^dl1u~DD|d},|Òioma %1sKy@mg%x"@WpƁUd1oKIޟ|3BWIe fR~I7U"a_t.P?D{g4/6.8.=/ <\^j|,xFіFմ\zs,9U\^6R-t?#>r)9ҝHj`%rn'8c0w`
ZpL|X]:f]G>W/Wggr #?xYQ:ʅQk`E5 -_] -ˠ$:D4{CflsFݐL EH%QߕMU a53#GYɈ'eѵEIQDQ?0틕kDGSMJ. -Ǖ)x'rV=JLL"˼"QЙsrFƵuR5Mݴw/@t@NF3=Q{аsẓ~xBkvė- v<iot-rqB -dxbн2֮5TRu!idYسhH7}(k˺<-cUMƣ -PW.+({p)y1 -bUO?ve!/R$.{zI#jNϣ=AI=Gte^J-kL8ٝD+2-Zwh7Tx~bYFjP?CO6ߑ2ѲA"<еOΕm֘
~=:\
l(.R*Z^}ȉԜԶc4J| y+0hv(*0pTOHk+Eh[ aþ^q˨I%b_E#IY -cTht"4щiB\jw|n^Aku[
Ɵkq^yLx)4M˥'Ǐ}-f7K+%w2(1b_-~{< ~(~#nGl3妩wJ$h "r"K^:/co>TQ0fD#?EƣMgB9Lu tr'0fy8(&.բ!1l/GQ;)ݙQͺ~ѿ.C?DXi:> -Tb)IJN~6yҽӘ(#xpYuxB+b6<iŃu'V0vm!Ək -u>+ZLj˪XXH̀6m٬uqHQZ.S̯rcf_0!6fMmdfB)JZ2|$2?QH[m -yB"Ӓb 0OCo${bUw$Uvm2`( -buc%<6'|Yw_FO u!' ;tO~aPe&1G -X(+FT@ ~R]2UKB>M5;`zD
U$):om60IGtr@"4VFêW4#ORjW)Y -]s6cǟ -c˜O$bpΗ7vֈt7jSP)qsqOOGLC:s[r)stbKF%|NAͼYb)[~nx`$m^Kc?E05|;16|0dLaH8jjK5{I4KAҹÞ}kG+d%Abdz W9+,wk,/j'\"_C "T4خ rG5>Jtt(. -X1w48ϟ̠L!`1);~ZDV"w"DMKirDnk؇s@1OM@ee
jws"{Sv:Imnm50o<.*AX.*ɪOyF`ǒlsڏ$=_Fi5<s -tinIScWGCpif$ťƓH9+3%c"#4B8IeV!0g;`U*eJH%2yZU\;0lۅ+ؤ9]xzc~@i{aA]H;BEh:kr1 ۇEL=Qde3AA^?Q'?F))sh躢6'AՀzíFkKCY-+D!jPT-pP #6ns(v9(?Cqq͕ -i CQ0|Lt~o5 -BV9Z@i
;
"6翃Id}ENt/oȖ]_w툕2{>{!!"$[69ZkTƪavsHKu/z33[/;}8V(<Q;5N -e-4#,w3;l!zzNBŭq' 32&ʴJ.aq 3ZuܿS(<ZTAo!ݾif[
r'I7uJ8$),|/5zΒi+ -kY@d؇FGcGJ)?=t
YE -1U//vaϴ5/4=gU+.5{O*KQvfuwApwd]V)rTȫGTr۔KEѺABlĺ?rӍWn7_"9^N+|v$;XѧӰK=@yuׇʢ
{9Ԫ1xWiN?:uc7.6@cyQua#8$NIp
'Sa -f/oimvhdG$ -a*t@BmڶM8y-^2o*~=cmT͍EDN -h9;Xz٭Ĺ"aH%η..1@j3ŝ?"+>kmߢ0DVՇ:q!P;Gt|
Iajc0@*r/x&ΙPiC:r5{(PӃ'IxuH2֒EUR>>@*|l M؊'ʯuo! <$
UXUp$["Fa|ZbZx_SNDLN}i;0vX:ORHN:0/cqid~wXcXӪ/8{5<\x;%=g'~!0蘜$.?qcOpZ@xi!{z -^nzONs~)$fu'\GUOIɹG92Q3͊mׯ"c%/྿гqW:jy6vELnG?jqA"Nd7.pp./з7/r<2\#%U.{cS~0DN?ʡ]&~y4,-dlI{5nmw8/־Jd|/SK\cr'i=Pr?CZ<m'wT¬5ZLpaoe.rŘU- xՔKR#_oNYFCad'${W -z4`; v(5x7yTVíR6{:4F>=4v`vŘZqk[rEVTѓ\-cCR1G4|`efA|BhBh.ζ-$""eqR:d2ӼRĘ+dz#U3? gN/Wc>◦XT0ŤJ\&ےUE"~ܖ]FiF6RR1CuM -T-1aRb^UvJX`Xm"0qfs:<yYxsq
qpl -}apNoQ̮/(HPJa1{ēUjRI8y\; -@>Op{; (0W!]Twi;F٬{'oBVsJ!Iv^Ot^5fҮ(-3HMJTNBB(ƉvN d*ʪB)7/η̩!l_<ͫr#mGfu>,x`Sm1{@]EZ<&C'k<P1zR)yX8}!A%g(d2>@=D
'r R*xv6K*e?42DwGBK6IT v
j
4~3;KK.C>m%'hI)JQx aV1PޤdG\i -EvY~nGFTN#1@^jeGzFվTRH1?G=Bђ G퍅^<ҊGwX22 -Nǡ$0C;qLS"dIi\-,AiUfSP7z4[7a8~\ -yt9iMLBq.S9N!cc.ǃԜ/ hʫ"Nwe`uwB+sD±+/E6盈@-A`{l=e_4~8TJOpbƲq^k'Z}8kXa`qws.7}@&I:7?!Ge*UIgZ{e|SCADBziR2ڝ]BKhN#x.ࣅY&Vux9#M*Sŧuk -%J¥/&d -)^x4uŅJ!ի鿒X1)e?65^1rtaS}: -i7{ah9T8{yO͞uVK)g:֦z)`{ҰF}o5cV.}bptެ$-ߨ4otz -1LE6MhCJ
49z5Ja;"M%=$*"k \Ȇ]f0Z4ˊT]cc]nQ1XF薅)(!Z)2eHMQ/[@?D%/\{l}Znr3ϴ.&KB0Wvc^U푓˟Ӫļ/9ĩW{uj?-zwےZ[bBgݽ^H7Yb,ls7&_
r'"k_4:,JlJBFDgRϗxsOvR?gJKkpV5ʾgf%;?|TVCAtޒW*1#Ds<FiFKNM.mx$[AI]|\Y/ {rĝmfO'u,coѯ%q$%&aCh1 -gi]Y)yIm}WTNj'_8m(A8,]ZT;MDW] -wgΧ7DjglFN|Z"Z}b:pAՆd&hY5||1V,=,!)^|Ȋk?hѵb
qmY0v^<ѧ~ -InW$zcQ*e -d/*Kv/*o;=2? BZoo}]Y'w -+~̄xdW_
IM1Zkj3t^ee!Jj~8{}IW0_sYh۴UNMWGe(lA -;2'!~Af4k@}hY1\_E'W -%Ԥv.rK?MU^f*7PtULYqы -< -T΄2>3Xިiq3\pϾ?Z5!FV%Pm#YO~?r&DU zL[ -UDrho+kv+jM"@b'#xpr|SsA~ʮ٘Oa?YoΈ|ajlk"#Q'X -/zo\/
n՝ŋW]<w@t1,|.<4?0z^ɳVLti!J'V -YXq -4\K3}&8Vf7~u]mGCէ=}lP pU+[|ʠ [-VGc/TM)bqc=8ՠ/4e]*loul0[ʰPC>?<^جtRrBXv<PX$ɣ-5>,-Zιn~%sOOK}&%vJϼ܂8#'Mp4N,c&+R[=YEBM2@q$\z}wzl\ܧlDu fp{H%ۧUTnP~k^چTOѱ(%ZA4siCYf䎞w^QVsj
$v0w2r_I)ntvK$kD2C`H=~FeӟЈ -,=B8؝E0 -Ic&ND&Te4c4=M^
3]Q.IN2Rx|y#5h69p0DzB5O&
/̣w@?Z.)>)i]QN4irVn~ܙ&8Şk!e -"H8rFQ[-fJPoo#V5#$Og9$6712.Prz7̄Q -(Cb~Mr'uŖ@=<+E/ wJ%%cַ#)xZrex9K(x|ZS6%=cWhٰ
yEEuoZ4mzZZz
6<m±C
R~ -/kOn]MV6&A+XSrAgow5I7ܰO؆\=MJބ0Ua$5L@b7CEPO4} -g$,^n+]3 -Vw%έGQwlRQg~1dq6_i꜑_(+[5Z -O0九{%4~ZJdKjƔZQkqSV5Q 5]04ߙ4EJ7v*m0[E0ǀ*jԲo';44]m -7DZRf#@7#.
6M1\B־*fLUS)$E1_(:Xiͨ%#/+7뵌 d*"lѽk_$R
~c|M&<I"|@CN0$hˌ$xZVy[PlHq_}u kp7KsNKCFUqŌ܀\;|j-qHuDYK^vA[uP
c,8Ew wJ|4;[sT=J(̈J9÷V&2+m|ˌ+MbS؊*tτ2=IQ]{ƶ-l:i#3RQ&N7R݈;A$s%L{t -'bt1h`^e;7`hlTӨWuf$퀴oq2WZ,*ޛϖLӚX5 6554,E?nk_C6\vd4Wedio'kEE~ -1N.,DFUj2oF<{PV]gQxV%HVHf];\s>PyopT -Sޅ=wb>&gO?坾m@ (t#Pӊӛ22Z^ؚRъa]|xKL0/ -cԚMy40E{.{=wX]Ygw~߹Axu٤H$b$6Unp5SvEg->"a1bS0t{8"xbAo+.NMpM鑖ʬ*7TjP{?}vTM999D5 u~BgRP6e=lze3'Sq+j-1tdrE9fހ)ʩh?iu<{zY.}[* JK
7$cEM!gY -pXhJ_ ay. QQRiNz)9@5GX
} kYxށURX&`UP9\.G,$c* - 1^oeogdA|0j5;#<o9ƍH3ՙE}љlUT2$v
ԏ,}]'mAe N'P
Fӊ!?^e+%t (Z%+Q\=k~O:I?6"8!tj=(.TWh|ph4 [ -Sԑѥ<".cse*tIЗ\VbLp\P-ę|?f!$KW(^;}};Vm?r MWNyzKJJF1R5fuA>1ú|Ӝ*FG)eq;-th!<f¸e_-*K}uaޗ]HtręeC^pn10ihGG7.ZԽ9IG|۾E{K;cє02uk6:/ -֕0#.LS'ElKШZe7Tyoq9|RcɦF_4ȦreGvː/+H:)Hit^֓~iq|BѤi(D=@r8IOV~F5ge<8492@d|@'H=P#
@c~v7nfmB%\Um'F:d:Eۧ˺wL 4I0Eo͑>gvt%ɽt'\nsl×*(nzlO^8 Yqrc#ΆUdgwJ،lmF7
'{mڑK|n. HdWo;|1Ò /L(<,s)ٽ#2/t́cbN}J!B4o$5mڃ34e
pqݹ%Y,[7ӯ~IQ>2;-tҒn` [{rn| J>+3
N@Ug wNL]l!G]^L^)!sp:kV|bY$RQ*ܰ,T1v.6/ͩ\
?D[;<_&sw;$=-}OԀF7RI6FfbOS$m$ձoW.ONai4B?.LA֭ 4-QުؑW(ϞJJNPo'٫8FG֓ 5L߰\)J'W*`Σ*H<ϣdG -X)cMƶp*ɥ_0oW]P{95Asiӏ4M+7)=oR!' 7;hFNSԃr18m!Q>ĄPӴMX` Cf|5*]ɽ힣UCb߬Z'Fc4AW4o+6)b"R_g-`IWȹ#;zҮGz%]tk>"*+":nu2M2(r&0Z:5<4Z*wJ)?Wļ&`tnoA?E,}L7!nTqJYʢD=6^=|5P7H/"LUĿ|T9nscџb?daBiD$; }%|5w냓Wܧl)tEi.}ތX5; eFU$h0n9Π**Pcor7EBpNbڳcF_Dae3gVYQE-Id'm[ ղ!=qkhj=┅1d0cLz!=YhxU0!f4
Һ{!8PO%'wZ5SLU9Est rj rC -&2g㪂$@Ib&IM?? +xڴeTZӸwow`!]
,'Xs9g-4_WkfAG&ejwٸ9jj WmgKMhlfE +holp +Rב +:~ +d +pt +#3 cG*֪P'Iјo|ئZCxG)͋vy- )""Ls$Čχ6|`|UϏxhVo$ 'sl
kDrG:F«aY`?ox{J`)1\A#b"52cupUTEGyF:&s0o*Rx'*䕡i/i=k`*bƖzW|lA^#?ҼE(ۄo/umZ}.?quq!1H
+|XjܦX=w|??o3:Ԯ)rpG<hZzPeI&#r-Ui-p ^9;y̔=|LN<pxq,3u"o'xv1𠨼CkA=Qw*M!(oz5"
~ +TP
3|]ėCzB?Ib.dAW\ΟRHB76VlIyFbx@ajiʳEɁ`OlTt +8TvL~3, <>+Ft.xHBA7+dD9;;k)z43|xOnsa)&B8Wi\TZg +5X_ߎܢ@9UtH/NjM&T +6O*hgu5MmP*gB}e;`}"&3NaB@+vZQxz(zwbk<!T q̷LH"NG),/&2[_棿{u9pp||&Q+(wCr<QǒfQPcX$dya:D-=MqIGWqn={4>-iN0$jEyUGFNZE-wl68$Q폮4IivZPaRT="Ћ_W<ݘl-3^~ځ],}ڴIf'Ϡ"ӑyL0UX<.tއfqVv6Yn$>5%Y-__לr~SdFԫP6)E"olXa֕F5>{g?}yoY}2HN^cmu&o>\g27 +v.d
SN4ó;moh8igWC2zcASД&'J<$>|D-O*]lre3m +fOM=MQ=?>Xm)dcJ܅QL2O#Q.nٱLo89qc[tVu鸍ZBvbB_^k2}~
R`%IBV~ lkn vR!8G_˓TZMt|CヤK>
9Dv쥱w,3tsL&ҳ:=v"t$G~~`S^"URlmCjX)G}CPE="%2b몫)5zs8yo+x_zUAĝVHOl_9`[sx#8Ɍ,'P]w6>dᓳ7-<bܻG"z A~ \
f4&Ȟ/`S,u!\«YS1j_oE9Eф(zk?1s!,LPX4\DKtʦKXQ ++Xzy"1( kRv`lMN ِV[=I\lմ@7Aa<̥)8HMK_}pՠ؎NR'>i9fZlyQ<3QXsqΑA($16>|L5nBQ0}
rYW:BmFJKNZ;-ǏqZӫx$O#cXNr9O-܋Jnʶ~2[D{iOnd߬؍OVZEyeIx227D"}\<ۘFde9NI\9`s8 +lGaӂx8>mIOm?W6omQ Zk64Yw8<참;6[wNkY,5OMbFRs"֍pfF,|/`=c3}V1yV׆B|"72
\zf˒:Ky3F.h\R˸b2IQKUwkбF-IIem*OVLM6b}uz8qIoN(ꁜעK~à +l_+;㓺y.s^4/羳8F7Ep$o) SR0- ْJ=wZ'n:')mXID RrkT$imi'ğxJ"W9c,e";HEu/5P)/Ç
vEң}l*z#m~O0on z[`4u@-K?|H,лHz]G4\H{hPhE%LTU'?xLn{q3A$%x\!Wp:OKF2jU@ޖpGOWV(ɬ7>Ght
Xo)4{
RDŽw0!V=;DtϞM +U/y2QtB4ͺWĺ/>]5d/`lp:c&HwbGWGTJ}:$5-yPmx
F3uw7wcDcVL)g2O7tV`y`OWk+:Z]R + fhd|: &}'h1M[suBp``2Z㔥\+>;4W9w56z(%r`նtsg)\*Y4ӄzEB-pFEp)vZ>k՛wSʔˊIvG̢pU~4 +*3 +gM?% +|hlAbkQ'vHZϺ6h G4ȗ&O$7j^FݵދwF!>:XڏfNbnplzSyaI9ٸ%[jh^
|_Yĺ4a[*Gcr]qRI,u%xXnuQX\{l1VY鬻35&Cfפl4S/L W66,'YWEBq
%^ +i,iH_|9S彆r\:6JE
Qwxlbmܥ{Gv@jKhS47[eW\-ȰZa <RFl7\;'ǵ&^WzҕjȀFl,#wO3& ¸՝)id.jNYNz҃j%2vPQ0v#m41g.\`VGo<6_wϲb$o/Rꯁlo"319/|4\
;_9m;wur̫4k-bSruoh&Hèp.P:?!>,0y-'Eh5#y,{yFv'l+HőӹB;yrT23:7X9TX|&ٯ<Z`+㹠Fg>eMw9.LݚƛtdYc`+iylTW`c{鶛txXUav`]9r\2.a-:W< +_?E8#w.fzXnyY:.FaldX! zjuF 3T|๚vL@E$+?oV[Э6K
qHk̯ΌRaT^3x]\O:N SsbeIT}H/Xk +SGgӺy@Xk)qҤmÀWL5
bw;|D.yB.'GwOP!D%6y;DnThmM&95uN:Q2,8':Z=Ν,y +ݗ@_,+kC`n:&nMKl'(@ +K)u;*7̰[4e3ᄅ(dYOW
[2j@0Ӎ=ϸb山r\kqgSXo̥N +RשWǞKm$k) iG)Mbauޔtq<Ǘ5')ˣB
Ԧ'1mΝ2%|T-PBn59*nB*WrlT&KJ.߰4tΧ!͙!-ҔJ6}`;t)>Q(J)ƥ@3βcec.Ԇjrvbm9-{JiyBrMUrD%,W={q$yie:(QN; +U#HAKR ˇ>?6|V'kiQ z7q!sػmRmm-U=*K|DϹZuM p7TPQKA,=o4Ȃ}뮃ߚĈ-N/L +җq0+̟anfQwy`J?
b1!
O["i>#<z>Gúzϓm-RyڧB{@,9 5E$"`*Z.]>VYx9P}$v1/݊f7 +v<¾Tl)Sc~N6O쫪#3R%dh>gtPp+"̊)k݇LLDKδO
ؼ>s$q偽ԯbKM{]j +o=-rPBSvrzSr#C
A5uO`JJa6^ 5DlUQ^PߺOO;OKI uj?LbwB۟˞{Ki EKyEڂA_q,tXA/fxo=̻_(n2lGP#B!=P.Uq?cv8<aPR~^{ ڛ%> $
Lu$A+@0㽭;)
lUy`={z+, +2Mp~w.mQVq_\5KM
I|k2F-,sܵa_CXH,9ճR?ygɼCm +kmq7L +,rh>ُ([qx ܷ=gD[qi]i<֤h/G[4U>eK?/or+'~/b+QeZ'1in:ij`1k<raJkX[g+ގ<dQlBGaxπ8as2ׯ v{ +3ShX+~0_K^J$Q)TKXkJ油1`to(A0/Ndt&HC:(4PK`- ,]3^kvS7M6r +!%v8drH|݈NSމ%IM GA7.dh6(/:pOUn#!@cBdlF<i$:`aٍO'Ӳu-B"|ML 1nrvKc\$4]"$ ;[u_7ͯ?%x3|bZ&$!cAO5n4@ylѤFQ!T;^|ݧs䧬o>" 3lHaWaЁc~1Λp8aOwm.HF{[Z*:[yBU/klfR#' +3bDվNx䝋A(N,ӽ7!&nl
C}xw]VMbam?< +oIԪXNm^]Tmeczu.1QMCZ~>:3ЭrH]4)gFJV=FaW]M5PI63EЬJfc\d8jωn0SLR+nam<FetO_ǂS:hPŔji4٥G߃ڜ~JAuLyVXro9U_5|'x.`ƌ4E3!8F7 -m<^3]^+XƲ^8,hCʇ@Ra~e,>nG/OlY&ՙ㬾V`9u%Mo/Obp5>e8֥핤u$\t
1FaO +eLMB#p`_57]ۤ{ym/ٰBef89i<Vo7(.mQ͐tl+Ne&3/խ㟂<mazGf|m7:9J,֕zЧTnW ugLdn훁^8~w1ԬU +5mWMI144sRzrdƎxD[^w|i*qj̅abw[.S˰IdpͻAڶҘҤʟ#0 n[5zR/By=8Fba}/i#+<K~aQ-84:+q"Z͔/ec/]M<->Ca|6QF6t1YNLP=t?^'W +,lƺ#eމTJd*ԊLxd>v~j8<諅x|s5Av$.xӲu+>;OUdWk(ߙNx"cO44+u_VdN=!f_,],8`SOǵ[7R?2!j0mLkk`#HJ(Y;;&nIOLKz)Eļ̵q8"hAb9DwNI,Kѯx Zvwi +_hJrҗN|Uz|LhݙHf5HCZ8-2Ѩ +P[ݻ6&)G?fO`@m}dJ;@+V,Ņ,a|ȥjȶXW!>B?Xb6ȕmKGW=\Ԭ-Bi@_HFs+' ?6^n{zl 5:`IٌX/WJJ:E1r$4 ֢+77d-Lca V>6\$BJnfp#U9ȯɁgGosXO-2S2S֥;FK&Yc@B}GwVZR㈓̱#PfƑ%FH|<3u99~9{՜K1(@XƭЀNJB +־W +D|ED46/T;?Ird:o4W
L\ &O2FIW^#fԇ# +fC\Lނ,kgrd+ս;UlȀ
o;ܑQ> 6(4ynw6%T\{Zc5PϓI#xK4:%ic(I^,ܒ<K>tz
g5R?c+Z +pΉ%잌eDѰ;i؇UO.PMsj{f '6~56ΖY*e(e, +ِ5M3ۅ)Zro}5feW.D;1F68W^I_zo텇XKd +<h*~/P;`i*mjɇyo~YcG^-Fw[jkl;w?fe^o,;R7+E3lfm\mFs.rI2B5Vrvn$E!5K6A$)wsvt +2I9uV{!k3-έgن.JzdG2FeVgиMQV9iT~떣ц>zIK"r;8GEiS\-sՉ<A,TD#Y'ih +]C̃.aJL5^o0`ͮëtYzplj]wW~#"bW:h}2xb1YKѧ;ۻ̽-|R$8?Ŗ,.YdT@˞7:^/r>Jl`q2T~2ڛ6} +Ǥ@!;qal}jݠ@mψг4t0㘥̍HfT` +R-Լ|@.B*Da+?~+^FGm=Nް\I)4SqgbȃL;O7N
xv9a)ONsZ?_xM +$ο۷Yy$X <Y/62`NvnR*4 !7֧K
!d'Buhu2,6B<Qn#J?"I.m8Mb~x_syֈ_(ˤPe]f71iGK?+^kСLFUE?VIV!ٌYP? +|4E|vkv9 +lZrB*T#&l{8Wv1c.TL ,{k@S#0$vņ)b{ôMhzBU5~Swa#³rKX"GiNٍBN6r((B +ospM?y:2 +!z~~(Nr
3D6q]2
}^Q7l;Wγ; +=92V%Ru.X!#) `FTO@(<1pQUFWدeY^ȿ3!tTߌ29SAAyy-hjajZBP9=$v`"7_$G`ĐV_gw"YC\žY7F/%cy\tfġtK=@GZf")ć0i2IPDž7G+S}:ku+1e_,׃BW(xr0G_dsZOWZ?{*yH"*tG4lېٖTT;7,{>_pNgCI`mbU3qcZril5?쭓}2 +WR:$,[O$juRL0*YOicɈ5'n
wl`,(?DU9"^ +[=tY+7qW6bUYB+q=ӫC)=vG8rROm\EtYKPoXh%)*rM>ꯜzEp06b#fdGY1Fdĵo[ࡱ.ʒGRA𨡹ri"f$Кyϱ +H`< 8),Zf&ُ:xmk{".m3mkb|y'cW;$yk#̇~R#M,>蘓tqlD*{dۮ5;^B֎7/!۞r?mjAr=qGKκ<EZx19WRǔQvs;~1TugK0M3$9ÿgMC9%4J=KA## +Ybv"5F/Jɝwl>SR*Hspߙv9j籑U%hV }.8(lHLE"C?03&@+ +H!&-$>]Lo7k}E_J=vG}1) +trTa[ѭ;6W$^lv)ۘ<| v|-Z1GѦey]ԋUщՏ®4?xW/,Jzh!J_*+<Я.Fr)S"2fUp4u]Aj.ebf +avꃩ$*^ +&Vp!>b偨n q)UU J18d2Qݬi!3|f]}ړןMzE:- +o PUMq.SW$ϐؖGcCc)Bp,-IhtIQfolu5"9x^qR{c?~4S9xn_얙ȫ8XJN]Y ?N{%ʰR Bl +,)aS^f睅
KƲ#LՌ^
cYo-`fBb#~h0aT=|]4e10#KMO%&۰w_
EZnY@Idz*ka0a!}NBoe>MFw5Wl"OG&އ7"6ͧd~fs1E&jN iWF
y'y/A> [)Lir!XM\mQ`~8``'@o[NNA\^a2dxnlye*%L_0LaӟS&rq<7Mؓx3mpz.'(̰-sNXvYYCF&HL]+ub±F>_Bn +cwHb7F!{aµٱG͑sࡌ2?D]҇TQw;#* "&uzmXa>xԟi_];1u" +Y'ٛu;JE6Y&fR3,*<^:pe덆9&QڕaQ\{Fd/'< +kX J ++`w!j;=c`J:sm(il߿\\CWU7c_T*97.HlaT=yq0!uDAU^*'S_SH4d/]s(w KaVAXI٦z5:λ=-vٿAՐt.đCOPCRЊon =E!"p ZZTs%c +di
03G"Bq2:NΈ]P\c* 2++:-}V2@Ҳ2).sN<zPZԘ&{NBء14c'ƮC\HY` +1Ƃ9 [ n./\1w}Tbn]ׂ<[<#/J +#ka,(mm;wm:F +6O>GeVubmT4ϧLO>u +nE/[ț +x'$- +=7c%M.ConYCEs?^71Y3(q~*ҍbW6un" +E{06F.\ b<e{֚p&g$AXrA(U諨,h!Y ,}(o.E`0(7GU绪4$_e{Q6ԣS<z(}lVxa=2$u`C((¹J/marn*h(k<gp5ן;m5ܘPk + +۠dfHv| #qMRhc8ZUX崣WvgMR%q"nODl`oXqtmy-6+QB-rK/@C|T8*e;UOy",89C[t
<1gR!s 1UyD˟5:~- Ո'Mv`Vdi
X1:rJ.KpڠtDQFaݤ(+.r(E +<BE`F0K'
P)rW;
,D>íqm=KE砣p% +m;.fp>XgdL,KλZdKƦuhitYJB{awhTXFH7WYOr5ɿ._I]yEEHɢS6yA|~@Ta!ޕg3YsҲ=J^/B{{q M7엮EXru>'UrvmhDCQgF 䚤s"/ñc$*]1zW)zݣNi7zk&
XDh !<(^O@E` +Gܩ +f=]h@8|n>Zx=dkْF|J^
~ۓ +%2<Yo03T6WĭZk
*}LIfɩkC0(ybz?71вρzq$Ͳi.λB$$/4/ꋥL~4Ǝ z5:Dr
@^א) Ӆ\ggk"ɴL&*Q#uIΧbǁz{9
n2PbJ`Vm7~;BҫIw)`( ة%R&-H0Yxxho1jd}Xd)˖?
qyj{@^*|qvX`OO]_WPϩ9z%t\0/r&ozd DsG{9n9 *2,Oao4 +3r}t3C>PNkܿ/:K6XLEeahnMk?1)Ǘ`s1GSgoRɐ%,m\
孎n|.t?4CA\%ABDpB웗<"54yDi_"y9
xPգʠuH{. o|hxV3*xԩ5Wh[\̍o e^ŝے:uo\ixj]1ʼn2Rt8!w&B8|h1@MAaa"/K}<EadFE?x@*B*&A"]騂 AHq +`05aR$[۞I`P3,"Gh|xhU^!Ǖe4w|>|5nYPB-4gM7x4@NQkm8[v
`
MA6r"
U8[6n
!Jҭ뽂E5*"eo1;]An'QײFcU0dkQHB +is3\!ޯ\]wq}CaKE w~T_1XHm;8* +u)Ǟ<GCh-i$xlNN\xNWYNzn.0S)K tNI.QB[쀲D_ !)Ax~!<ޅύxrU~yl*2e ){d.ǬD0謳JG4QIC)roъeh?E%xKEfA(%eiqR9DQ)$T/_dYvP&e"l^Q(g), +զ uDu +A)7i]zpP?.ω!7<',b܃6ӟvZa:b{fKQ熠 qTHr6sboF +AA V#>ކbb=_JWi!Q[,y+'XB +
<Ja[]GJ{ժ-R)HppOd3뀀`>!$<3Jh!ZM G f2-MZ)Qubr#,DEY +X1<U%jXOxht˕3EZ3N'H9F`@Guݚrx pP~hjɉM罧+v%[ +xթ^ 9aGfg31G_-13h%D{0U&E1ؓP2w +&wT>m!q]aOßkRٲ.3^i):ҮХzWShFw*yD!o,Y+S%eqUlGt&|0^l^^ڲ tF2Ta['q^\==9B5yM5I&@.֥oѣƺ̠y#r睾nﰀ+J<nŏppܑ߫KEk"?zAG۫:NDo`J:<c0 xTWF$C27'h Q)ސ)ᕚ&5w,[j3j0aՍċgAe`ݜ|zR Cc)ν#6ypc5ikT:0eR\HO} +N2yxZP\[m*/]1gm@{ +{4-Big}RR:RTRd[Zf~CU,B +?gT=PgH2C;JR\I[|QaIG͏)^#3nL@2e4E6/08&^ +O~@ryQh^>QCC! "Hxĵnv;MnF\{Wx`T"> +^7P`i~0!<iZ(ڤ)1JTWyj;\-/aBrr?nWj_<wҦC5TC"W +l)=4yd{g_*dT}'1X + Ab}XиB~]?1BA^uMخ|FN8fĩ!T'4\+d)RDPoXLwZbL-#vBfhʢ#( aRL;җ8'UBJ +`m`l`dx[9vW['n!-tt}{d/BqדI[lU/m?i%RV>KS"_LOE=V|Zuq䊪|e.v4Vk8T+{+6@^'8blk`[Tkg"MWfs__jfY{ZpU;@\{cyVt27s{5 +7MZ1o+0d_EcJ<ƾc)2wYDY{tn^!fNx[86+Ie$ +~ٔZ~WxxCOon=f/h=INQ],[f{(̓l&Ju3ʝWc#%lI?y8mx +[ssM"GNY(epHyNB9Vcƀ{_f<i:AQ Tg32,
Co?Sa}{WӝyePlG5b[iGw+ڦd~<ݤ+=ƉgRBCJ_K ^?PF.fo!c/ѦĪeE[Lj@@tGmׇw\r$X ꢚ?5̻!q+5/+dj`A4'钙ݘ)2ΧzO
T!~jrO%: 䫇/99n.$YDL4Qw*?vRoش*;mѦbP:P]W~HEb/<ZȈ
Յ]iCd^ݓ<M4 dFn;uE\vάIݥOsTo) +YCEC% +/ہP1k:4NlQu[(|8mo`aQQ4X$">͑ni<1w4Azz젔9FK?zȄ>3Xs*q==UJ`]*k4iK;*UTe9Z3,lh1Zi}JܿC+73>|4k@vp>]I"cfmgÇ&<Pxg#y +Sп[\D{Q(ϐM۫ v=Onahe[ĤV@VfڱR'nhs-!
Q&3Jz!Q8?1BGa'Qc!xs.D ϷWSUc:~P>9Qw!o"Lzv4);6sidfE2I١Zm`:4hd; +}"K**+\H'/tA
t!F.Cd
Ls>hdL}Cޤob!ZK|IҲb(~CSW5JyFQ<ՁkRJJ%4{βY4x`/1wgFQsp8$ޠgn'ͅᘸgIӪޤ+;Lzb8w +ayZ0?,E!ql}MJm`-1@^
Ot3Ruz&*se4t$pg,4T?9a%BǤpӟ,uKHFZHRӸAJx4Ǖ95rΪ/== 4ht7hxdE~1q'`*`V\/5ruΙ!ilЪGJIUT\;kE;tÙ5ʧw/K&3kM9%B-aFw傽l0t7Q3 v+;O.V1?9vZtRJ/O .$ZOA۔QxY1"iۘޝ:Q3{](T(p[.+l#Hy-+Ȝ=a.P$p*lR`(ӰzC}|aٹ]In9HtD6mxnXYAå'|o{̮>Q +?71mlR$!NGܳ0w$XU*L\H)!;/8=iA* a]TOG=$ +ɗPLWz25M +1a:s3""aM +L~z 3B;cOyd|$pҞdreZXualɥw|ߨ9k +MFYo̥89
V3uljph(ɟX}YXGe +0xavj}`<os!p,ˎ*zfEAe>c{SQaHoWtS +<ZR2%/9(!#ଓ4t:sz_]wۣK7_aҩEKf!v{(QpT +"0zcjʟ"Q .kcCk]s<XY.NڮT]Z~9չ*Z3YگԊO&k=SYvy78kVh[/Bg`LB!<V4̡R7Q.^Ve;T#2<u`U_r-%%}Gc6Ӓfw$㙆'rz㦱W!zBwe8ّ{i[ȩ|I:-|O7g}k`E^3[. +{OkS6>XK <(iGvtQjzE!4C%UaAi? +0,{^\y: ɖة1t?4UZtGc+oЗFz734o4.X +~ _U-oFMm<YJ|waħ)6Ti-+&#|^,/v)>| +unW'UNzV)u3S#]'&)^ȥ/vLH|'8ֿ7
3IK4la!-}=q +6ѩ%']9I_PowQZUs"Ό(?;B]'~bDM%D7doҐ? @ +[68y 'Ľb$W:.4 {W +<*Q>2F]aςm:Q'EC&3˕^w\T +KݝJx̠pXߧoRڈ~otmG2ɣc̕)0hu]Gb};pK?ANKFm9c-U]nu=ў!fi>ݞ"fLC<Ώ܄[Aw3IYP`fDFA)8U..:FmL 0]q)VygQ4*kUU\? gԻt]i#fw<يqz{\8@<n3:*bQmԈcS\ZӓÓ8?< +3N\Is`Ġk
iȇ endstream endobj -679 0 obj +725 0 obj << /Type /FontDescriptor -/FontName /TRWRZP+LMMonoSlant10-Regular +/FontName /WGLUZT+LMMonoSlant10-Regular /Flags 4 /FontBBox [-477 -316 786 1016] /Ascent 599 @@ -5065,41 +5624,35 @@ endobj /ItalicAngle -9 /StemV 69 /XHeight 431 -/CharSet (/A/B/C/J/L/P/R/T/Z/a/asterisk/b/braceleft/braceright/c/comma/d/e/f/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/q/r/s/t/u/v/w/x/y/z) -/FontFile 678 0 R +/CharSet (/A/B/C/D/E/J/L/M/N/O/P/R/S/T/U/Z/a/asterisk/b/braceleft/braceright/c/comma/d/e/eight/f/g/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/period/q/r/s/t/three/u/v/w/x/y/z) +/FontFile 724 0 R >> endobj -624 0 obj +662 0 obj << /Type /Encoding /Differences [16/quotedblleft/quotedblright 27/ff/fi/fl/ffi 33/exclam 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright/asciitilde 227/atilde 231/ccedilla 233/eacute 237/iacute 244/ocircumflex/otilde/odieresis] >> endobj -631 0 obj +670 0 obj << /Type /Encoding /Differences [34/epsilon 58/period] >> endobj -633 0 obj +672 0 obj << /Type /Encoding /Differences [1/periodcentered 104/angbracketleft/angbracketright] >> endobj -635 0 obj -<< -/Type /Encoding -/Differences [61/equal] ->> -endobj -627 0 obj +666 0 obj << /Type /Encoding -/Differences [39/quotesingle.ts1 136/bullet 158/openbullet] +/Differences [39/quotesingle.ts1 42/asteriskmath 136/bullet 158/openbullet] >> endobj -680 0 obj +726 0 obj << /Length 859 /Filter /FlateDecode @@ -5110,20 +5663,20 @@ xmUMo0WxNWHv[jWHL @UǾضߺItճ;סq )q4 5'G`~ӛ>Tg]8i/nTv<k0Yڲ1g3K`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ߬Lg3t3-gB|B|\3gg|2?z)BXIAup*^+&#sU-'H8q_u
A8{N Y6ާ=_8N endstream endobj -241 0 obj +243 0 obj << /Type /Font /Subtype /Type1 /BaseFont /LRBAHR+LMRoman10-Bold -/FontDescriptor 649 0 R +/FontDescriptor 689 0 R /FirstChar 65 /LastChar 116 -/Widths 645 0 R -/Encoding 624 0 R -/ToUnicode 680 0 R +/Widths 684 0 R +/Encoding 662 0 R +/ToUnicode 726 0 R >> endobj -681 0 obj +727 0 obj << /Length 859 /Filter /FlateDecode @@ -5136,20 +5689,69 @@ xmUMo0WxNWHv[jWHL @UǾضߺItճ;סq МQV1Կ'1t?ƺ9Y?ГrYs֟'g)43;YgD3\ib-z3zs,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3=L3z/gd ,gz)R؇O5[TTV*M2GZN(:pTjy0:q;~E衻mO1z'X endstream endobj -244 0 obj +246 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IRKPPV+LMRoman12-Bold -/FontDescriptor 651 0 R +/FontDescriptor 691 0 R /FirstChar 42 /LastChar 117 -/Widths 642 0 R -/Encoding 624 0 R -/ToUnicode 681 0 R +/Widths 681 0 R +/Encoding 662 0 R +/ToUnicode 727 0 R >> endobj -682 0 obj +728 0 obj +<< +/Length 861 +/Filter /FlateDecode +>> +stream +xuUMo0WxNWHjWHL @xyqo7nzr24nR~_o.םk];Ξ7UvO^uҺR^ws1Ҡ{O|X}+JӮZkfNT(qAT
4&T9ˈ~wo;mj'OtӇuî{UןwtXm}MNY/oGB;ݫZ/ԼOs&v.=W'Q&)H8@hc<kd>ReT\`^QqJƒXQh)5HK |6Zb.fh\e`bsN[sS9ӺuSr +endstream +endobj +294 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /HACGIG+LMRomanSlant10-Bold +/FontDescriptor 693 0 R +/FirstChar 46 +/LastChar 78 +/Widths 675 0 R +/Encoding 662 0 R +/ToUnicode 728 0 R +>> +endobj +729 0 obj +<< +/Length 860 +/Filter /FlateDecode +>> +stream +xuUn0+CW`$ȡMEDlɐCUAp9Qշ̶ËEZ=p7+oU54?k];͞84wV}uwOu½vgkМ?F/ʇ簢ğn<uC̭}[4s +"H'oGQ^10j,#m$oNgwwC\<7y֍]?wtZ|MÏߎN46Zw:n7nW,^e]L)/\]PG*X$D F @F@k} 89@FJuFF#`R0JRq
eF)kjBS`
F5(Z#.9Bkx>w{;E^ +kCX +8alSM3?rN%NbQDa
8^#h0\?I`\~MWc?qc.\X7ьO*ezl,dmY50ymȋ,aYʘ8
xAf_14g%cxU>ob쉬f9돱ncsO{(g1?\֟g Yg +9LsQ.(ug^/u?L[V|FV|oV|3[:3~!>CO!>S33>Y^ +?a!SMV,鸞:?8ÇqG湪N$ո\2}]/pD=tM*Fu2) +endstream +endobj +291 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /DFRNHW+LMRomanCaps10-Regular +/FontDescriptor 695 0 R +/FirstChar 40 +/LastChar 120 +/Widths 678 0 R +/Encoding 662 0 R +/ToUnicode 729 0 R +>> +endobj +730 0 obj << /Length 857 /Filter /FlateDecode @@ -5161,20 +5763,20 @@ N)$W?g^,ɝظYs{\wu4{S<.7զ7 55)FњSjR@J]!5<FSb"/!\,Ѹ8"\ 2:x0)ljsn
l9ux\רi"EܰpJM}4$x0.?1Yß8x!!aM4cnGym:C[1Flx
L^"K~2&NCC&^кY`YecO{"CgcY=9O('=g)YB|֙Bs:S|uF:#e~,٢+>G+>3qgegK+>c]+>O+>G|FV|~+>CѻV|B|ƺ~!>_Sϔ+>B|&LOrBG/}XTK5?)Nkx$sy儢 G5.[ s'~8ElUCjF endstream endobj -242 0 obj +244 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /PQDPHT+LMRoman10-Regular -/FontDescriptor 655 0 R +/BaseFont /OWCSLN+LMRoman10-Regular +/FontDescriptor 699 0 R /FirstChar 28 /LastChar 122 -/Widths 644 0 R -/Encoding 624 0 R -/ToUnicode 682 0 R +/Widths 683 0 R +/Encoding 662 0 R +/ToUnicode 730 0 R >> endobj -683 0 obj +731 0 obj << /Length 857 /Filter /FlateDecode @@ -5187,20 +5789,20 @@ kCX &+jRPC8I\U E'j\,@sGAC>Nwq8"٦:P endstream endobj -240 0 obj +241 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XLXVYF+LMRoman12-Regular -/FontDescriptor 657 0 R +/FontDescriptor 701 0 R /FirstChar 16 /LastChar 122 -/Widths 646 0 R -/Encoding 624 0 R -/ToUnicode 683 0 R +/Widths 686 0 R +/Encoding 662 0 R +/ToUnicode 731 0 R >> endobj -684 0 obj +732 0 obj << /Length 857 /Filter /FlateDecode @@ -5213,20 +5815,20 @@ kCX &+jRPC8I\U E'j\,@sGAC>Nwq8"٦:Yi endstream endobj -239 0 obj +240 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /YBMUOO+LMRoman17-Regular -/FontDescriptor 659 0 R +/BaseFont /JLVZZZ+LMRoman17-Regular +/FontDescriptor 703 0 R /FirstChar 40 /LastChar 120 -/Widths 647 0 R -/Encoding 624 0 R -/ToUnicode 684 0 R +/Widths 687 0 R +/Encoding 662 0 R +/ToUnicode 732 0 R >> endobj -685 0 obj +733 0 obj << /Length 856 /Filter /FlateDecode @@ -5236,20 +5838,46 @@ xmUn0CƆ N7RIU~<>O\7IrՓ?]]C{t}N=COZի~{ UΝ'mR~'
/@
U/1E)x2ZX]515(ln1"n۞dDv@~3D>i|'7aea|8<T(-P0~{5ƆUC珇uu棹5oE9p]n+I&H8@l:
ld`TYg``&*58`ԜR&4`4(pJ
RHijFhg1YbQ.gh\Uaar;ss`q endstream endobj -281 0 obj +293 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GHPVUA+LMRoman8-Regular -/FontDescriptor 661 0 R +/FontDescriptor 707 0 R /FirstChar 65 /LastChar 65 -/Widths 640 0 R -/Encoding 624 0 R -/ToUnicode 685 0 R +/Widths 676 0 R +/Encoding 662 0 R +/ToUnicode 733 0 R >> endobj -686 0 obj +734 0 obj +<< +/Length 858 +/Filter /FlateDecode +>> +stream +xmUMo0+J!
᫊"RVmk +N)$ݪ~<>l;YtՓ;
q\]UCs9|\itǡyvgu]nMߝo<y7K&½u'{0vF?4/yY/QEixN[EOv]ߎ"IB``BvYF%H~~?a`T'?y:&?M]/AjZ%ۃS +ilXY3t6no.XjR˺^o̙S^ww?U4H6!L@@B@q\s *<G`X +S*0ԄEkNQFJ]r +)q4 5'G`~ӛ>Tg]i/nTv<k0Yڲ1gk`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ߬Lg3t3-gB|B|\3gg|2?z)BXIAup*^+&#sU-'H8q|\e
A8}\Q,znS/S +endstream +endobj +578 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /GQWPMS+LMRoman10-Italic +/FontDescriptor 709 0 R +/FirstChar 104 +/LastChar 111 +/Widths 663 0 R +/Encoding 662 0 R +/ToUnicode 734 0 R +>> +endobj +735 0 obj << /Length 858 /Filter /FlateDecode @@ -5264,20 +5892,20 @@ N)$ݪ~<>l;YtՓ;
q\]UCs9|\itǡyvgu]nMߝo< МQV1Կ'1t?ƺ9Y?ГrYs֟'g)43;YgD3\ib-z3zs,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3=L3z/gd ,gz)R؇O5[TTV*M2GZN(:pTj8:qwY6ݧ=_I] endstream endobj -280 0 obj +292 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GKSZAX+LMRoman12-Italic -/FontDescriptor 663 0 R +/FontDescriptor 711 0 R /FirstChar 28 /LastChar 122 -/Widths 641 0 R -/Encoding 624 0 R -/ToUnicode 686 0 R +/Widths 677 0 R +/Encoding 662 0 R +/ToUnicode 735 0 R >> endobj -687 0 obj +736 0 obj << /Length 858 /Filter /FlateDecode @@ -5294,44 +5922,45 @@ N7R$ݪ~<>lۿYtՓиYs{ МQV1Կ'1t?ƺ9Y?ГrYs֟'g)43;YgD3\ib-z3zs,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3=L3z/gd ,gz)R؇O5[TTV*M2GZN(:pTj0:q;qE衻mO1zߔ endstream endobj -510 0 obj +549 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MQVNFO+LMSans12-Regular -/FontDescriptor 665 0 R +/FontDescriptor 713 0 R /FirstChar 28 /LastChar 117 -/Widths 625 0 R -/Encoding 624 0 R -/ToUnicode 687 0 R +/Widths 664 0 R +/Encoding 662 0 R +/ToUnicode 736 0 R >> endobj -688 0 obj +737 0 obj << -/Length 860 +/Length 861 /Filter /FlateDecode >> stream -xuUn0+CW`$ȡMEDlɐCUAp9Qշ̶EZ=߷uεf;8Ɲuy_w'wҺR^gk8#
|/ʇ簢ğn}w̭][G43sݾkQ^10jYF+Hgwv}\ C}?tptZ|MÏѩNN46[7ݫZԲWOs&┗]{O|,
MHS"#p -55)FњSjR@J]!5<FSb"/!\,Ѹ8"\ 2:x0)ljsn
l9ux\רi"EܰpJM/}4$x0.?1Yş81Bx.BÀh' -&+jwRPC8I\U E'j\.@sE
D>N}/SB=tM*Fu +xuUn0+CW`$ȡIEDlɐCu6Ap9QշĶM[؟McpuUӃsk/zfN꺼Ɠfn݅R^ws0h0N{|\}+Jqwwj}`ٵe@?c0MjzQu 2vלdDAm<}\MxHM0}Z7WuI]ǽBnz/_5N{y;:ذox\7nXw.kP^k3lsu_E07H6!L@@B@q\s *<G`X +S*0ԄEkNQFJ]r +q9pZ.qJ{&\
k(AIcL_S;^YH{upQF^odž1BЖEQ?1^׆ƨqА.yaf%+CsV2GYŘS&ƞjЙ??grCOe zYJ|֟uМ8gΈrY}Ŋъ1LkYҊXӊѻߊigngfg/>Cn!>_33/>?㓁EK!c?RMO +#SZ1|8Gxp4aj9DQ"hlj5uȢ͊cn endstream endobj -284 0 obj +295 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /YVSTKC+LMSans10-Oblique -/FontDescriptor 667 0 R +/BaseFont /PLHPYE+LMSans10-BoldOblique +/FontDescriptor 715 0 R /FirstChar 28 -/LastChar 122 -/Widths 637 0 R -/Encoding 624 0 R -/ToUnicode 688 0 R +/LastChar 121 +/Widths 674 0 R +/Encoding 662 0 R +/ToUnicode 737 0 R >> endobj -689 0 obj +738 0 obj << /Length 860 /Filter /FlateDecode @@ -5345,20 +5974,20 @@ kCX ?a!SMV,鸞:?8ÇqG湪N$ո\2}ν_R,zv.U5 endstream endobj -283 0 obj +520 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /NKKCJQ+LMSans12-Oblique -/FontDescriptor 669 0 R +/BaseFont /SCOWJH+LMSans12-Oblique +/FontDescriptor 717 0 R /FirstChar 28 -/LastChar 121 -/Widths 638 0 R -/Encoding 624 0 R -/ToUnicode 689 0 R +/LastChar 117 +/Widths 665 0 R +/Encoding 662 0 R +/ToUnicode 738 0 R >> endobj -690 0 obj +739 0 obj << /Length 859 /Filter /FlateDecode @@ -5371,44 +6000,20 @@ ilXY3t6n.XjR˺^o?͙S^vw?U4H6!L@@B@q\s * )q4 5'G`~ӛ>Tg]i/nTv<k0Yڲ1gk`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ߬Lg3t3-gB|B|\3gg|2?z)BXIAup*^+&#sU-'H8q_e
A8_Q,znS/_g endstream endobj -296 0 obj +310 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CENXFI+LMMonoLt10-Bold -/FontDescriptor 673 0 R +/FontDescriptor 721 0 R /FirstChar 66 /LastChar 120 -/Widths 630 0 R -/Encoding 624 0 R -/ToUnicode 690 0 R +/Widths 669 0 R +/Encoding 662 0 R +/ToUnicode 739 0 R >> endobj -691 0 obj -<< -/Length 861 -/Filter /FlateDecode ->> -stream -xuUMo0WxNWHJ+ML-$(~f&n=oo^zbM[ܩ7u{Z;8ڝuV|ɫ_Z7O*`u~N\3ο{?Fyi_0aE?pݝ2ZkXvm) 5%nw];* Uk2]AtvU\M<Λ`0nu8?{!Jj>oNMvt*amMߺqӸaӽ`Bz4g"Nyَܥ: ل0%1 "
0Z{q́0R0r0Qbkx+0*NXRK0j9F)u\c?ƾ_A,PXL#L3X,cW crn -q9pZ.qJ{&\
k(AIcLoS_S/w,:f~R
(#c^g!ch"ƨ/kC^d cRɸhZ039+ãbLcOd5cYus~C9돡'g ?%>O:ShYgwΈrYgDЇ>[bghX|&}igkgig݊og3z3|3ߊYX/gz -rg^@X"Rjb&'x>T#<8d0UPt"~4aW@tu:GdCxbP -endstream -endobj -442 0 obj -<< -/Type /Font -/Subtype /Type1 -/BaseFont /NRDUGX+LMMonoLt10-BoldOblique -/FontDescriptor 675 0 R -/FirstChar 65 -/LastChar 121 -/Widths 626 0 R -/Encoding 624 0 R -/ToUnicode 691 0 R ->> -endobj -692 0 obj +740 0 obj << /Length 858 /Filter /FlateDecode @@ -5421,20 +6026,20 @@ ilXYӷ|6nvo.XjR˺^k̙S^ww?U4H6!L@@B@q\s * )q4 5'G`~ӛ>Tg]i/nTv<k0Yڲ1gk`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ߬Lg3t3-gB|B|\3gg|2?z)BXIAup*^+&#sU-'H8q|\e
A8N Y6ݧ=_ߔ endstream endobj -282 0 obj +248 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QKESYS+LMMono10-Regular -/FontDescriptor 677 0 R +/FontDescriptor 723 0 R /FirstChar 37 /LastChar 246 -/Widths 639 0 R -/Encoding 624 0 R -/ToUnicode 692 0 R +/Widths 679 0 R +/Encoding 662 0 R +/ToUnicode 740 0 R >> endobj -693 0 obj +741 0 obj << /Length 860 /Filter /FlateDecode @@ -5445,20 +6050,20 @@ xuUn0+CW`$ȡMEDlɐCUAp9Qշ̶EZ=s7+ &+jwRPC8I\U E'j\.@sE
D>N}/SB=tM*Fu5$ endstream endobj -243 0 obj +245 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /TRWRZP+LMMonoSlant10-Regular -/FontDescriptor 679 0 R +/BaseFont /WGLUZT+LMMonoSlant10-Regular +/FontDescriptor 725 0 R /FirstChar 40 /LastChar 125 -/Widths 643 0 R -/Encoding 624 0 R -/ToUnicode 693 0 R +/Widths 682 0 R +/Encoding 662 0 R +/ToUnicode 741 0 R >> endobj -694 0 obj +742 0 obj << /Length 600 /Filter /FlateDecode @@ -5469,20 +6074,20 @@ xuTn@+fH@!BHMV{5@,lsw m6n냝g)>mW_Ni Mg:]fMR2IV;e8p<_9"*G(dS>sQ DDr "qX+&Gha:$r5PHi@S91jU|s(V8>l;JۈYDIaoykrA)ς1R;JS΄U!ar.Qsy4M纑9Ҍi~h7!cD<`1 ySMgg>2 cs(>ZC@ f
fP7Fo?],}/Kۺ=/mS7m'{LD endstream endobj -291 0 obj +301 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PTIFWQ+LMMathItalic12-Regular -/FontDescriptor 653 0 R +/FontDescriptor 697 0 R /FirstChar 34 /LastChar 58 -/Widths 632 0 R -/Encoding 631 0 R -/ToUnicode 694 0 R +/Widths 671 0 R +/Encoding 670 0 R +/ToUnicode 742 0 R >> endobj -695 0 obj +743 0 obj << /Length 790 /Filter /FlateDecode @@ -5494,45 +6099,44 @@ xuUMo0Wx
B 8An) +4bX*^cH`&f P;6 <9Bi2)LeTV.>HEW0*50^ sغ~${S$2ˀQ
lC]j{Q\8jFجA`Z1Fcf1ur=#1SƤx-
907O`aaeVrLӔhVjeyQ(
a0<x?hkSIc/ -ur^vҁ7#!}BzUaQRZa~JÃy1KNqHC4cmӹy
7]t"jy3Vч.OOy/ endstream endobj -290 0 obj +300 0 obj << /Type /Font /Subtype /Type1 /BaseFont /INGFEN+LMMathSymbols10-Regular -/FontDescriptor 671 0 R +/FontDescriptor 719 0 R /FirstChar 1 /LastChar 105 -/Widths 634 0 R -/Encoding 633 0 R -/ToUnicode 695 0 R +/Widths 673 0 R +/Encoding 672 0 R +/ToUnicode 743 0 R >> endobj -696 0 obj +744 0 obj << -/Length 976 +/Length 700 /Filter /FlateDecode >> stream -xmVMo8Wp҃k$P_@Mث#1Yd!~fIS`if
%毟+?Ώa~W8͗e1ir{cOOeY6wݴ?ixTN:!ZblkHA1(韰MZ覱h㔬EZ_=q=cոrG@wӜTZO4~I?1,Y~_Ǘ -h (%8Zێ'US:tHS 5"F"E#AW'Wkv5:VhCk
8cC!S猩Nɘra5jy{}7gb(=đ)c}a,
PVæzLsSÛC/z372sO
q:X`ֵ[.kzpRG5dIƜ~!/5h9~u -It쳆~gOgK#mc8rT`Ls6ǯgA}g0]˘ϘCg3[>)Y=%)dYN|Y@s:3%L)u:
*ggg|Lky{XӋѻߋggg/>Cn->_33/>Ǟ|n|ϳZ&k6h-an/F>h-OыDCm9h.۷q,K<4D~ -oq>"~t_^G +xuTMo0+J!m0U !mTto4j{z<?xҺ{s^7tr]u>v|tv ںQf|6'op݅uM{}ugfci"Amƃ}>,%rtPRJ(:X'Ab~oںT7huSӌ]Acq`sy̟M.n? D`އщ7+d~4Wj7vwVRŪ,ׁk/bxO0+,F )1<c8PÆ\6>!Pp #]QxQTv)#ZBYLt/X^r<1u%pr_d9٢PSi0@WQ_Uh֩h諵"qFM]RrCpt39Âж~j3Fezp888Q:1bc7~}Hq('bĄ>^m# &zd}4)` +"H,4%!%AQ߄B[B~)ҙ́ _)M?DM;豬;kyoQnNRd\Ӎ;WA} +zoZZgbT$Z|U endstream endobj -289 0 obj +242 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /XLXVYF+LMRoman12-Regular -/FontDescriptor 657 0 R -/FirstChar 61 -/LastChar 61 -/Widths 636 0 R -/Encoding 635 0 R -/ToUnicode 696 0 R +/BaseFont /OWCSLN+LMRoman10-Regular +/FontDescriptor 699 0 R +/FirstChar 42 +/LastChar 42 +/Widths 685 0 R +/Encoding 666 0 R +/ToUnicode 744 0 R >> endobj -697 0 obj +745 0 obj << /Length 700 /Filter /FlateDecode @@ -5544,20 +6148,45 @@ zoZZgbTU |_ endstream endobj -433 0 obj +406 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XLXVYF+LMRoman12-Regular -/FontDescriptor 657 0 R +/FontDescriptor 701 0 R /FirstChar 136 /LastChar 158 -/Widths 628 0 R -/Encoding 627 0 R -/ToUnicode 697 0 R +/Widths 667 0 R +/Encoding 666 0 R +/ToUnicode 745 0 R >> endobj -698 0 obj +746 0 obj +<< +/Length 698 +/Filter /FlateDecode +>> +stream +xmTMo0+J!m0U !mTto&)UcfvݛR;ew&ѵsÃxjFqmMیwiùvW$ޛv}ugfc3ACӵBK)}h;b%C0}Ex@iQ7x:zKFwܴ.XOcA*S_i7m~n{>:kQ/=xO MU]Ӯr}wJʵX:pmm.挷&~`e4%>Pxl +`ؐkaQ2 +d +]JH4:31K8pN9 +endstream +endobj +247 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /VUJSLN+LMRoman7-Regular +/FontDescriptor 705 0 R +/FirstChar 42 +/LastChar 42 +/Widths 680 0 R +/Encoding 666 0 R +/ToUnicode 746 0 R +>> +endobj +747 0 obj << /Length 701 /Filter /FlateDecode @@ -5567,145 +6196,161 @@ xuTn0+Cl m8(zu$:`K$Q4pufn}f)ɻ|tùA<]u6m;O\+$ޚv}qff8*h$iƃ}E>.>ttPRJ(:X/rߴu&^!3PZM5^F$o߇7V+1ؿһ`o7qIݞO!Znz/~N̿Z䄦buUWᴫ\k\r-Ve\[3sB
A
`ehHiJ}*>`! endstream endobj -304 0 obj +322 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QKESYS+LMMono10-Regular -/FontDescriptor 677 0 R +/FontDescriptor 723 0 R /FirstChar 39 /LastChar 39 -/Widths 629 0 R -/Encoding 627 0 R -/ToUnicode 698 0 R +/Widths 668 0 R +/Encoding 666 0 R +/ToUnicode 747 0 R >> endobj -245 0 obj +249 0 obj << /Type /Pages /Count 6 -/Parent 699 0 R -/Kids [177 0 R 276 0 R 286 0 R 293 0 R 298 0 R 306 0 R] +/Parent 748 0 R +/Kids [181 0 R 287 0 R 297 0 R 303 0 R 307 0 R 312 0 R] >> endobj -353 0 obj +328 0 obj << /Type /Pages /Count 6 -/Parent 699 0 R -/Kids [323 0 R 355 0 R 378 0 R 435 0 R 439 0 R 444 0 R] +/Parent 748 0 R +/Kids [316 0 R 330 0 R 342 0 R 373 0 R 408 0 R 453 0 R] >> endobj -482 0 obj +460 0 obj << /Type /Pages /Count 6 -/Parent 699 0 R -/Kids [471 0 R 486 0 R 520 0 R 547 0 R 580 0 R 602 0 R] +/Parent 748 0 R +/Kids [457 0 R 462 0 R 466 0 R 483 0 R 497 0 R 512 0 R] >> endobj -609 0 obj +553 0 obj << /Type /Pages -/Count 4 -/Parent 699 0 R -/Kids [606 0 R 611 0 R 617 0 R 621 0 R] +/Count 6 +/Parent 748 0 R +/Kids [545 0 R 555 0 R 599 0 R 606 0 R 629 0 R 636 0 R] >> endobj -699 0 obj +643 0 obj << /Type /Pages -/Count 22 -/Kids [245 0 R 353 0 R 482 0 R 609 0 R] +/Count 5 +/Parent 748 0 R +/Kids [640 0 R 645 0 R 651 0 R 655 0 R 659 0 R] >> endobj -700 0 obj +748 0 obj +<< +/Type /Pages +/Count 29 +/Kids [249 0 R 328 0 R 460 0 R 553 0 R 643 0 R] +>> +endobj +749 0 obj << /Type /Outlines /First 6 0 R -/Last 170 0 R +/Last 174 0 R /Count 13 >> endobj +178 0 obj +<< +/Title 179 0 R +/A 176 0 R +/Parent 174 0 R +>> +endobj 174 0 obj << /Title 175 0 R /A 172 0 R -/Parent 170 0 R +/Parent 749 0 R +/Prev 166 0 R +/First 178 0 R +/Last 178 0 R +/Count -1 >> endobj 170 0 obj << /Title 171 0 R /A 168 0 R -/Parent 700 0 R -/Prev 162 0 R -/First 174 0 R -/Last 174 0 R -/Count -1 +/Parent 166 0 R >> endobj 166 0 obj << /Title 167 0 R /A 164 0 R -/Parent 162 0 R +/Parent 749 0 R +/Prev 154 0 R +/Next 174 0 R +/First 170 0 R +/Last 170 0 R +/Count -1 >> endobj 162 0 obj << /Title 163 0 R /A 160 0 R -/Parent 700 0 R -/Prev 150 0 R -/Next 170 0 R -/First 166 0 R -/Last 166 0 R -/Count -1 +/Parent 154 0 R +/Prev 158 0 R >> endobj 158 0 obj << /Title 159 0 R /A 156 0 R -/Parent 150 0 R -/Prev 154 0 R +/Parent 154 0 R +/Next 162 0 R >> endobj 154 0 obj << /Title 155 0 R /A 152 0 R -/Parent 150 0 R -/Next 158 0 R +/Parent 749 0 R +/Prev 138 0 R +/Next 166 0 R +/First 158 0 R +/Last 162 0 R +/Count -2 >> endobj 150 0 obj << /Title 151 0 R /A 148 0 R -/Parent 700 0 R -/Prev 134 0 R -/Next 162 0 R -/First 154 0 R -/Last 158 0 R -/Count -2 +/Parent 138 0 R +/Prev 146 0 R >> endobj 146 0 obj << /Title 147 0 R /A 144 0 R -/Parent 134 0 R +/Parent 138 0 R /Prev 142 0 R +/Next 150 0 R >> endobj 142 0 obj << /Title 143 0 R /A 140 0 R -/Parent 134 0 R -/Prev 138 0 R +/Parent 138 0 R /Next 146 0 R >> endobj @@ -5713,36 +6358,36 @@ endobj << /Title 139 0 R /A 136 0 R -/Parent 134 0 R -/Next 142 0 R +/Parent 749 0 R +/Prev 114 0 R +/Next 154 0 R +/First 142 0 R +/Last 150 0 R +/Count -3 >> endobj 134 0 obj << /Title 135 0 R /A 132 0 R -/Parent 700 0 R -/Prev 110 0 R -/Next 150 0 R -/First 138 0 R -/Last 146 0 R -/Count -3 +/Parent 122 0 R +/Prev 130 0 R >> endobj 130 0 obj << /Title 131 0 R /A 128 0 R -/Parent 118 0 R +/Parent 122 0 R /Prev 126 0 R +/Next 134 0 R >> endobj 126 0 obj << /Title 127 0 R /A 124 0 R -/Parent 118 0 R -/Prev 122 0 R +/Parent 122 0 R /Next 130 0 R >> endobj @@ -5750,158 +6395,158 @@ endobj << /Title 123 0 R /A 120 0 R -/Parent 118 0 R -/Next 126 0 R +/Parent 114 0 R +/Prev 118 0 R +/First 126 0 R +/Last 134 0 R +/Count -3 >> endobj 118 0 obj << /Title 119 0 R /A 116 0 R -/Parent 110 0 R -/Prev 114 0 R -/First 122 0 R -/Last 130 0 R -/Count -3 +/Parent 114 0 R +/Next 122 0 R >> endobj 114 0 obj << /Title 115 0 R /A 112 0 R -/Parent 110 0 R -/Next 118 0 R +/Parent 749 0 R +/Prev 102 0 R +/Next 138 0 R +/First 118 0 R +/Last 122 0 R +/Count -2 >> endobj 110 0 obj << /Title 111 0 R /A 108 0 R -/Parent 700 0 R -/Prev 98 0 R -/Next 134 0 R -/First 114 0 R -/Last 118 0 R -/Count -2 +/Parent 102 0 R +/Prev 106 0 R >> endobj 106 0 obj << /Title 107 0 R /A 104 0 R -/Parent 98 0 R -/Prev 102 0 R +/Parent 102 0 R +/Next 110 0 R >> endobj 102 0 obj << /Title 103 0 R /A 100 0 R -/Parent 98 0 R -/Next 106 0 R +/Parent 749 0 R +/Prev 90 0 R +/Next 114 0 R +/First 106 0 R +/Last 110 0 R +/Count -2 >> endobj 98 0 obj << /Title 99 0 R /A 96 0 R -/Parent 700 0 R -/Prev 86 0 R -/Next 110 0 R -/First 102 0 R -/Last 106 0 R -/Count -2 +/Parent 90 0 R +/Prev 94 0 R >> endobj 94 0 obj << /Title 95 0 R /A 92 0 R -/Parent 86 0 R -/Prev 90 0 R +/Parent 90 0 R +/Next 98 0 R >> endobj 90 0 obj << /Title 91 0 R /A 88 0 R -/Parent 86 0 R -/Next 94 0 R +/Parent 749 0 R +/Prev 82 0 R +/Next 102 0 R +/First 94 0 R +/Last 98 0 R +/Count -2 >> endobj 86 0 obj << /Title 87 0 R /A 84 0 R -/Parent 700 0 R -/Prev 78 0 R -/Next 98 0 R -/First 90 0 R -/Last 94 0 R -/Count -2 +/Parent 82 0 R >> endobj 82 0 obj << /Title 83 0 R /A 80 0 R -/Parent 78 0 R +/Parent 749 0 R +/Prev 70 0 R +/Next 90 0 R +/First 86 0 R +/Last 86 0 R +/Count -1 >> endobj 78 0 obj << /Title 79 0 R /A 76 0 R -/Parent 700 0 R -/Prev 66 0 R -/Next 86 0 R -/First 82 0 R -/Last 82 0 R -/Count -1 +/Parent 70 0 R +/Prev 74 0 R >> endobj 74 0 obj << /Title 75 0 R /A 72 0 R -/Parent 66 0 R -/Prev 70 0 R +/Parent 70 0 R +/Next 78 0 R >> endobj 70 0 obj << /Title 71 0 R /A 68 0 R -/Parent 66 0 R -/Next 74 0 R +/Parent 749 0 R +/Prev 54 0 R +/Next 82 0 R +/First 74 0 R +/Last 78 0 R +/Count -2 >> endobj 66 0 obj << /Title 67 0 R /A 64 0 R -/Parent 700 0 R -/Prev 50 0 R -/Next 78 0 R -/First 70 0 R -/Last 74 0 R -/Count -2 +/Parent 54 0 R +/Prev 62 0 R >> endobj 62 0 obj << /Title 63 0 R /A 60 0 R -/Parent 50 0 R +/Parent 54 0 R /Prev 58 0 R +/Next 66 0 R >> endobj 58 0 obj << /Title 59 0 R /A 56 0 R -/Parent 50 0 R -/Prev 54 0 R +/Parent 54 0 R /Next 62 0 R >> endobj @@ -5909,20 +6554,20 @@ endobj << /Title 55 0 R /A 52 0 R -/Parent 50 0 R -/Next 58 0 R +/Parent 749 0 R +/Prev 30 0 R +/Next 70 0 R +/First 58 0 R +/Last 66 0 R +/Count -3 >> endobj 50 0 obj << /Title 51 0 R /A 48 0 R -/Parent 700 0 R -/Prev 30 0 R -/Next 66 0 R -/First 54 0 R -/Last 62 0 R -/Count -3 +/Parent 30 0 R +/Prev 46 0 R >> endobj 46 0 obj @@ -5931,6 +6576,7 @@ endobj /A 44 0 R /Parent 30 0 R /Prev 42 0 R +/Next 50 0 R >> endobj 42 0 obj @@ -5963,12 +6609,12 @@ endobj << /Title 31 0 R /A 28 0 R -/Parent 700 0 R +/Parent 749 0 R /Prev 14 0 R -/Next 50 0 R +/Next 54 0 R /First 34 0 R -/Last 46 0 R -/Count -4 +/Last 50 0 R +/Count -5 >> endobj 26 0 obj @@ -6000,7 +6646,7 @@ endobj << /Title 15 0 R /A 12 0 R -/Parent 700 0 R +/Parent 749 0 R /Prev 6 0 R /Next 30 0 R /First 18 0 R @@ -6019,1176 +6665,1232 @@ endobj << /Title 7 0 R /A 4 0 R -/Parent 700 0 R +/Parent 749 0 R /Next 14 0 R /First 10 0 R /Last 10 0 R /Count -1 >> endobj -701 0 obj +750 0 obj << -/Names [(Doc-Start) 238 0 R (Item.100) 407 0 R (Item.101) 408 0 R (Item.102) 409 0 R (Item.103) 410 0 R (Item.104) 411 0 R] -/Limits [(Doc-Start) (Item.104)] +/Names [(Doc-Start) 239 0 R (Hfootnote.1) 250 0 R (Item.113) 437 0 R (Item.114) 438 0 R (Item.115) 439 0 R (Item.116) 440 0 R] +/Limits [(Doc-Start) (Item.116)] >> endobj -702 0 obj +751 0 obj << -/Names [(Item.105) 412 0 R (Item.106) 413 0 R (Item.107) 414 0 R (Item.108) 415 0 R (Item.109) 416 0 R (Item.110) 417 0 R] -/Limits [(Item.105) (Item.110)] +/Names [(Item.117) 441 0 R (Item.118) 442 0 R (Item.119) 443 0 R (Item.120) 444 0 R (Item.121) 445 0 R (Item.122) 446 0 R] +/Limits [(Item.117) (Item.122)] >> endobj -703 0 obj +752 0 obj << -/Names [(Item.111) 418 0 R (Item.112) 419 0 R (Item.113) 420 0 R (Item.114) 421 0 R (Item.173) 489 0 R (Item.174) 490 0 R] -/Limits [(Item.111) (Item.174)] +/Names [(Item.123) 447 0 R (Item.124) 448 0 R (Item.125) 449 0 R (Item.126) 450 0 R (Item.127) 451 0 R (Item.175) 515 0 R] +/Limits [(Item.123) (Item.175)] >> endobj -704 0 obj +753 0 obj << -/Names [(Item.175) 491 0 R (Item.176) 492 0 R (Item.177) 493 0 R (Item.47) 345 0 R (Item.48) 346 0 R (Item.49) 347 0 R] -/Limits [(Item.175) (Item.49)] +/Names [(Item.176) 516 0 R (Item.177) 517 0 R (Item.178) 518 0 R (Item.179) 519 0 R (Item.49) 364 0 R (Item.50) 365 0 R] +/Limits [(Item.176) (Item.50)] >> endobj -705 0 obj +754 0 obj << -/Names [(Item.50) 348 0 R (Item.51) 349 0 R (Item.52) 350 0 R (Item.53) 351 0 R (Item.54) 352 0 R (Item.68) 371 0 R] -/Limits [(Item.50) (Item.68)] +/Names [(Item.51) 366 0 R (Item.52) 367 0 R (Item.53) 368 0 R (Item.54) 369 0 R (Item.55) 370 0 R (Item.56) 371 0 R] +/Limits [(Item.51) (Item.56)] >> endobj -706 0 obj +755 0 obj << -/Names [(Item.69) 372 0 R (Item.70) 373 0 R (Item.71) 374 0 R (Item.72) 375 0 R (Item.73) 376 0 R (lstlisting.115) 422 0 R] -/Limits [(Item.69) (lstlisting.115)] +/Names [(Item.70) 389 0 R (Item.71) 390 0 R (Item.72) 391 0 R (Item.73) 392 0 R (Item.74) 393 0 R (Item.75) 394 0 R] +/Limits [(Item.70) (Item.75)] >> endobj -707 0 obj +756 0 obj << -/Names [(lstlisting.12) 309 0 R (lstlisting.137) 447 0 R (lstlisting.14) 311 0 R (lstlisting.151) 460 0 R (lstlisting.162) 474 0 R (lstlisting.179) 495 0 R] -/Limits [(lstlisting.12) (lstlisting.179)] +/Names [(lstlisting.11) 319 0 R (lstlisting.139) 469 0 R (lstlisting.14) 323 0 R (lstlisting.153) 486 0 R (lstlisting.16) 325 0 R (lstlisting.164) 500 0 R] +/Limits [(lstlisting.11) (lstlisting.164)] >> endobj -708 0 obj +757 0 obj << -/Names [(lstlisting.18) 314 0 R (lstlisting.196) 526 0 R (lstlisting.216) 550 0 R (lstlisting.23) 319 0 R (lstlisting.240) 583 0 R (lstlisting.257) 614 0 R] -/Limits [(lstlisting.18) (lstlisting.257)] +/Names [(lstlisting.181) 522 0 R (lstlisting.198) 558 0 R (lstlisting.20) 333 0 R (lstlisting.218) 579 0 R (lstlisting.239) 609 0 R (lstlisting.25) 338 0 R] +/Limits [(lstlisting.181) (lstlisting.25)] >> endobj -709 0 obj +758 0 obj << -/Names [(lstlisting.28) 326 0 R (lstlisting.55) 358 0 R (lstlisting.74) 381 0 R (lstlisting.9) 301 0 R (lstnumber.10) 302 0 R (lstnumber.11) 303 0 R] -/Limits [(lstlisting.28) (lstnumber.11)] +/Names [(lstlisting.256) 648 0 R (lstlisting.30) 345 0 R (lstlisting.57) 376 0 R (lstlisting.76) 395 0 R (lstlisting.87) 411 0 R (lstnumber.100) 424 0 R] +/Limits [(lstlisting.256) (lstnumber.100)] >> endobj -710 0 obj +759 0 obj << -/Names [(lstnumber.116) 423 0 R (lstnumber.117) 424 0 R (lstnumber.118) 425 0 R (lstnumber.119) 426 0 R (lstnumber.120) 427 0 R (lstnumber.121) 428 0 R] -/Limits [(lstnumber.116) (lstnumber.121)] +/Names [(lstnumber.101) 425 0 R (lstnumber.102) 426 0 R (lstnumber.103) 427 0 R (lstnumber.104) 428 0 R (lstnumber.105) 429 0 R (lstnumber.106) 430 0 R] +/Limits [(lstnumber.101) (lstnumber.106)] >> endobj -711 0 obj +760 0 obj << -/Names [(lstnumber.122) 429 0 R (lstnumber.123) 430 0 R (lstnumber.124) 431 0 R (lstnumber.125) 432 0 R (lstnumber.13) 310 0 R (lstnumber.138) 448 0 R] -/Limits [(lstnumber.122) (lstnumber.138)] +/Names [(lstnumber.107) 431 0 R (lstnumber.108) 432 0 R (lstnumber.109) 433 0 R (lstnumber.110) 434 0 R (lstnumber.111) 435 0 R (lstnumber.112) 436 0 R] +/Limits [(lstnumber.107) (lstnumber.112)] >> endobj -712 0 obj +761 0 obj << -/Names [(lstnumber.139) 449 0 R (lstnumber.140) 450 0 R (lstnumber.141) 451 0 R (lstnumber.142) 452 0 R (lstnumber.143) 453 0 R (lstnumber.144) 454 0 R] -/Limits [(lstnumber.139) (lstnumber.144)] +/Names [(lstnumber.12) 320 0 R (lstnumber.13) 321 0 R (lstnumber.140) 470 0 R (lstnumber.141) 471 0 R (lstnumber.142) 472 0 R (lstnumber.143) 473 0 R] +/Limits [(lstnumber.12) (lstnumber.143)] >> endobj -713 0 obj +762 0 obj << -/Names [(lstnumber.145) 455 0 R (lstnumber.146) 456 0 R (lstnumber.147) 457 0 R (lstnumber.148) 458 0 R (lstnumber.149) 459 0 R (lstnumber.15) 312 0 R] -/Limits [(lstnumber.145) (lstnumber.15)] +/Names [(lstnumber.144) 474 0 R (lstnumber.145) 475 0 R (lstnumber.146) 476 0 R (lstnumber.147) 477 0 R (lstnumber.148) 478 0 R (lstnumber.149) 479 0 R] +/Limits [(lstnumber.144) (lstnumber.149)] >> endobj -714 0 obj +763 0 obj << -/Names [(lstnumber.152) 461 0 R (lstnumber.153) 462 0 R (lstnumber.154) 463 0 R (lstnumber.155) 464 0 R (lstnumber.156) 465 0 R (lstnumber.157) 466 0 R] -/Limits [(lstnumber.152) (lstnumber.157)] +/Names [(lstnumber.15) 324 0 R (lstnumber.150) 480 0 R (lstnumber.151) 481 0 R (lstnumber.154) 487 0 R (lstnumber.155) 488 0 R (lstnumber.156) 489 0 R] +/Limits [(lstnumber.15) (lstnumber.156)] >> endobj -715 0 obj +764 0 obj << -/Names [(lstnumber.158) 467 0 R (lstnumber.16) 313 0 R (lstnumber.163) 475 0 R (lstnumber.164) 476 0 R (lstnumber.165) 477 0 R (lstnumber.166) 478 0 R] -/Limits [(lstnumber.158) (lstnumber.166)] +/Names [(lstnumber.157) 490 0 R (lstnumber.158) 491 0 R (lstnumber.159) 492 0 R (lstnumber.160) 493 0 R (lstnumber.165) 501 0 R (lstnumber.166) 502 0 R] +/Limits [(lstnumber.157) (lstnumber.166)] >> endobj -716 0 obj +765 0 obj << -/Names [(lstnumber.167) 479 0 R (lstnumber.168) 480 0 R (lstnumber.169) 481 0 R (lstnumber.180) 496 0 R (lstnumber.181) 497 0 R (lstnumber.182) 498 0 R] -/Limits [(lstnumber.167) (lstnumber.182)] +/Names [(lstnumber.167) 503 0 R (lstnumber.168) 504 0 R (lstnumber.169) 505 0 R (lstnumber.17) 326 0 R (lstnumber.170) 506 0 R (lstnumber.171) 507 0 R] +/Limits [(lstnumber.167) (lstnumber.171)] >> endobj -717 0 obj +766 0 obj << -/Names [(lstnumber.183) 499 0 R (lstnumber.184) 500 0 R (lstnumber.185) 501 0 R (lstnumber.186) 502 0 R (lstnumber.187) 503 0 R (lstnumber.188) 504 0 R] -/Limits [(lstnumber.183) (lstnumber.188)] +/Names [(lstnumber.18) 327 0 R (lstnumber.182) 523 0 R (lstnumber.183) 524 0 R (lstnumber.184) 525 0 R (lstnumber.185) 526 0 R (lstnumber.186) 527 0 R] +/Limits [(lstnumber.18) (lstnumber.186)] >> endobj -718 0 obj +767 0 obj << -/Names [(lstnumber.189) 505 0 R (lstnumber.19) 315 0 R (lstnumber.190) 506 0 R (lstnumber.191) 507 0 R (lstnumber.192) 508 0 R (lstnumber.197) 527 0 R] -/Limits [(lstnumber.189) (lstnumber.197)] +/Names [(lstnumber.187) 528 0 R (lstnumber.188) 529 0 R (lstnumber.189) 530 0 R (lstnumber.190) 531 0 R (lstnumber.191) 532 0 R (lstnumber.192) 533 0 R] +/Limits [(lstnumber.187) (lstnumber.192)] >> endobj -719 0 obj +768 0 obj << -/Names [(lstnumber.198) 528 0 R (lstnumber.199) 529 0 R (lstnumber.20) 316 0 R (lstnumber.200) 530 0 R (lstnumber.201) 531 0 R (lstnumber.202) 532 0 R] -/Limits [(lstnumber.198) (lstnumber.202)] +/Names [(lstnumber.193) 534 0 R (lstnumber.194) 535 0 R (lstnumber.199) 559 0 R (lstnumber.200) 560 0 R (lstnumber.201) 561 0 R (lstnumber.202) 562 0 R] +/Limits [(lstnumber.193) (lstnumber.202)] >> endobj -720 0 obj +769 0 obj << -/Names [(lstnumber.203) 533 0 R (lstnumber.204) 534 0 R (lstnumber.205) 535 0 R (lstnumber.206) 536 0 R (lstnumber.207) 537 0 R (lstnumber.208) 538 0 R] +/Names [(lstnumber.203) 563 0 R (lstnumber.204) 564 0 R (lstnumber.205) 565 0 R (lstnumber.206) 566 0 R (lstnumber.207) 567 0 R (lstnumber.208) 568 0 R] /Limits [(lstnumber.203) (lstnumber.208)] >> endobj -721 0 obj +770 0 obj << -/Names [(lstnumber.209) 539 0 R (lstnumber.21) 317 0 R (lstnumber.210) 540 0 R (lstnumber.211) 541 0 R (lstnumber.212) 542 0 R (lstnumber.213) 543 0 R] +/Names [(lstnumber.209) 569 0 R (lstnumber.21) 334 0 R (lstnumber.210) 570 0 R (lstnumber.211) 571 0 R (lstnumber.212) 572 0 R (lstnumber.213) 573 0 R] /Limits [(lstnumber.209) (lstnumber.213)] >> endobj -722 0 obj +771 0 obj << -/Names [(lstnumber.214) 544 0 R (lstnumber.215) 545 0 R (lstnumber.217) 551 0 R (lstnumber.218) 552 0 R (lstnumber.219) 553 0 R (lstnumber.22) 318 0 R] +/Names [(lstnumber.214) 574 0 R (lstnumber.215) 575 0 R (lstnumber.216) 576 0 R (lstnumber.217) 577 0 R (lstnumber.219) 580 0 R (lstnumber.22) 335 0 R] /Limits [(lstnumber.214) (lstnumber.22)] >> endobj -723 0 obj +772 0 obj << -/Names [(lstnumber.220) 554 0 R (lstnumber.221) 555 0 R (lstnumber.222) 556 0 R (lstnumber.223) 557 0 R (lstnumber.224) 558 0 R (lstnumber.225) 559 0 R] +/Names [(lstnumber.220) 581 0 R (lstnumber.221) 582 0 R (lstnumber.222) 583 0 R (lstnumber.223) 584 0 R (lstnumber.224) 585 0 R (lstnumber.225) 586 0 R] /Limits [(lstnumber.220) (lstnumber.225)] >> endobj -724 0 obj +773 0 obj << -/Names [(lstnumber.226) 560 0 R (lstnumber.227) 561 0 R (lstnumber.228) 562 0 R (lstnumber.229) 563 0 R (lstnumber.230) 564 0 R (lstnumber.231) 565 0 R] -/Limits [(lstnumber.226) (lstnumber.231)] +/Names [(lstnumber.226) 587 0 R (lstnumber.227) 588 0 R (lstnumber.228) 589 0 R (lstnumber.229) 590 0 R (lstnumber.23) 336 0 R (lstnumber.230) 591 0 R] +/Limits [(lstnumber.226) (lstnumber.230)] >> endobj -725 0 obj +774 0 obj << -/Names [(lstnumber.232) 566 0 R (lstnumber.233) 567 0 R (lstnumber.234) 568 0 R (lstnumber.235) 569 0 R (lstnumber.236) 570 0 R (lstnumber.237) 571 0 R] -/Limits [(lstnumber.232) (lstnumber.237)] +/Names [(lstnumber.231) 592 0 R (lstnumber.232) 593 0 R (lstnumber.233) 594 0 R (lstnumber.234) 595 0 R (lstnumber.235) 596 0 R (lstnumber.236) 597 0 R] +/Limits [(lstnumber.231) (lstnumber.236)] >> endobj -726 0 obj +775 0 obj << -/Names [(lstnumber.24) 320 0 R (lstnumber.241) 584 0 R (lstnumber.242) 585 0 R (lstnumber.243) 586 0 R (lstnumber.244) 587 0 R (lstnumber.245) 588 0 R] -/Limits [(lstnumber.24) (lstnumber.245)] +/Names [(lstnumber.24) 337 0 R (lstnumber.240) 610 0 R (lstnumber.241) 611 0 R (lstnumber.242) 612 0 R (lstnumber.243) 613 0 R (lstnumber.244) 614 0 R] +/Limits [(lstnumber.24) (lstnumber.244)] >> endobj -727 0 obj +776 0 obj << -/Names [(lstnumber.246) 589 0 R (lstnumber.247) 590 0 R (lstnumber.248) 591 0 R (lstnumber.249) 592 0 R (lstnumber.25) 321 0 R (lstnumber.250) 593 0 R] -/Limits [(lstnumber.246) (lstnumber.250)] +/Names [(lstnumber.245) 615 0 R (lstnumber.246) 616 0 R (lstnumber.247) 617 0 R (lstnumber.248) 618 0 R (lstnumber.249) 619 0 R (lstnumber.250) 620 0 R] +/Limits [(lstnumber.245) (lstnumber.250)] >> endobj -728 0 obj +777 0 obj << -/Names [(lstnumber.251) 594 0 R (lstnumber.258) 615 0 R (lstnumber.29) 327 0 R (lstnumber.30) 328 0 R (lstnumber.31) 329 0 R (lstnumber.32) 330 0 R] -/Limits [(lstnumber.251) (lstnumber.32)] +/Names [(lstnumber.257) 649 0 R (lstnumber.26) 339 0 R (lstnumber.27) 340 0 R (lstnumber.31) 346 0 R (lstnumber.32) 347 0 R (lstnumber.33) 348 0 R] +/Limits [(lstnumber.257) (lstnumber.33)] >> endobj -729 0 obj +778 0 obj << -/Names [(lstnumber.33) 331 0 R (lstnumber.34) 332 0 R (lstnumber.35) 333 0 R (lstnumber.36) 334 0 R (lstnumber.37) 335 0 R (lstnumber.38) 336 0 R] -/Limits [(lstnumber.33) (lstnumber.38)] +/Names [(lstnumber.34) 349 0 R (lstnumber.35) 350 0 R (lstnumber.36) 351 0 R (lstnumber.37) 352 0 R (lstnumber.38) 353 0 R (lstnumber.39) 354 0 R] +/Limits [(lstnumber.34) (lstnumber.39)] >> endobj -730 0 obj +779 0 obj << -/Names [(lstnumber.39) 337 0 R (lstnumber.40) 338 0 R (lstnumber.41) 339 0 R (lstnumber.42) 340 0 R (lstnumber.43) 341 0 R (lstnumber.44) 342 0 R] -/Limits [(lstnumber.39) (lstnumber.44)] +/Names [(lstnumber.40) 355 0 R (lstnumber.41) 356 0 R (lstnumber.42) 357 0 R (lstnumber.43) 358 0 R (lstnumber.44) 359 0 R (lstnumber.45) 360 0 R] +/Limits [(lstnumber.40) (lstnumber.45)] >> endobj -731 0 obj +780 0 obj << -/Names [(lstnumber.45) 343 0 R (lstnumber.46) 344 0 R (lstnumber.56) 359 0 R (lstnumber.57) 360 0 R (lstnumber.58) 361 0 R (lstnumber.59) 362 0 R] -/Limits [(lstnumber.45) (lstnumber.59)] +/Names [(lstnumber.46) 361 0 R (lstnumber.47) 362 0 R (lstnumber.48) 363 0 R (lstnumber.58) 377 0 R (lstnumber.59) 378 0 R (lstnumber.60) 379 0 R] +/Limits [(lstnumber.46) (lstnumber.60)] >> endobj -732 0 obj +781 0 obj << -/Names [(lstnumber.60) 363 0 R (lstnumber.61) 364 0 R (lstnumber.62) 365 0 R (lstnumber.63) 366 0 R (lstnumber.64) 367 0 R (lstnumber.65) 368 0 R] -/Limits [(lstnumber.60) (lstnumber.65)] +/Names [(lstnumber.61) 380 0 R (lstnumber.62) 381 0 R (lstnumber.63) 382 0 R (lstnumber.64) 383 0 R (lstnumber.65) 384 0 R (lstnumber.66) 385 0 R] +/Limits [(lstnumber.61) (lstnumber.66)] >> endobj -733 0 obj +782 0 obj << -/Names [(lstnumber.66) 369 0 R (lstnumber.67) 370 0 R (lstnumber.75) 382 0 R (lstnumber.76) 383 0 R (lstnumber.77) 384 0 R (lstnumber.78) 385 0 R] -/Limits [(lstnumber.66) (lstnumber.78)] +/Names [(lstnumber.67) 386 0 R (lstnumber.68) 387 0 R (lstnumber.69) 388 0 R (lstnumber.77) 396 0 R (lstnumber.78) 397 0 R (lstnumber.79) 398 0 R] +/Limits [(lstnumber.67) (lstnumber.79)] >> endobj -734 0 obj +783 0 obj << -/Names [(lstnumber.79) 386 0 R (lstnumber.80) 387 0 R (lstnumber.81) 388 0 R (lstnumber.82) 389 0 R (lstnumber.83) 390 0 R (lstnumber.84) 391 0 R] -/Limits [(lstnumber.79) (lstnumber.84)] +/Names [(lstnumber.80) 399 0 R (lstnumber.81) 400 0 R (lstnumber.82) 401 0 R (lstnumber.83) 402 0 R (lstnumber.84) 403 0 R (lstnumber.85) 404 0 R] +/Limits [(lstnumber.80) (lstnumber.85)] >> endobj -735 0 obj +784 0 obj << -/Names [(lstnumber.85) 392 0 R (lstnumber.86) 393 0 R (lstnumber.87) 394 0 R (lstnumber.88) 395 0 R (lstnumber.89) 396 0 R (lstnumber.90) 397 0 R] -/Limits [(lstnumber.85) (lstnumber.90)] +/Names [(lstnumber.86) 405 0 R (lstnumber.88) 412 0 R (lstnumber.89) 413 0 R (lstnumber.90) 414 0 R (lstnumber.91) 415 0 R (lstnumber.92) 416 0 R] +/Limits [(lstnumber.86) (lstnumber.92)] >> endobj -736 0 obj +785 0 obj << -/Names [(lstnumber.91) 398 0 R (lstnumber.92) 399 0 R (lstnumber.93) 400 0 R (lstnumber.94) 401 0 R (lstnumber.95) 402 0 R (lstnumber.96) 403 0 R] -/Limits [(lstnumber.91) (lstnumber.96)] +/Names [(lstnumber.93) 417 0 R (lstnumber.94) 418 0 R (lstnumber.95) 419 0 R (lstnumber.96) 420 0 R (lstnumber.97) 421 0 R (lstnumber.98) 422 0 R] +/Limits [(lstnumber.93) (lstnumber.98)] >> endobj -737 0 obj +786 0 obj << -/Names [(lstnumber.97) 404 0 R (lstnumber.98) 405 0 R (lstnumber.99) 406 0 R (page.1) 237 0 R (page.10) 437 0 R (page.11) 441 0 R] -/Limits [(lstnumber.97) (page.11)] +/Names [(lstnumber.99) 423 0 R (page.1) 238 0 R (page.10) 375 0 R (page.11) 410 0 R (page.12) 455 0 R (page.13) 459 0 R] +/Limits [(lstnumber.99) (page.13)] >> endobj -738 0 obj +787 0 obj << -/Names [(page.12) 446 0 R (page.13) 473 0 R (page.14) 488 0 R (page.15) 522 0 R (page.16) 549 0 R (page.17) 582 0 R] -/Limits [(page.12) (page.17)] +/Names [(page.14) 464 0 R (page.15) 468 0 R (page.16) 485 0 R (page.17) 499 0 R (page.18) 514 0 R (page.19) 547 0 R] +/Limits [(page.14) (page.19)] >> endobj -739 0 obj +788 0 obj << -/Names [(page.18) 604 0 R (page.19) 608 0 R (page.2) 278 0 R (page.20) 613 0 R (page.21) 619 0 R (page.22) 623 0 R] -/Limits [(page.18) (page.22)] +/Names [(page.2) 289 0 R (page.20) 557 0 R (page.21) 601 0 R (page.22) 608 0 R (page.23) 631 0 R (page.24) 638 0 R] +/Limits [(page.2) (page.24)] >> endobj -740 0 obj +789 0 obj << -/Names [(page.3) 288 0 R (page.4) 295 0 R (page.5) 300 0 R (page.6) 308 0 R (page.7) 325 0 R (page.8) 357 0 R] -/Limits [(page.3) (page.8)] +/Names [(page.25) 642 0 R (page.26) 647 0 R (page.27) 653 0 R (page.28) 657 0 R (page.29) 661 0 R (page.3) 299 0 R] +/Limits [(page.25) (page.3)] >> endobj -741 0 obj +790 0 obj << -/Names [(page.9) 380 0 R (paragraph*.193) 509 0 R (paragraph*.194) 523 0 R (paragraph*.239) 572 0 R (paragraph*.252) 595 0 R (paragraph*.253) 596 0 R] -/Limits [(page.9) (paragraph*.253)] +/Names [(page.4) 305 0 R (page.5) 309 0 R (page.6) 314 0 R (page.7) 318 0 R (page.8) 332 0 R (page.9) 344 0 R] +/Limits [(page.4) (page.9)] >> endobj -742 0 obj +791 0 obj << -/Names [(section.1) 5 0 R (section.126) 49 0 R (section.130) 65 0 R (section.133) 77 0 R (section.135) 85 0 R (section.159) 97 0 R] -/Limits [(section.1) (section.159)] +/Names [(paragraph*.195) 548 0 R (paragraph*.196) 550 0 R (paragraph*.238) 602 0 R (paragraph*.251) 621 0 R (paragraph*.252) 632 0 R (section.128) 53 0 R] +/Limits [(paragraph*.195) (section.128)] >> endobj -743 0 obj +792 0 obj << -/Names [(section.170) 109 0 R (section.254) 133 0 R (section.260) 149 0 R (section.263) 161 0 R (section.265) 169 0 R (section.3) 13 0 R] -/Limits [(section.170) (section.3)] +/Names [(section.132) 69 0 R (section.135) 81 0 R (section.137) 89 0 R (section.161) 101 0 R (section.172) 113 0 R (section.2) 5 0 R] +/Limits [(section.132) (section.2)] >> endobj -744 0 obj +793 0 obj << -/Names [(section.7) 29 0 R (subsection.127) 53 0 R (subsection.128) 57 0 R (subsection.129) 61 0 R (subsection.131) 69 0 R (subsection.132) 73 0 R] -/Limits [(section.7) (subsection.132)] +/Names [(section.253) 137 0 R (section.259) 153 0 R (section.262) 165 0 R (section.264) 173 0 R (section.4) 13 0 R (section.8) 29 0 R] +/Limits [(section.253) (section.8)] >> endobj -745 0 obj +794 0 obj << -/Names [(subsection.134) 81 0 R (subsection.136) 89 0 R (subsection.150) 93 0 R (subsection.160) 101 0 R (subsection.161) 105 0 R (subsection.17) 37 0 R] -/Limits [(subsection.134) (subsection.17)] +/Names [(subsection.10) 37 0 R (subsection.129) 57 0 R (subsection.130) 61 0 R (subsection.131) 65 0 R (subsection.133) 73 0 R (subsection.134) 77 0 R] +/Limits [(subsection.10) (subsection.134)] >> endobj -746 0 obj +795 0 obj << -/Names [(subsection.171) 113 0 R (subsection.172) 117 0 R (subsection.2) 9 0 R (subsection.255) 137 0 R (subsection.256) 141 0 R (subsection.259) 145 0 R] -/Limits [(subsection.171) (subsection.259)] +/Names [(subsection.136) 85 0 R (subsection.138) 93 0 R (subsection.152) 97 0 R (subsection.162) 105 0 R (subsection.163) 109 0 R (subsection.173) 117 0 R] +/Limits [(subsection.136) (subsection.173)] >> endobj -747 0 obj +796 0 obj << -/Names [(subsection.26) 41 0 R (subsection.261) 153 0 R (subsection.262) 157 0 R (subsection.264) 165 0 R (subsection.266) 173 0 R (subsection.27) 45 0 R] -/Limits [(subsection.26) (subsection.27)] +/Names [(subsection.174) 121 0 R (subsection.19) 41 0 R (subsection.254) 141 0 R (subsection.255) 145 0 R (subsection.258) 149 0 R (subsection.260) 157 0 R] +/Limits [(subsection.174) (subsection.260)] >> endobj -748 0 obj +797 0 obj << -/Names [(subsection.4) 17 0 R (subsection.5) 21 0 R (subsection.6) 25 0 R (subsection.8) 33 0 R (subsubsection.178) 121 0 R (subsubsection.195) 125 0 R] -/Limits [(subsection.4) (subsubsection.195)] +/Names [(subsection.261) 161 0 R (subsection.263) 169 0 R (subsection.265) 177 0 R (subsection.28) 45 0 R (subsection.29) 49 0 R (subsection.3) 9 0 R] +/Limits [(subsection.261) (subsection.3)] >> endobj -749 0 obj +798 0 obj << -/Names [(subsubsection.238) 129 0 R] -/Limits [(subsubsection.238) (subsubsection.238)] +/Names [(subsection.5) 17 0 R (subsection.6) 21 0 R (subsection.7) 25 0 R (subsection.9) 33 0 R (subsubsection.180) 125 0 R (subsubsection.197) 129 0 R] +/Limits [(subsection.5) (subsubsection.197)] >> endobj -750 0 obj +799 0 obj << -/Kids [701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R] -/Limits [(Doc-Start) (lstlisting.115)] +/Names [(subsubsection.237) 133 0 R] +/Limits [(subsubsection.237) (subsubsection.237)] >> endobj -751 0 obj +800 0 obj << -/Kids [707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R] -/Limits [(lstlisting.12) (lstnumber.144)] +/Kids [750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R] +/Limits [(Doc-Start) (Item.75)] >> endobj -752 0 obj +801 0 obj << -/Kids [713 0 R 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R] -/Limits [(lstnumber.145) (lstnumber.197)] +/Kids [756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R] +/Limits [(lstlisting.11) (lstnumber.143)] >> endobj -753 0 obj +802 0 obj << -/Kids [719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R] -/Limits [(lstnumber.198) (lstnumber.231)] +/Kids [762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R] +/Limits [(lstnumber.144) (lstnumber.192)] >> endobj -754 0 obj +803 0 obj << -/Kids [725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R] -/Limits [(lstnumber.232) (lstnumber.44)] +/Kids [768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R] +/Limits [(lstnumber.193) (lstnumber.230)] >> endobj -755 0 obj +804 0 obj << -/Kids [731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R] -/Limits [(lstnumber.45) (lstnumber.96)] +/Kids [774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R] +/Limits [(lstnumber.231) (lstnumber.45)] >> endobj -756 0 obj +805 0 obj << -/Kids [737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R] -/Limits [(lstnumber.97) (section.159)] +/Kids [780 0 R 781 0 R 782 0 R 783 0 R 784 0 R 785 0 R] +/Limits [(lstnumber.46) (lstnumber.98)] >> endobj -757 0 obj +806 0 obj << -/Kids [743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R] -/Limits [(section.170) (subsubsection.195)] +/Kids [786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R] +/Limits [(lstnumber.99) (section.128)] >> endobj -758 0 obj +807 0 obj << -/Kids [749 0 R] -/Limits [(subsubsection.238) (subsubsection.238)] +/Kids [792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R] +/Limits [(section.132) (subsection.3)] >> endobj -759 0 obj +808 0 obj << -/Kids [750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R] -/Limits [(Doc-Start) (lstnumber.96)] +/Kids [798 0 R 799 0 R] +/Limits [(subsection.5) (subsubsection.237)] >> endobj -760 0 obj +809 0 obj << -/Kids [756 0 R 757 0 R 758 0 R] -/Limits [(lstnumber.97) (subsubsection.238)] +/Kids [800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R] +/Limits [(Doc-Start) (lstnumber.98)] >> endobj -761 0 obj +810 0 obj << -/Kids [759 0 R 760 0 R] -/Limits [(Doc-Start) (subsubsection.238)] +/Kids [806 0 R 807 0 R 808 0 R] +/Limits [(lstnumber.99) (subsubsection.237)] >> endobj -762 0 obj +811 0 obj << -/Dests 761 0 R +/Kids [809 0 R 810 0 R] +/Limits [(Doc-Start) (subsubsection.237)] >> endobj -763 0 obj +812 0 obj +<< +/Dests 811 0 R +>> +endobj +813 0 obj << /Type /Catalog -/Pages 699 0 R -/Outlines 700 0 R -/Names 762 0 R +/Pages 748 0 R +/Outlines 749 0 R +/Names 812 0 R /PageMode/UseOutlines -/OpenAction 176 0 R +/OpenAction 180 0 R >> endobj -764 0 obj +814 0 obj << /Producer (MiKTeX pdfTeX-1.40.25) /Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords() -/CreationDate (D:20230508171233-03'00') -/ModDate (D:20230508171233-03'00') +/CreationDate (D:20230511164621-03'00') +/ModDate (D:20230511164621-03'00') /Trapped /False /PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.15.0 (1.40.25)) >> endobj xref -0 765 -0000000178 65535 f -0000125523 00000 n -0000125543 00000 n -0000125563 00000 n +0 815 +0000000183 65535 f +0000137511 00000 n +0000137531 00000 n +0000137551 00000 n 0000000015 00000 n -0000026514 00000 n -0000525227 00000 n +0000026275 00000 n +0000580177 00000 n 0000000060 00000 n 0000000146 00000 n -0000026574 00000 n -0000525168 00000 n +0000026335 00000 n +0000580118 00000 n 0000000194 00000 n 0000000299 00000 n -0000026634 00000 n -0000525044 00000 n +0000031062 00000 n +0000579994 00000 n 0000000345 00000 n 0000000445 00000 n -0000031298 00000 n -0000524970 00000 n +0000031123 00000 n +0000579920 00000 n 0000000494 00000 n 0000000589 00000 n -0000035560 00000 n -0000524883 00000 n +0000038325 00000 n +0000579833 00000 n 0000000638 00000 n 0000000786 00000 n -0000035621 00000 n -0000524809 00000 n +0000038386 00000 n +0000579759 00000 n 0000000835 00000 n 0000000953 00000 n -0000035682 00000 n -0000524684 00000 n +0000038447 00000 n +0000579634 00000 n 0000000999 00000 n 0000001134 00000 n -0000040022 00000 n -0000524610 00000 n +0000038508 00000 n +0000579560 00000 n 0000001183 00000 n 0000001288 00000 n -0000045165 00000 n -0000524523 00000 n +0000041652 00000 n +0000579473 00000 n 0000001338 00000 n -0000001425 00000 n -0000048460 00000 n -0000524436 00000 n -0000001475 00000 n -0000001603 00000 n -0000048521 00000 n -0000524362 00000 n -0000001653 00000 n -0000001781 00000 n -0000059828 00000 n -0000524237 00000 n -0000001829 00000 n -0000001964 00000 n -0000059889 00000 n -0000524163 00000 n -0000002015 00000 n -0000002143 00000 n -0000063673 00000 n -0000524076 00000 n -0000002194 00000 n -0000002327 00000 n -0000063734 00000 n -0000524002 00000 n -0000002378 00000 n -0000002521 00000 n -0000063795 00000 n -0000523877 00000 n -0000002569 00000 n -0000002709 00000 n -0000067239 00000 n -0000523803 00000 n -0000002760 00000 n -0000002865 00000 n -0000067300 00000 n -0000523729 00000 n -0000002916 00000 n -0000003026 00000 n -0000067361 00000 n -0000523604 00000 n -0000003074 00000 n -0000003214 00000 n -0000067421 00000 n -0000523543 00000 n -0000003265 00000 n -0000003408 00000 n -0000071418 00000 n -0000523418 00000 n -0000003456 00000 n -0000003596 00000 n -0000071479 00000 n -0000523344 00000 n -0000003647 00000 n -0000003729 00000 n -0000072346 00000 n -0000523270 00000 n -0000003780 00000 n -0000003895 00000 n -0000072901 00000 n -0000523142 00000 n -0000003943 00000 n -0000004210 00000 n -0000072962 00000 n -0000523064 00000 n -0000004262 00000 n -0000004368 00000 n -0000077629 00000 n -0000522986 00000 n -0000004420 00000 n -0000004531 00000 n -0000078187 00000 n -0000522855 00000 n -0000004580 00000 n -0000004858 00000 n -0000078249 00000 n -0000522776 00000 n -0000004910 00000 n -0000005051 00000 n -0000083119 00000 n -0000522658 00000 n -0000005103 00000 n -0000005214 00000 n -0000083491 00000 n -0000522579 00000 n -0000005269 00000 n +0000001405 00000 n +0000049125 00000 n +0000579386 00000 n +0000001455 00000 n +0000001542 00000 n +0000049680 00000 n +0000579299 00000 n +0000001592 00000 n +0000001720 00000 n +0000052054 00000 n +0000579225 00000 n +0000001770 00000 n +0000001898 00000 n +0000065761 00000 n +0000579100 00000 n +0000001946 00000 n +0000002081 00000 n +0000065822 00000 n +0000579026 00000 n +0000002132 00000 n +0000002260 00000 n +0000065883 00000 n +0000578939 00000 n +0000002311 00000 n +0000002444 00000 n +0000065944 00000 n +0000578865 00000 n +0000002495 00000 n +0000002638 00000 n +0000068891 00000 n +0000578740 00000 n +0000002686 00000 n +0000002826 00000 n +0000072178 00000 n +0000578666 00000 n +0000002877 00000 n +0000002982 00000 n +0000072239 00000 n +0000578592 00000 n +0000003033 00000 n +0000003143 00000 n +0000072300 00000 n +0000578467 00000 n +0000003191 00000 n +0000003331 00000 n +0000072361 00000 n +0000578406 00000 n +0000003382 00000 n +0000003525 00000 n +0000075529 00000 n +0000578280 00000 n +0000003573 00000 n +0000003713 00000 n +0000075589 00000 n +0000578206 00000 n +0000003764 00000 n +0000003846 00000 n +0000076455 00000 n +0000578132 00000 n +0000003897 00000 n +0000004012 00000 n +0000080813 00000 n +0000578001 00000 n +0000004061 00000 n +0000004329 00000 n +0000080875 00000 n +0000577922 00000 n +0000004381 00000 n +0000004487 00000 n +0000080937 00000 n +0000577843 00000 n +0000004539 00000 n +0000004650 00000 n +0000085507 00000 n +0000577711 00000 n +0000004699 00000 n +0000004977 00000 n +0000085569 00000 n +0000577632 00000 n +0000005029 00000 n +0000005170 00000 n +0000089510 00000 n +0000577514 00000 n +0000005222 00000 n +0000005333 00000 n +0000089882 00000 n +0000577435 00000 n 0000005388 00000 n -0000090375 00000 n -0000522486 00000 n -0000005443 00000 n -0000005567 00000 n -0000097193 00000 n -0000522407 00000 n -0000005622 00000 n -0000005781 00000 n -0000107993 00000 n -0000522275 00000 n -0000005830 00000 n -0000006142 00000 n -0000108055 00000 n -0000522196 00000 n -0000006194 00000 n -0000006300 00000 n -0000108117 00000 n -0000522103 00000 n -0000006352 00000 n -0000006463 00000 n -0000117606 00000 n -0000522024 00000 n -0000006515 00000 n -0000006603 00000 n -0000117668 00000 n -0000521892 00000 n -0000006652 00000 n -0000006969 00000 n -0000121885 00000 n -0000521813 00000 n -0000007021 00000 n -0000007221 00000 n -0000121947 00000 n -0000521734 00000 n -0000007273 00000 n -0000007427 00000 n -0000125085 00000 n -0000521602 00000 n -0000007476 00000 n -0000007818 00000 n -0000125147 00000 n -0000521537 00000 n -0000007870 00000 n -0000008049 00000 n -0000125209 00000 n -0000521419 00000 n -0000008098 00000 n -0000008450 00000 n -0000125271 00000 n -0000521354 00000 n -0000008502 00000 n -0000008666 00000 n -0000013192 00000 n -0000000180 00000 f -0000013531 00000 n -0000000182 00000 f -0000013683 00000 n -0000000184 00000 f -0000013837 00000 n -0000000186 00000 f -0000013988 00000 n -0000000188 00000 f -0000014143 00000 n -0000000190 00000 f -0000014298 00000 n -0000000192 00000 f -0000014453 00000 n -0000000194 00000 f -0000014603 00000 n -0000000196 00000 f -0000014758 00000 n -0000000198 00000 f -0000014914 00000 n -0000000200 00000 f -0000015070 00000 n -0000000202 00000 f -0000015226 00000 n -0000000204 00000 f -0000015380 00000 n -0000000206 00000 f -0000015536 00000 n -0000000208 00000 f -0000015692 00000 n -0000000210 00000 f -0000015849 00000 n -0000000212 00000 f -0000016003 00000 n -0000000214 00000 f -0000016159 00000 n -0000000216 00000 f -0000016316 00000 n -0000000218 00000 f -0000016470 00000 n -0000000220 00000 f -0000016627 00000 n -0000000222 00000 f -0000016781 00000 n -0000000224 00000 f -0000016938 00000 n -0000000226 00000 f -0000017094 00000 n -0000000228 00000 f -0000017244 00000 n -0000000230 00000 f -0000017399 00000 n -0000000232 00000 f -0000023642 00000 n -0000000234 00000 f -0000023795 00000 n -0000000247 00000 f -0000017677 00000 n -0000008716 00000 n -0000017553 00000 n -0000017615 00000 n -0000505222 00000 n -0000504092 00000 n -0000500706 00000 n -0000502962 00000 n -0000515405 00000 n -0000501835 00000 n -0000520740 00000 n -0000023952 00000 n -0000000249 00000 f -0000024109 00000 n -0000000251 00000 f -0000024269 00000 n -0000000253 00000 f -0000024428 00000 n -0000000255 00000 f -0000024588 00000 n -0000000257 00000 f -0000024742 00000 n -0000000259 00000 f -0000024898 00000 n -0000000261 00000 f -0000025055 00000 n -0000000263 00000 f -0000025210 00000 n -0000000265 00000 f -0000025364 00000 n -0000000267 00000 f -0000025521 00000 n -0000000269 00000 f -0000025678 00000 n -0000000271 00000 f -0000025832 00000 n -0000000273 00000 f -0000025988 00000 n +0000005507 00000 n +0000095927 00000 n +0000577342 00000 n +0000005562 00000 n +0000005686 00000 n +0000105713 00000 n +0000577263 00000 n +0000005741 00000 n +0000005900 00000 n +0000115329 00000 n +0000577131 00000 n +0000005949 00000 n +0000006261 00000 n +0000118415 00000 n +0000577052 00000 n +0000006313 00000 n +0000006419 00000 n +0000118477 00000 n +0000576959 00000 n +0000006471 00000 n +0000006582 00000 n +0000129512 00000 n +0000576880 00000 n +0000006634 00000 n +0000006722 00000 n +0000129574 00000 n +0000576748 00000 n +0000006771 00000 n +0000007088 00000 n +0000129636 00000 n +0000576669 00000 n +0000007140 00000 n +0000007340 00000 n +0000132878 00000 n +0000576590 00000 n +0000007392 00000 n +0000007546 00000 n +0000137073 00000 n +0000576458 00000 n +0000007595 00000 n +0000007937 00000 n +0000137135 00000 n +0000576393 00000 n +0000007989 00000 n +0000008168 00000 n +0000137196 00000 n +0000576275 00000 n +0000008217 00000 n +0000008569 00000 n +0000137257 00000 n +0000576210 00000 n +0000008621 00000 n +0000008785 00000 n +0000012581 00000 n +0000012888 00000 n +0000000185 00000 f +0000013041 00000 n +0000000187 00000 f +0000013193 00000 n +0000000189 00000 f +0000013347 00000 n +0000000191 00000 f +0000013499 00000 n +0000000193 00000 f +0000013654 00000 n +0000000195 00000 f +0000013809 00000 n +0000000197 00000 f +0000013964 00000 n +0000000199 00000 f +0000014114 00000 n +0000000201 00000 f +0000014269 00000 n +0000000203 00000 f +0000014425 00000 n +0000000205 00000 f +0000014580 00000 n +0000000207 00000 f +0000014736 00000 n +0000000209 00000 f +0000014891 00000 n +0000000211 00000 f +0000015045 00000 n +0000000213 00000 f +0000015202 00000 n +0000000215 00000 f +0000015358 00000 n +0000000217 00000 f +0000015515 00000 n +0000000219 00000 f +0000015669 00000 n +0000000221 00000 f +0000015826 00000 n +0000000223 00000 f +0000015983 00000 n +0000000225 00000 f +0000016136 00000 n +0000000227 00000 f +0000022469 00000 n +0000000229 00000 f +0000022623 00000 n +0000000231 00000 f +0000022780 00000 n +0000000233 00000 f +0000022937 00000 n +0000000235 00000 f +0000023091 00000 n +0000000252 00000 f +0000016415 00000 n +0000008835 00000 n +0000016291 00000 n +0000016353 00000 n +0000559255 00000 n +0000558125 00000 n +0000572357 00000 n +0000552467 00000 n +0000556995 00000 n +0000569435 00000 n +0000553596 00000 n +0000574301 00000 n +0000568303 00000 n +0000575463 00000 n +0000137604 00000 n +0000023248 00000 n +0000000254 00000 f +0000023405 00000 n +0000000256 00000 f +0000023557 00000 n +0000000258 00000 f +0000023714 00000 n +0000000260 00000 f +0000023870 00000 n +0000000262 00000 f +0000024030 00000 n +0000000264 00000 f +0000024189 00000 n +0000000266 00000 f +0000024349 00000 n +0000000268 00000 f +0000024503 00000 n +0000000270 00000 f +0000024660 00000 n +0000000272 00000 f +0000024817 00000 n +0000000274 00000 f +0000024974 00000 n +0000000276 00000 f +0000025127 00000 n +0000000278 00000 f +0000025284 00000 n +0000000280 00000 f +0000025440 00000 n +0000000282 00000 f +0000025594 00000 n +0000000284 00000 f +0000025749 00000 n 0000000000 00000 f -0000026295 00000 n -0000026695 00000 n -0000023367 00000 n -0000017866 00000 n -0000026452 00000 n -0000026142 00000 n -0000507480 00000 n -0000506351 00000 n -0000514273 00000 n -0000510874 00000 n -0000509742 00000 n -0000031359 00000 n -0000031117 00000 n -0000026900 00000 n -0000031236 00000 n -0000518603 00000 n -0000517349 00000 n -0000516282 00000 n -0000035743 00000 n -0000035379 00000 n -0000031576 00000 n -0000035498 00000 n -0000512005 00000 n -0000040269 00000 n -0000039841 00000 n -0000035948 00000 n -0000039960 00000 n -0000040083 00000 n -0000040145 00000 n -0000040207 00000 n -0000520550 00000 n -0000045722 00000 n -0000044674 00000 n -0000040514 00000 n -0000044793 00000 n -0000044855 00000 n -0000044917 00000 n -0000044979 00000 n -0000045041 00000 n -0000045103 00000 n -0000045226 00000 n -0000045288 00000 n -0000045350 00000 n -0000045412 00000 n -0000045474 00000 n -0000045536 00000 n -0000045598 00000 n -0000045660 00000 n -0000050254 00000 n -0000048279 00000 n -0000045953 00000 n -0000048398 00000 n -0000048582 00000 n -0000048644 00000 n -0000048705 00000 n -0000048767 00000 n -0000048829 00000 n -0000048891 00000 n -0000048953 00000 n -0000049015 00000 n -0000049077 00000 n -0000049139 00000 n -0000049201 00000 n -0000049263 00000 n -0000049325 00000 n -0000049387 00000 n -0000049449 00000 n -0000049511 00000 n -0000049573 00000 n -0000049635 00000 n -0000049697 00000 n -0000049759 00000 n -0000049820 00000 n -0000049882 00000 n -0000049944 00000 n -0000050006 00000 n -0000050068 00000 n -0000050130 00000 n -0000050192 00000 n -0000520857 00000 n -0000053590 00000 n -0000052234 00000 n -0000050472 00000 n -0000052353 00000 n -0000052415 00000 n -0000052477 00000 n -0000052539 00000 n -0000052601 00000 n -0000052663 00000 n -0000052725 00000 n -0000052787 00000 n -0000052849 00000 n -0000052910 00000 n -0000052972 00000 n -0000053033 00000 n -0000053095 00000 n -0000053156 00000 n -0000053218 00000 n -0000053280 00000 n -0000053342 00000 n -0000053404 00000 n -0000053466 00000 n -0000053528 00000 n -0000059950 00000 n -0000056430 00000 n -0000053781 00000 n -0000056549 00000 n -0000056611 00000 n -0000056672 00000 n -0000056734 00000 n -0000056796 00000 n -0000056858 00000 n -0000056920 00000 n -0000056982 00000 n -0000057044 00000 n -0000057106 00000 n -0000057168 00000 n -0000057230 00000 n -0000057292 00000 n -0000057354 00000 n -0000057415 00000 n -0000057477 00000 n -0000057537 00000 n -0000057599 00000 n -0000057660 00000 n -0000057722 00000 n -0000057784 00000 n -0000057846 00000 n -0000057908 00000 n -0000057970 00000 n -0000058032 00000 n -0000058094 00000 n -0000058156 00000 n -0000058218 00000 n -0000058280 00000 n -0000058342 00000 n -0000058404 00000 n -0000058465 00000 n -0000058527 00000 n -0000058589 00000 n -0000058651 00000 n -0000058713 00000 n -0000058774 00000 n -0000058836 00000 n -0000058898 00000 n -0000058960 00000 n -0000059022 00000 n -0000059084 00000 n -0000059146 00000 n -0000059208 00000 n -0000059270 00000 n -0000059332 00000 n -0000059394 00000 n -0000059456 00000 n -0000059518 00000 n -0000059580 00000 n -0000059642 00000 n -0000059704 00000 n -0000059766 00000 n -0000519575 00000 n -0000063856 00000 n -0000063492 00000 n -0000060169 00000 n -0000063611 00000 n -0000067482 00000 n -0000067058 00000 n -0000064020 00000 n -0000067177 00000 n -0000513137 00000 n -0000073024 00000 n -0000071237 00000 n -0000067686 00000 n -0000071356 00000 n -0000071540 00000 n -0000071602 00000 n -0000071664 00000 n -0000071726 00000 n -0000071788 00000 n -0000071850 00000 n -0000071912 00000 n -0000071974 00000 n -0000072036 00000 n -0000072098 00000 n -0000072160 00000 n -0000072222 00000 n -0000072284 00000 n -0000072407 00000 n -0000072469 00000 n -0000072531 00000 n -0000072593 00000 n -0000072655 00000 n -0000072716 00000 n -0000072778 00000 n -0000072839 00000 n -0000077254 00000 n -0000077410 00000 n -0000078310 00000 n -0000077107 00000 n -0000073282 00000 n -0000077567 00000 n -0000077691 00000 n -0000077753 00000 n -0000077815 00000 n -0000077877 00000 n -0000077939 00000 n -0000078001 00000 n -0000078063 00000 n -0000078125 00000 n -0000520974 00000 n -0000082588 00000 n -0000082744 00000 n +0000026056 00000 n +0000026395 00000 n +0000022146 00000 n +0000016643 00000 n +0000026213 00000 n +0000025902 00000 n +0000555861 00000 n +0000562644 00000 n +0000560384 00000 n +0000554727 00000 n +0000564907 00000 n +0000031183 00000 n +0000030881 00000 n +0000026628 00000 n +0000031000 00000 n +0000571379 00000 n +0000570312 00000 n +0000034382 00000 n +0000034201 00000 n +0000031403 00000 n +0000034320 00000 n +0000038569 00000 n +0000038144 00000 n +0000034532 00000 n +0000038263 00000 n +0000567174 00000 n +0000041713 00000 n +0000041471 00000 n +0000038775 00000 n +0000041590 00000 n +0000046063 00000 n +0000045389 00000 n +0000041891 00000 n +0000045508 00000 n +0000045570 00000 n +0000045632 00000 n +0000045694 00000 n +0000575273 00000 n +0000045756 00000 n +0000045818 00000 n +0000045879 00000 n +0000045939 00000 n +0000046001 00000 n +0000575580 00000 n +0000049741 00000 n +0000048944 00000 n +0000046283 00000 n +0000049063 00000 n +0000049186 00000 n +0000049248 00000 n +0000049310 00000 n +0000049372 00000 n +0000049434 00000 n +0000049496 00000 n +0000049558 00000 n +0000049619 00000 n +0000053785 00000 n +0000051873 00000 n +0000049961 00000 n +0000051992 00000 n +0000052115 00000 n +0000052177 00000 n +0000052239 00000 n +0000052301 00000 n +0000052362 00000 n +0000052424 00000 n +0000052485 00000 n +0000052547 00000 n +0000052608 00000 n +0000052670 00000 n +0000052732 00000 n +0000052794 00000 n +0000052856 00000 n +0000052918 00000 n +0000052980 00000 n +0000053042 00000 n +0000053104 00000 n +0000053166 00000 n +0000053228 00000 n +0000053290 00000 n +0000053352 00000 n +0000053414 00000 n +0000053476 00000 n +0000053538 00000 n +0000053599 00000 n +0000053661 00000 n +0000053723 00000 n +0000058021 00000 n +0000055984 00000 n +0000054005 00000 n +0000056103 00000 n +0000056165 00000 n +0000056227 00000 n +0000056289 00000 n +0000056351 00000 n +0000056413 00000 n +0000056475 00000 n +0000056537 00000 n +0000056598 00000 n +0000056660 00000 n +0000056721 00000 n +0000056783 00000 n +0000056844 00000 n +0000056906 00000 n +0000056968 00000 n +0000057029 00000 n +0000057091 00000 n +0000057153 00000 n +0000057215 00000 n +0000057277 00000 n +0000057339 00000 n +0000057401 00000 n +0000057463 00000 n +0000057525 00000 n +0000057587 00000 n +0000057649 00000 n +0000057711 00000 n +0000057773 00000 n +0000057835 00000 n +0000057897 00000 n +0000057959 00000 n +0000573329 00000 n +0000062513 00000 n +0000059794 00000 n +0000058227 00000 n +0000059913 00000 n +0000059975 00000 n +0000060037 00000 n +0000060099 00000 n +0000060161 00000 n +0000060223 00000 n +0000060285 00000 n +0000060347 00000 n +0000060409 00000 n +0000060471 00000 n +0000060533 00000 n +0000060594 00000 n +0000060656 00000 n +0000060717 00000 n +0000060779 00000 n +0000060840 00000 n +0000060902 00000 n +0000060964 00000 n +0000061026 00000 n +0000061088 00000 n +0000061150 00000 n +0000061212 00000 n +0000061274 00000 n +0000061336 00000 n +0000061398 00000 n +0000061460 00000 n +0000061522 00000 n +0000061584 00000 n +0000061646 00000 n +0000061708 00000 n +0000061770 00000 n +0000061832 00000 n +0000061894 00000 n +0000061956 00000 n +0000062018 00000 n +0000062079 00000 n +0000062141 00000 n +0000062203 00000 n +0000062265 00000 n +0000062327 00000 n +0000062389 00000 n +0000062451 00000 n +0000066005 00000 n +0000065580 00000 n +0000062691 00000 n +0000065699 00000 n +0000068952 00000 n +0000068710 00000 n +0000066197 00000 n +0000068829 00000 n +0000575697 00000 n +0000072422 00000 n +0000071997 00000 n +0000069144 00000 n +0000072116 00000 n +0000076516 00000 n +0000075348 00000 n +0000072615 00000 n +0000075467 00000 n +0000075649 00000 n +0000075711 00000 n +0000075773 00000 n +0000075835 00000 n +0000075897 00000 n +0000075959 00000 n +0000076021 00000 n +0000076083 00000 n +0000076145 00000 n +0000076207 00000 n +0000076269 00000 n +0000076331 00000 n +0000076393 00000 n +0000080999 00000 n +0000080138 00000 n +0000076750 00000 n +0000080257 00000 n +0000080319 00000 n +0000080381 00000 n +0000080443 00000 n +0000080505 00000 n +0000080567 00000 n +0000080628 00000 n +0000080690 00000 n +0000080751 00000 n 0000084483 00000 n -0000082433 00000 n -0000078528 00000 n -0000083057 00000 n -0000083181 00000 n -0000083243 00000 n -0000083305 00000 n -0000083367 00000 n -0000083429 00000 n -0000082900 00000 n -0000083553 00000 n -0000083615 00000 n -0000083677 00000 n -0000083739 00000 n -0000083801 00000 n -0000083863 00000 n -0000083925 00000 n -0000083987 00000 n -0000084049 00000 n -0000084111 00000 n -0000084173 00000 n -0000084235 00000 n -0000084297 00000 n -0000084359 00000 n -0000084421 00000 n -0000508610 00000 n -0000088682 00000 n -0000088995 00000 n -0000089151 00000 n -0000089310 00000 n -0000089626 00000 n -0000089780 00000 n -0000089935 00000 n -0000090093 00000 n -0000091674 00000 n -0000088471 00000 n -0000084716 00000 n -0000090251 00000 n -0000090313 00000 n -0000088839 00000 n -0000089469 00000 n -0000090437 00000 n -0000090499 00000 n -0000090561 00000 n +0000084796 00000 n +0000085631 00000 n +0000084328 00000 n +0000081246 00000 n +0000084951 00000 n +0000085013 00000 n +0000085075 00000 n +0000085137 00000 n +0000085199 00000 n +0000085261 00000 n +0000085323 00000 n +0000085384 00000 n +0000085446 00000 n +0000084640 00000 n +0000088981 00000 n +0000089134 00000 n +0000090809 00000 n +0000088826 00000 n +0000085865 00000 n +0000089448 00000 n +0000089572 00000 n +0000089634 00000 n +0000089696 00000 n +0000089758 00000 n +0000089820 00000 n +0000566043 00000 n +0000089291 00000 n +0000089944 00000 n +0000090006 00000 n +0000090068 00000 n +0000090130 00000 n +0000090192 00000 n +0000090254 00000 n +0000090316 00000 n +0000090378 00000 n +0000090439 00000 n +0000090501 00000 n +0000090562 00000 n 0000090623 00000 n 0000090685 00000 n 0000090747 00000 n -0000090809 00000 n -0000090871 00000 n -0000090933 00000 n -0000090995 00000 n -0000091057 00000 n -0000091119 00000 n -0000091180 00000 n -0000091242 00000 n -0000091303 00000 n -0000091365 00000 n -0000091426 00000 n -0000091488 00000 n -0000091550 00000 n -0000091612 00000 n -0000097316 00000 n -0000095652 00000 n -0000091905 00000 n -0000095771 00000 n -0000095833 00000 n -0000095895 00000 n -0000095957 00000 n -0000096019 00000 n -0000096081 00000 n -0000096143 00000 n -0000096205 00000 n -0000096267 00000 n -0000096328 00000 n -0000096390 00000 n -0000096450 00000 n -0000096512 00000 n -0000096573 00000 n -0000096635 00000 n -0000096697 00000 n -0000096759 00000 n -0000096821 00000 n -0000096883 00000 n -0000096945 00000 n -0000097007 00000 n -0000097069 00000 n -0000097131 00000 n -0000097254 00000 n -0000101576 00000 n -0000101735 00000 n -0000102052 00000 n -0000102209 00000 n -0000107303 00000 n -0000107460 00000 n -0000103450 00000 n -0000101397 00000 n -0000097521 00000 n -0000102523 00000 n -0000102585 00000 n -0000102646 00000 n -0000102707 00000 n -0000102769 00000 n -0000102831 00000 n -0000102893 00000 n -0000102955 00000 n -0000103017 00000 n -0000103079 00000 n -0000103141 00000 n -0000103203 00000 n -0000103265 00000 n -0000103327 00000 n -0000103388 00000 n -0000101894 00000 n -0000102366 00000 n -0000107617 00000 n -0000107774 00000 n -0000108179 00000 n -0000107140 00000 n -0000103642 00000 n -0000107931 00000 n -0000112929 00000 n -0000112748 00000 n -0000108383 00000 n -0000112867 00000 n -0000521091 00000 n -0000117730 00000 n -0000117303 00000 n -0000113132 00000 n -0000117422 00000 n -0000117484 00000 n -0000117545 00000 n -0000122009 00000 n -0000121704 00000 n -0000117934 00000 n -0000121823 00000 n -0000125333 00000 n -0000124904 00000 n -0000122199 00000 n -0000125023 00000 n -0000498845 00000 n -0000125616 00000 n -0000126137 00000 n -0000499667 00000 n -0000126384 00000 n -0000126529 00000 n -0000126552 00000 n -0000499423 00000 n -0000126791 00000 n -0000499498 00000 n -0000126952 00000 n -0000499604 00000 n -0000127560 00000 n -0000127585 00000 n -0000128138 00000 n -0000128683 00000 n -0000129536 00000 n -0000129561 00000 n -0000130014 00000 n -0000130459 00000 n -0000130822 00000 n -0000131358 00000 n -0000131671 00000 n -0000132245 00000 n -0000132744 00000 n -0000154250 00000 n -0000154493 00000 n -0000176028 00000 n -0000176293 00000 n -0000178878 00000 n -0000179129 00000 n -0000208088 00000 n -0000208439 00000 n -0000242168 00000 n -0000242696 00000 n -0000268208 00000 n -0000268522 00000 n -0000283071 00000 n -0000283303 00000 n -0000302278 00000 n -0000302594 00000 n -0000320131 00000 n -0000320410 00000 n -0000344706 00000 n -0000345053 00000 n -0000371035 00000 n -0000371409 00000 n -0000374080 00000 n -0000374363 00000 n -0000400261 00000 n -0000400549 00000 n -0000434263 00000 n -0000434557 00000 n -0000468115 00000 n -0000468762 00000 n -0000498471 00000 n -0000499766 00000 n -0000500895 00000 n -0000502024 00000 n -0000503154 00000 n -0000504284 00000 n -0000505414 00000 n -0000506541 00000 n -0000507671 00000 n -0000508801 00000 n -0000509933 00000 n -0000511065 00000 n -0000512195 00000 n -0000513334 00000 n -0000514464 00000 n -0000515601 00000 n -0000516478 00000 n -0000517546 00000 n -0000518794 00000 n -0000519768 00000 n -0000521192 00000 n -0000521278 00000 n -0000525336 00000 n -0000525516 00000 n -0000525694 00000 n -0000525872 00000 n -0000526046 00000 n -0000526216 00000 n -0000526400 00000 n -0000526623 00000 n -0000526846 00000 n -0000527060 00000 n -0000527278 00000 n -0000527495 00000 n -0000527713 00000 n -0000527929 00000 n -0000528147 00000 n -0000528364 00000 n -0000528582 00000 n -0000528800 00000 n -0000529017 00000 n -0000529234 00000 n -0000529452 00000 n -0000529669 00000 n -0000529885 00000 n -0000530103 00000 n -0000530321 00000 n -0000530539 00000 n -0000530755 00000 n -0000530972 00000 n -0000531185 00000 n -0000531395 00000 n -0000531605 00000 n -0000531815 00000 n -0000532025 00000 n -0000532235 00000 n -0000532445 00000 n -0000532655 00000 n -0000532865 00000 n -0000533054 00000 n -0000533224 00000 n -0000533393 00000 n -0000533555 00000 n -0000533765 00000 n -0000533956 00000 n -0000534153 00000 n -0000534363 00000 n -0000534583 00000 n -0000534805 00000 n -0000535025 00000 n -0000535246 00000 n -0000535356 00000 n -0000535474 00000 n -0000535595 00000 n -0000535716 00000 n -0000535837 00000 n -0000535957 00000 n -0000536076 00000 n -0000536194 00000 n -0000536317 00000 n -0000536406 00000 n -0000536522 00000 n -0000536622 00000 n -0000536711 00000 n -0000536749 00000 n -0000536877 00000 n +0000094791 00000 n +0000095105 00000 n +0000095262 00000 n +0000095422 00000 n +0000098981 00000 n +0000099137 00000 n +0000099294 00000 n +0000099454 00000 n +0000095988 00000 n +0000094612 00000 n +0000091044 00000 n +0000095741 00000 n +0000095803 00000 n +0000563774 00000 n +0000095865 00000 n +0000094948 00000 n +0000095582 00000 n +0000575814 00000 n +0000102090 00000 n +0000098818 00000 n +0000096209 00000 n +0000099614 00000 n +0000099676 00000 n +0000099738 00000 n +0000099800 00000 n +0000099862 00000 n +0000099924 00000 n +0000099986 00000 n +0000100048 00000 n +0000100110 00000 n +0000100172 00000 n +0000100234 00000 n +0000100296 00000 n +0000100358 00000 n +0000100420 00000 n +0000100482 00000 n +0000100544 00000 n +0000100606 00000 n +0000100668 00000 n +0000100730 00000 n +0000100792 00000 n +0000100854 00000 n +0000561513 00000 n +0000100916 00000 n +0000100977 00000 n +0000101039 00000 n +0000101101 00000 n +0000101163 00000 n +0000101225 00000 n +0000101287 00000 n +0000101348 00000 n +0000101410 00000 n +0000101471 00000 n +0000101533 00000 n +0000101594 00000 n +0000101656 00000 n +0000101718 00000 n +0000101780 00000 n +0000101842 00000 n +0000101904 00000 n +0000101966 00000 n +0000102028 00000 n +0000105837 00000 n +0000105532 00000 n +0000102310 00000 n +0000105651 00000 n +0000105775 00000 n +0000113629 00000 n +0000113789 00000 n +0000109436 00000 n +0000108449 00000 n +0000106030 00000 n +0000108568 00000 n +0000108630 00000 n +0000108692 00000 n +0000108754 00000 n +0000108816 00000 n +0000108878 00000 n +0000108940 00000 n +0000109002 00000 n +0000109064 00000 n +0000109126 00000 n +0000109188 00000 n +0000109250 00000 n +0000109312 00000 n +0000109374 00000 n +0000114106 00000 n +0000114263 00000 n +0000114577 00000 n +0000114734 00000 n +0000114891 00000 n +0000115048 00000 n +0000115391 00000 n +0000113418 00000 n +0000109629 00000 n +0000115205 00000 n +0000115267 00000 n +0000113948 00000 n +0000114420 00000 n +0000118538 00000 n +0000118234 00000 n +0000115597 00000 n +0000118353 00000 n +0000122166 00000 n +0000121985 00000 n +0000118730 00000 n +0000122104 00000 n +0000575931 00000 n +0000125572 00000 n +0000125268 00000 n +0000122385 00000 n +0000125387 00000 n +0000125449 00000 n +0000125511 00000 n +0000129698 00000 n +0000129331 00000 n +0000125750 00000 n +0000129450 00000 n +0000132940 00000 n +0000132697 00000 n +0000129890 00000 n +0000132816 00000 n +0000137319 00000 n +0000136892 00000 n +0000133132 00000 n +0000137011 00000 n +0000550653 00000 n +0000137636 00000 n +0000137701 00000 n +0000138222 00000 n +0000551412 00000 n +0000138743 00000 n +0000138888 00000 n +0000138911 00000 n +0000551231 00000 n +0000139150 00000 n +0000551306 00000 n +0000139311 00000 n +0000139917 00000 n +0000140456 00000 n +0000140644 00000 n +0000140669 00000 n +0000141122 00000 n +0000141620 00000 n +0000142473 00000 n +0000142498 00000 n +0000142943 00000 n +0000143306 00000 n +0000143842 00000 n +0000144155 00000 n +0000144178 00000 n +0000144752 00000 n +0000145251 00000 n +0000166757 00000 n +0000167000 00000 n +0000188535 00000 n +0000188800 00000 n +0000212687 00000 n +0000212939 00000 n +0000238994 00000 n +0000239352 00000 n +0000241937 00000 n +0000242188 00000 n +0000273006 00000 n +0000273406 00000 n +0000307135 00000 n +0000307663 00000 n +0000333078 00000 n +0000333392 00000 n +0000336431 00000 n +0000336667 00000 n +0000351216 00000 n +0000351448 00000 n +0000360507 00000 n +0000360745 00000 n +0000379720 00000 n +0000380036 00000 n +0000397573 00000 n +0000397852 00000 n +0000431977 00000 n +0000432354 00000 n +0000454924 00000 n +0000455221 00000 n +0000457892 00000 n +0000458175 00000 n +0000484073 00000 n +0000484361 00000 n +0000517919 00000 n +0000518566 00000 n +0000550249 00000 n +0000551527 00000 n +0000552656 00000 n +0000553785 00000 n +0000554920 00000 n +0000556057 00000 n +0000557187 00000 n +0000558317 00000 n +0000559447 00000 n +0000560574 00000 n +0000561705 00000 n +0000562835 00000 n +0000563965 00000 n +0000565102 00000 n +0000566234 00000 n +0000567364 00000 n +0000568494 00000 n +0000569631 00000 n +0000570508 00000 n +0000571576 00000 n +0000572548 00000 n +0000573522 00000 n +0000574491 00000 n +0000576040 00000 n +0000576134 00000 n +0000580286 00000 n +0000580469 00000 n +0000580647 00000 n +0000580825 00000 n +0000581000 00000 n +0000581170 00000 n +0000581340 00000 n +0000581562 00000 n +0000581785 00000 n +0000582005 00000 n +0000582223 00000 n +0000582441 00000 n +0000582656 00000 n +0000582874 00000 n +0000583090 00000 n +0000583308 00000 n +0000583525 00000 n +0000583741 00000 n +0000583959 00000 n +0000584177 00000 n +0000584395 00000 n +0000584612 00000 n +0000584828 00000 n +0000585046 00000 n +0000585263 00000 n +0000585481 00000 n +0000585697 00000 n +0000585915 00000 n +0000586127 00000 n +0000586337 00000 n +0000586547 00000 n +0000586757 00000 n +0000586967 00000 n +0000587177 00000 n +0000587387 00000 n +0000587597 00000 n +0000587807 00000 n +0000587986 00000 n +0000588156 00000 n +0000588324 00000 n +0000588492 00000 n +0000588654 00000 n +0000588873 00000 n +0000589066 00000 n +0000589260 00000 n +0000589478 00000 n +0000589701 00000 n +0000589925 00000 n +0000590141 00000 n +0000590362 00000 n +0000590472 00000 n +0000590583 00000 n +0000590704 00000 n +0000590825 00000 n +0000590946 00000 n +0000591066 00000 n +0000591185 00000 n +0000591303 00000 n +0000591421 00000 n +0000591513 00000 n +0000591629 00000 n +0000591729 00000 n +0000591818 00000 n +0000591856 00000 n +0000591984 00000 n trailer -<< /Size 765 -/Root 763 0 R -/Info 764 0 R -/ID [<7116BF7E048AAE38046D8E8A3EA21D0C> <7116BF7E048AAE38046D8E8A3EA21D0C>] >> +<< /Size 815 +/Root 813 0 R +/Info 814 0 R +/ID [<D8FC9983728873E17FFDBE666E2AEAA2> <D8FC9983728873E17FFDBE666E2AEAA2>] >> startxref -537151 +592258 %%EOF diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex index aef257dfd7..32a72ccdf9 100644 --- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex +++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex @@ -1,3 +1,6 @@ +% !TEX program = pdflatex +% !TEX ext = --interaction=nonstopmode --enable-etex --enable-write18 +% !BIB program = none %%%============================================================================== %% Copyright 2022-23 by Alceu Frigeri %% @@ -12,7 +15,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -22,274 +25,338 @@ %% EE stands for "Engineering School" %% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym) %%%============================================================================== -\documentclass[dctools,english,tocdepth=3,secdepth=3]{ufrgscca} % tcbundle tcpack tcmain -\usepackage{democodetools} +\documentclass[article,nogeometry,english,tocdepth=3,secdepth=3]{ufrgscca} % tcbundle tcpack tcmain +\usepackage[a4paper,margin=5cm,right=2cm,marginparwidth=3.5cm,asymmetric,top=2.5cm,bottom=1.5cm]{geometry} +\usepackage{codedescribe} \usepackage{ufrgscca-curr} \maxdeadcycles=500 %% the many marginpar statements are actually a pain. -\newif\iffulldoc +\newif\iffulldoc %\fulldocfalse \fulldoctrue -\iffulldoc - \dcTitle{The ufrgscca, and associated, Packages\\ Version \ufrgsccaversion \\(extended documentation)} -\else - \dcTitle{The ufrgscca, and associated, Packages\\ Version \ufrgsccaversion} -\fi - -\dcAuthor{Alceu Frigeri} -%\dcDate{January 2023} -\dcDate{\monthname\space\number\year} -\makeatletter - - \begin{document} - \dcMakeTitle +\iffulldoc +\tstitle{ + author={Alceu Frigeri\footnote{\tsverb{https://github.com/alceu-frigeri/ufrgscca}}}, + date={\monthname\space\number\year}, + title={The ufrgscca, and associated, Packages\\ Version \ufrgsccaversion \\(extended documentation)} + } +\else +\tstitle{ + author={Alceu Frigeri\footnote{\tsverb{https://github.com/alceu-frigeri/ufrgscca}}}, + date={\monthname\space\number\year}, + title={The ufrgscca, and associated, Packages\\ Version \ufrgsccaversion} + } +\fi - \begin{dcAbstract} - This bundled is aimed at producing undergraduate students final work/report at UFRGS/EE (Engineering School at the Federal University of Rio Grande do Sul), closely following ABNT rules (Brazilian Association for Technical Norms). It is composed of a main class, \Pack{ufrgscca}, and a set of auxiliary packages, some of which can be used independently. + \begin{tsabstract} + This bundled is aimed at producing undergraduate students final work/report at UFRGS/EE (Engineering School at the Federal University of Rio Grande do Sul), closely following ABNT rules (Brazilian Association for Technical Norms). It is composed of a main class, \tsobj[pkg]{ufrgscca}, and a set of auxiliary packages, some of which can be used independently. - \end{dcAbstract} + \end{tsabstract} \tableofcontents \section{Introduction} \emph{ABNT} rules can be quite challenging some times (read: bibliography style/references) and sometimes just odd (line spacing, front matter, page layout), nevertheless it is a \emph{Brazilian Standard} for typography whose students at UFRGS should grow cherished to follow. - In short, as of version \ufrgsccaversion\space the bundle is composed of a class, \Pack{ufrgscca} (based on the standard \LaTeX2e \Pack{report} class), which pre-loads all other, as needed, packages: \Packlst{ufrgscca-abnt, ufrgscca-core, ufrgscca-cover, ufrgscca-forms, ufrgscca-gen, ufrgscca-lists, ufrgscca-curr, ufrgscca-coord, ufrgscca-ppc}. + In short, as of version \ufrgsccaversion\space the bundle is composed of a class, \tsobj[pkg]{ufrgscca} (based on the standard \LaTeX2e \tsobj[pkg]{report} class), which pre-loads all other, as needed, packages: \tsobj[pkg]{ufrgscca-abnt, ufrgscca-core, ufrgscca-cover, ufrgscca\-forms, ufrgscca-gen, ufrgscca-lists, ufrgscca-curr, ufrgscca-coord, ufrgscca-ppc}. - N.B.: This bundle requires a quite recent \LaTeX2e kernel, at least as recent as June 2022, which allows to declare package options using the new \Key{key}~=\Key{value} system and declare commands with \Macro{\NewDocumentCommand}{}, out-of-the-box. +\begin{tsremark}[N.B.:] + This bundle requires a quite recent \LaTeX2e kernel, at least as recent as June 2022, which allows to declare package options using the \tsobj[key]{key}~=\tsobj[key]{value} system and declare commands with \tsmacro{\NewDocumentCommand}{}, out-of-the-box. +\end{tsremark} \subsection{Current Version} -For the sake of the “maintainer's sanity”, since this is a bundle, all files are saved with the same version (bundle version), with two exceptions: \Pack{ufrgscca-curr.sty} \Pack{ufrgscca-ppc.sty} which are less tested than the others, and somewhat in what one would call 'beta' state. Better said, all files are version \ufrgsccaversion, except \Pack{ufrgscca-curr} and \Pack{ufrgscca-ppc} whose versions are \ufrgsccacurrversion. +For the sake of the “maintainer's sanity”, since this is a bundle, all files are saved with the same version (bundle version), with two exceptions: \tsobj[pkg]{ufrgscca-curr.sty} \tsobj[pkg]{ufrgscca-ppc.sty} which are less tested than the others, and somewhat in what one would call 'beta' state. Better said, all files are version \ufrgsccaversion, except \tsobj[pkg]{ufrgscca-curr} and \tsobj[pkg]{ufrgscca-ppc} whose versions are \ufrgsccacurrversion. \section{\tightul{ufrgscca} Class} -The following packages are always pre-loaded: {\MetaFmt[Pack]\sffamily etex, etoolbox, lmodern, fontenc (T1), inputenc (utf8), silence, ufrgscca-abnt, ufrgscca-gen, ufrgscca-cover, ufrgscca-core, hyperref} and (if it exists) a \emph{local.tex} file. +The following packages are always pre-loaded: \tsobj[pkg]{etex, etoolbox, lmodern, fontenc (T1), inputenc (utf8), silence, ufrgscca-abnt, ufrgscca-gen}, \tsobj[pkg]{ ufrgscca-cover, ufrgscca-core, hyperref} and (if it exists) a \emph{local.tex} file. -Other set of auxiliary packages are also pre-loaded, depending on the class options used, and finally it loads (normally) the \Pack{report} class (the exception being if one uses the \Option{dctools} option). +Other set of auxiliary packages are also pre-loaded, depending on the class options used, and finally it loads (normally) the \tsobj[pkg]{report} class (the exception being if one uses the \tsobj[option]{dctools} option). Being based on the report class, one can use all class options one would with a report, plus the ones listed below. \subsection{Class Options} -\begin{Options} - \DescribeOption{tocdepth} use: \KeyUse{tocdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to appears in the Table of Contents (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 3 (\Macro{\subsubsection}{}). - \DescribeOption{secdepth} use: \KeyUse{secdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to be numbered. (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 4 (\Macro{\paragraph}{}). - \DescribeOption{english} the default language being Portuguese, this option changes locale to English. - \DescribeOption{brazilian} in some rare cases (to be further investigated) babel seems to get confused about which language is active, this “shouldn't be necessary” but one can explicitly tell babel to use THIS language (which should, otherwise, be the default one). - \DescribeOption{relnum} by default, figures, tables, etc. are numbered as a continuous series. With this switch, those lists are reset at each chapter, e.g. Figure 5.1 instead of Figure 23. - \DescribeOption{openright} in case of printed material, this will assure that a \Macro{\chapter}{} always starts at an odd page, which is relevant in case of printing out (double sided) the document. - \DescribeOption{oneside} in case the document will be printed in single side sheets, otherwise it's assumed a two-sided printing. - \DescribeOption{strict-abnt} to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width). - \DescribeOption{pretextontoc} “pre-text” elements, like “list of$\dots$” will be inserted in the “table of contents”. - \DescribeOption{yearsonly} Cover pages, at their bottom, will display the years only (instead of the default mouth year construct). - \DescribeOption{timesroman} will set the default font to Roman (using the obsolete mathptmx package, based on a free replacement of the proprietary Times New Roman (by Microsoft) and Times Roman (By Adobe)) instead of the default Latin Modern Roman font. As a side effect, the package \Pack{microtype} isn't loaded (can't be used), resulting in a sub-optimal overall layout. NB. The alternative (newer and maintained) packages \Pack{newtxtext}/\Pack{newtxmath} can't be used due to some packages incompatibilities. - \DescribeOption{repeatfields} in case of authors with multiple publications, their names will be repeated for each entry. In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries. - \DescribeOption{xlists} this will load the {\MetaFmt[Pack]\sffamily ufrgscca-lists} package, for the definition of new floats/lists. - \DescribeOption{xpacks} this will load a series of packages, which can be handy when writing Engineering reports: {\MetaFmt[Pack]\sffamily relsize, keyval, graphicx, mathtools, mathrsfs, amsfonts, amssymb, empheq, amsthm, ext\-arrows, mathfixs, bigdelim, circuitikz, steimenz} and tikz libraries: {\MetaFmt[Pack]\sffamily fit, math, calc, shapes.geometry, shapes.misc, shapes.multipart, graphs, 3d, positioning, shadows, babel}. One is advised to look after each package documentation (ctan.org) for further information. - \DescribeOption{report} in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance). - \DescribeOption{internship} in case the doc is an internship report. - \DescribeOption{nonrequired} in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise. - \DescribeOption{forms} in the process of submitting a student final work/report, there is a series of forms to be submitted, this allows the customization of said forms in a simple way. - \DescribeOption{chapternopagenum} to suppress the page numbers at chapters begin. - \DescribeOption{nomicrotype} in some rare cases, \Pack{microtype} might hurt page layout, this allows the suppression of \Pack{microtype}. - \DescribeOption{showframes} for layout proof only, it will draw frames around each page main parts. - \DescribeOption{showlabels} it will put a reference mark in each label created, and print out it's name. - \DescribeOption{nofontwarning} in case of \Pack{ufrgscca-ppc} is loaded, it will suppress some font related warnings. - \DescribeOption{nolocal} this will suppress the loading of any local.tex file, which would, otherwise, be loaded. - \DescribeOption{dctools} this will change page layout and base class to article, it is meant to document the class itself. - \DescribeOption{texlive} this is a reserved key, in case some workaround for texlive is needed. - \DescribeOption{overleaf} this is a reserved key, in case some workaround for overleaf is needed. - \DescribeOption{miktex} this is a reserved key, in case some workaround for miktex is needed. -\end{Options} +\begin{describelist}{option} + \describe {tocdepth} { use: \tsobj[key]Use{tocdepth}{number}, whereas \tsobj[meta]{number} indicates the deepest sectioning to appears in the Table of Contents (0 being the top section, which is \tsmacro{\chapter}{} for report based classes, 1 being \tsmacro{\section}{}, and so on.) The default value being 3 (\tsmacro{\subsubsection}{}).} + + \describe {secdepth} { use: \tsobj[key]Use{secdepth}{number}, whereas \tsobj[meta]{number} indicates the deepest sectioning to be numbered. (0 being the top section, which is \tsmacro{\chapter}{} for report based classes, 1 being \tsmacro{\section}{}, and so on.) The default value being 4 (\tsmacro{\paragraph}{}).} + + \describe {english} { the default language being Portuguese, this option changes locale to English.} + + \describe {brazilian} { in some rare cases (to be further investigated) babel seems to get confused about which language is active, this “shouldn't be necessary” but one can explicitly tell babel to use THIS language (which should, otherwise, be the default one).} + + \describe {relnum} { by default, figures, tables, etc. are numbered as a continuous series. With this switch, those lists are reset at each chapter, e.g. Figure 5.1 instead of Figure 23.} + + \describe {openright} { in case of printed material, this will assure that a \tsmacro{\chapter}{} always starts at an odd page, which is relevant in case of printing out (double sided) the document.} + + \describe {oneside} { in case the document will be printed in single side sheets, otherwise it's assumed a two-sided printing.} + + \describe {strict-abnt} {to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width).} + + \describe {pretextontoc} { “pre-text” elements, like “list of$\dots$” will be inserted in the “table of contents”.} + + \describe {yearsonly} { Cover pages, at their bottom, will display the years only (instead of the default mouth year construct).} + + \describe {timesroman} { will set the default font to Roman (using the obsolete mathptmx package, based on a free replacement of the proprietary + Times New Roman (by Microsoft) and Times Roman (By Adobe)) instead of the default Latin Modern Roman font. + As a side effect, the package \tsobj[pkg]{microtype} isn't loaded (can't be used), resulting in a sub-optimal overall layout. + NB. The alternative (newer and maintained) packages \tsobj[pkg]{newtxtext}/\tsobj[pkg]{newtxmath} can't be used due to some packages incompatibilities.} + + \describe {repeatfields} { in case of authors with multiple publications, their names will be repeated for each entry. +In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries.} + + \describe {xlists} { this will load the \tsobj[pkg]{ufrgscca-lists} package, for the definition of new floats/lists.} + + \describe {xpacks} { this will load a series of packages, which can be handy when writing Engineering reports: + \tsobj[pkg]{relsize, keyval, graphicx, mathtools, mathrsfs, amsfonts, amssymb, empheq, amsthm, ext\-arrows, mathfixs, bigdelim, circuitikz, steimenz} + and tikz libraries: \tsobj[pkg]{ fit, math, calc, shapes.geometry, shapes.misc, shapes.multipart, graphs, 3d, positioning, shadows, babel}. + One is advised to look after each package documentation (ctan.org) for further information.} +%\end{describelist} + +%\begin{describelist}{option} + %some random text, inserted here... + + \describe {report} { in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).} + + \describe {internship} { in case the doc is an internship report.} + + \describe {nonrequired} { in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise.} + + \describe {forms} { in the process of submitting a student final work/report, there is a series of forms to be submitted, this allows the customization of said forms in a simple way.} + + \describe {chapternopagenum} { to suppress the page numbers at chapters begin.} + + \describe {nomicrotype} { in some rare cases, \tsobj[pkg]{microtype} might hurt page layout, this allows the suppression of \tsobj[pkg]{microtype}.} + + \describe {showframes} { for layout proof only, it will draw frames around each page main parts.} + + \describe {showlabels} { it will put a reference mark in each label created, and print out it's name.} + + \describe {nofontwarning} { in case of \tsobj[pkg]{ufrgscca-ppc} is loaded, it will suppress some font related warnings.} + + \describe {nolocal} { this will suppress the loading of any local.tex file, which would, otherwise, be loaded.} + + \describe {article} { this will load the class \tsobj[pkg]{article} instead of \tsobj[pkg]{report}, it's meant to document the class itself.} + + \describe {nogeometry} { the package \tsobj[pkg]{geometry} won't be loaded. In case one wants to fully customize the page geometry} + + \describe {texlive} { this is a reserved key, in case some workaround for texlive is needed.} + + \describe {overleaf} { this is a reserved key, in case some workaround for overleaf is needed.} + + \describe {miktex} { this is a reserved key, in case some workaround for miktex is needed.} +\end{describelist} \subsection{Class Declared Commands} -\begin{Macros}{\autonameref,\annexref,\autoannexref} - \begin{Syntax}% - \Macro!{\autonameref}{\oarg{sep}\marg{label}\oarg{spc}} - \Macro{\annexref}{label} - \Macro!{\autoannexref}{\oarg{sep}\marg{label}\oarg{spc}} - \end{Syntax} -The \Pack{hyperref} package, sometimes, gets the \Macro{\autoref}{} name wrong (when referencing an annex), the \Macro{\annexref}{label} will assure the correct annex name is used. +\begin{codedescribe}{\autonameref,\annexref,\autoannexref} + \begin{codesyntax}% + \tsobj[code]{\autonameref}{\tsobj[oarg]{sep}\tsobj[marg]{label}\tsobj[oarg]{spc}} + \tsmacro{\annexref}{label} + \tsobj[code]{\autoannexref}{\tsobj[oarg]{sep}\tsobj[marg]{label}\tsobj[oarg]{spc}} + \end{codesyntax} +The \tsobj[pkg]{hyperref} package, sometimes, gets the \tsmacro{\autoref}{} name wrong (when referencing an annex), the \tsmacro{\annexref}{label} will assure the correct annex name is used. -\Macro{\autonameref}{label} produces an entry of the form `\Macro{\autoref}{label} \Arg{sep} \Macro{\nameref}{label} \Arg{spc}' +\tsmacro{\autonameref}{label} produces an entry of the form `\tsmacro{\autoref}{label} \tsobj[meta]{sep} \tsmacro{\nameref}{label} \tsobj[meta]{spc}' -\Macro{\autoannexref}{label} produces an entry of the form `\Macro{\annexref}{label} \Arg{sep} \Macro{\nameref}{label} \Arg{spc}' +\tsmacro{\autoannexref}{label} produces an entry of the form `\tsmacro{\annexref}{label} \tsobj[meta]{sep} \tsmacro{\nameref}{label} \tsobj[meta]{spc}' -The default \Arg{sep} being a comma, and the default \Arg{spc} being empty space. +The default \tsobj[meta]{sep} being a comma, and the default \tsobj[meta]{spc} being empty space. -\end{Macros} +\end{codedescribe} \subsection{Class Known Hooks} -\begin{Macros}{\miktexHack,\overleafHack,\livetexHack} - \begin{Syntax}% - \Macro{\miktexHack}{} - \Macro{\overleafHack}{} - \Macro{\livetexHack}{} - \end{Syntax} +\begin{codedescribe}{\miktexHack,\overleafHack,\livetexHack} + \begin{codesyntax}% + \tsmacro{\miktexHack}{} + \tsmacro{\overleafHack}{} + \tsmacro{\livetexHack}{} + \end{codesyntax} In case some workaround is needed due an unexpected error (when upgrading packages/\TeX system) the class “knows” about those three hooks. - They will be executed if, and only if, they are user defined and the corresponding package option is used, i.e., for example, for the hook \Macro{\miktexHack}{} to be used/called by the class \Packlst{ufrgscca}, one has to: a)~defined it and b)~use the class option \Option{miktex}. -\end{Macros} + They will be executed if, and only if, they are user defined and the corresponding package option is used, i.e., for example, for the hook \tsmacro{\miktexHack}{} to be used/called by the class \tsobj[pkg]{ufrgscca}, one has to: a)~define it and b)~use the class option \tsobj[option]{miktex}. +\end{codedescribe} \section{\tightul{ufrgscca-abnt} Package} -This package is the one that sets the page layout (using \Packlst{geometry, titlesec, titletoc}) and adjusts the main float environments (figure, tables, captions). +This package is the one that sets the page layout (using \tsobj[pkg]{geometry, titlesec, titletoc}) and adjusts the main float environments (figure, tables, captions). It can be used as a stand alone package, regardless of the underlying class. -The following packages are always pre-loaded: {\MetaFmt[Pack]\sffamily babel, csquotes, geometry, appendix, titlesec, titletoc, enumitem, chngctr, caption, biblatex, microtype, array, nicematrix, contour} and {\MetaFmt[Pack]\sffamily soul}. +The following packages are always pre-loaded: \tsobj[pkg]{ babel, csquotes, geometry, appendix, titlesec, titletoc, enumitem, chngctr, caption, biblatex, microtype, array, nicematrix, contour, soul}. -Take note that \Pack{biblatex} is loaded with the \textbf{\Option{biber}} option, to correctly handle ABNT biography style. +Take note that \tsobj[pkg]{biblatex} is loaded with the \textbf{\tsobj[option]{biber}} option, to correctly handle ABNT biography style. \subsection{Package Options} -\begin{Options} - \DescribeOption{strict-abnt} to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width). - \DescribeOption{chapternopagenum} to suppress the page numbers at chapters begin. - \DescribeOption{relnum} by default, figures, tables, etc. are numbered as a continuous series. With this switch, those lists are reset at each chapter, e.g. Figure 5.1 instead of Figure 23. - \DescribeOption{repeatfields} in case of authors with multiple publications, their names will be repeated for each entry. In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries. - \DescribeOption{yearsonly} Cover pages, at their bottom, will display the years only (instead of the default mouth year construct). - \DescribeOption{nomicrotype} in some rare cases, \Pack{microtype} might hurt page layout, this allows the suppression of \Pack{microtype}. - \DescribeOption{showframes} for layout proof only, it will draw frames around each page main parts. - \DescribeOption{showlabels} it will put a reference mark in each label created, and print out it's name. - \DescribeOption{tocdepth} use: \KeyUse{tocdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to appears in the Table of Contents (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 3 (\Macro{\subsubsection}{}). - \DescribeOption{secdepth} use: \KeyUse{secdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to be numbered. (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 4 (\Macro{\paragraph}{}). - \DescribeOption{dctools} this will change page layout and base class to article, it is meant to document the class itself. -\end{Options} - -\begin{Macros}{\keyword} - \begin{Syntax}% - \Macro{\keyword}{keyword} - \end{Syntax} -\end{Macros} + + +\begin{describelist}{option} + \describe {strict-abnt} {to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width).} + + \describe {chapternopagenum} { to suppress the page numbers at chapters begin.} + + \describe {relnum} { by default, figures, tables, etc. are numbered as a continuous series. With this switch, those lists are reset at each chapter, e.g. Figure 5.1 instead of Figure 23.} + + \describe {repeatfields} { in case of authors with multiple publications, their names will be repeated for each entry. In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries.} + + \describe {yearsonly} { Cover pages, at their bottom, will display the years only (instead of the default mouth year construct).} + + \describe {yearsonly}{ Cover pages, at their bottom, will display the years only, instead of the default mouth year construct.} + + \describe {nomicrotype} { in some rare cases, \tsobj[pkg]{microtype} might hurt page layout, this allows the suppression of \tsobj[pkg]{microtype}.} + + \describe {showframes} { for layout proof only, it will draw frames around each page main parts.} + + \describe {showlabels} { it will put a reference mark in each label created, and print out it's name.} + + \describe {tocdepth} { use: \tsobj[key]{tocdepth}=\tsobj[meta]{number}, whereas \tsobj[meta]{number} indicates the deepest sectioning to appears in the Table of Contents (0 being the top section, which is \tsmacro{\chapter}{} for report based classes, 1 being \tsmacro{\section}{}, and so on.) The default value being 3 (\tsmacro{\subsubsection}{}).} + + \describe {secdepth} { use: \tsobj[key]{secdepth}=\tsobj[meta]{number}, whereas \tsobj[meta]{number} indicates the deepest sectioning to be numbered. (0 being the top section, which is \tsmacro{\chapter}{} for report based classes, 1 being \tsmacro{\section}{}, and so on.) The default value being 4 (\tsmacro{\paragraph}{}).} + + \describe {dctools} { this will change page layout and base class to article, it is meant to document the class itself.} +\end{describelist} + + +\subsection{Commands} + +\begin{codedescribe}{\keyword} + \begin{codesyntax}% + \tsmacro{\keyword}{keyword} + \end{codesyntax} This command can be invoked many times, it will construct a list of keywords to be used when printing out the abstract environment. +\end{codedescribe} -\begin{Macros}{\sourcecitation,\note} - \begin{Syntax}% - \Macro{\sourcecitation}{source} - \Macro{\note}{text} - \end{Syntax} -\end{Macros} +\begin{codedescribe}{\sourcecitation,\note} + \begin{codesyntax} + \tsmacro{\sourcecitation}{source} + \tsmacro{\note}{text} + \end{codesyntax} When describing floating elements (like figure, tables, circuits) one always has to cite the source of it, and in some cases it might be necessary to add a special note. Those assure uniformity when doing that. - -\begin{Macros}{\nonum,\notoc} - \begin{Syntax}% - \Macro!{\nonum}{\Macro{\chapter}{chap.title}} - \Macro!{\nonum}{\Macro{\section}{sec.title}} - \Macro!{\notoc}{\Macro{\chapter}{chap.title}} - \Macro!{\notoc}{\Macro{\section}{sec.title}} - \end{Syntax} -\end{Macros} -In some cases, it might be necessary to create a numberless chapters or sections. Those two commands can be used as a \emph{prefix} to any sectioning command. Whilst \Macro{\nonum}{} will just suppress the sectioning number, the \Macro{\notoc}{} will also suppress it from the table of contents. - -\begin{stcode}[st=demononum] +\end{codedescribe} + +\begin{codedescribe}{\nonum,\notoc} + \begin{codesyntax}% + \tsobj[code]{\nonum}{\tsmacro{\chapter}{chap.title}} + \tsobj[code]{\nonum}{\tsmacro{\section}{sec.title}} + \tsobj[code]{\notoc}{\tsmacro{\chapter}{chap.title}} + \tsobj[code]{\notoc}{\tsmacro{\section}{sec.title}} + \end{codesyntax} +In some cases, it might be necessary to create a numberless chapters or sections. Those two commands can be used as a \emph{prefix} to any sectioning command. Whilst \tsmacro{\nonum}{} will just suppress the sectioning number, the \tsmacro{\notoc}{} will also suppress it from the table of contents. +\end{codedescribe} + +\begin{codestore}[st=demononum] \nonum\chapter{some title} %this one will appear in the toc \notoc\section{some other title} %this won't even appear in the toc -\end{stcode} -\DisplayCode[emph={nonum,notoc}]{demononum} +\end{codestore} +\tscode*[emph={nonum,notoc}]{demononum} -\begin{Macros}{\tightul} - \begin{Syntax}% - \Macro{\tightul}{text} - \end{Syntax} -\end{Macros} -This will \emph{underline} a short text, take note that \Meta{text} `can't be broken' (think paragraph justification), which can lead to \emph{text overflows} and bad justification. +\begin{codedescribe}{\tightul} + \begin{codesyntax}% + \tsmacro{\tightul}{text} + \end{codesyntax} +This will \emph{underline} a short text, take note that \tsobj[meta]{text} `can't be broken' (think paragraph justification), which can lead to \emph{text overflows} and bad justification. +\end{codedescribe} -\begin{stcode}[st=demotight] +\begin{codestore}[st=demotight] \tightul{Some text example}% -\end{stcode} +\end{codestore} -\TabbedDemoCode[emph={tightul}]{demotight}[-0.75ex] +\tsdemo[emph={tightul}]{demotight}[-0.75ex] -\begin{Macros}{\NewChapListEnv} - \begin{Syntax}% - \Macro{\NewChapListEnv}{envname,displayname} - \end{Syntax} -\end{Macros} -This is the command used to created those \emph{chapter like} lists, like `List of Symbols' or `List of acronyms'. With it, a new environment is created, \Arg{envname}, with an associated `numberless' chapter name \Arg{displayname}. The newly created environment will implement a \emph{description} like environment (thanks to \Pack{enumitem}) with an optional and a mandatory argument (see below). +\begin{codedescribe}{\NewChapListEnv} + \begin{codesyntax}% + \tsmacro{\NewChapListEnv}{envname,displayname} + \end{codesyntax} +\end{codedescribe} +This is the command used to created those \emph{chapter like} lists, like `List of Symbols' or `List of acronyms'. With it, a new environment is created, \tsobj[meta]{envname}, with an associated `numberless' chapter name \tsobj[meta]{displayname}. The newly created environment will implement a \emph{description} like environment (thanks to \tsobj[pkg]{enumitem}) with an optional and a mandatory argument (see below). -\begin{stcode}[st=d.newchapenv] +\begin{codestore}[st=d.newchapenv] \def\listabbrvname{Lista de Abreviaturas} \NewChapListEnv{listofabbrv}{\listabbrvname} % this is the actual code used in ufrgscca-abnt.sty -\end{stcode} -\DisplayCode{d.newchapenv} +\end{codestore} +\tscode*{d.newchapenv} -\begin{Macros}{\date,\today,\monthname} - \begin{Syntax}% - \Macro{\date}[day]{month,year} - \Macro{\today}{} - \Macro{\monthname}{} - \end{Syntax} -\end{Macros} -The command \Macro{\date}{} is redefined, to allow a separation between the many arguments \Arg{day}, \Arg{month} and \Arg{year}. If not called by the user it \emph{defaults} to current month / year. \Macro{\today}{} returns the current \emph{locale} date, whilst \Macro{\monthname}{} returns the \emph{locale} name of the current month. +\begin{codedescribe}{\date,\today,\monthname} + \begin{codesyntax}% + \tsmacro{\date}[day]{month,year} + \tsmacro{\today}{} + \tsmacro{\monthname}{} + \end{codesyntax} +\end{codedescribe} +The command \tsmacro{\date}{} is redefined, to allow a separation between the many arguments \tsobj[meta]{day}, \tsobj[meta]{month} and \tsobj[meta]{year}. If not called by the user it \emph{defaults} to current month / year. \tsmacro{\today}{} returns the current \emph{locale} date, whilst \tsmacro{\monthname}{} returns the \emph{locale} name of the current month. \subsection{Environments} -\begin{Envs}{abstract} - \begin{Syntax}% - \Macro{\begin{abstract}}[lang]{keywords}\ldots\Macro{\end{abstract}}{} - \end{Syntax} - The standard environment \Env{abstract} is redefined as a numberless chapter based on the current locale (default: Portuguese), at the end of it the keywords list created with \Macro{\keyword}{} will be added. -\end{Envs} +\begin{codedescribe}[env]{abstract} + \begin{codesyntax}% + \tsmacro{\begin{abstract}}[lang]{keywords}\ldots\tsmacro{\end{abstract}}{} + \end{codesyntax} + The standard environment \tsobj[env]{abstract} is redefined as a numberless chapter based on the current locale (default: Portuguese), at the end of it the keywords list created with \tsmacro{\keyword}{} will be added. +\end{codedescribe} -\begin{stcode}[st=d.abstract] +\begin{codestore}[st=d.abstract] \keyword{a keyword} \keyword{another keyword} \begin{abstract} some short summary of things\ldots \end{abstract} -\end{stcode} -\DisplayCode{d.abstract} +\end{codestore} +\tscode*{d.abstract} -\begin{Envs}{otherabstract} - \begin{Syntax}% - \Macro{\begin{otherabstract}}[lang]{keywords}\ldots\Macro{\end{otherabstract}}{} - \end{Syntax} +\begin{codedescribe}[env]{otherabstract} + \begin{codesyntax}% + \tsmacro{\begin{otherabstract}}[lang]{keywords}\ldots\tsmacro{\end{otherabstract}}{} + \end{codesyntax} This is the environment to create an abstract in a language other than the default one. -The default value for \Arg{lang} is english, and it can be any value that \Pack{babel} understands. The \Arg{keywords} are just a list of keywords which will be added at the end of the \emph{otherabstract}. -\end{Envs} +The default value for \tsobj[meta]{lang} is english, and it can be any value that \tsobj[pkg]{babel} understands. The \tsobj[meta]{keywords} are just a list of keywords which will be added at the end of the \emph{otherabstract}. +\end{codedescribe} -\begin{stcode}[st=d.oabstract] +\begin{codestore}[st=d.oabstract] \begin{otherabstract}[english]{a keyword, another keyword} some short summary of things\ldots \end{otherabstract} -\end{stcode} -\DisplayCode{d.oabstract} - - -\begin{Envs}{listofabbrv,listofsymbols} - \begin{Syntax}% - \Macro{\begin{listofabbrv}}[enum-opt]{ABBRV}\ldots\Macro{\end{listofabbrv}}{} - \Macro{\begin{listofsymbols}}[enum-opt]{SYMB}\ldots\Macro{\end{listofsymbols}}{} - \end{Syntax} -\end{Envs} -Both environments create a description like list preceded by a numberless (\Macro{\nonum}{}) chapter. \Arg{enum-opt} is any \Pack{enumitem} list valid key. Whereas \Arg{ABBRV} / \Arg{SYMB} are just the `biggest' abbreviation/symbol to be used as a tab reference. - -\begin{Envs}{appendix,annex} - \begin{Syntax}% - \Macro{\begin{appendix}}{}.... \Macro{\end{appendix}}{} - \Macro{\begin{annex}}{}.... \Macro{\end{annex}}{} - \end{Syntax} -\end{Envs} +\end{codestore} +\tscode*{d.oabstract} + + +\begin{codedescribe}[env]{listofabbrv,listofsymbols} + \begin{codesyntax}% + \tsmacro{\begin{listofabbrv}}[enum-opt]{ABBRV}\ldots\tsmacro{\end{listofabbrv}}{} + \tsmacro{\begin{listofsymbols}}[enum-opt]{SYMB}\ldots\tsmacro{\end{listofsymbols}}{} + \end{codesyntax} +\end{codedescribe} +Both environments create a description like list preceded by a numberless (\tsmacro{\nonum}{}) chapter. \tsobj[meta]{enum-opt} is any \tsobj[pkg]{enumitem} list valid key. Whereas \tsobj[meta]{ABBRV} / \tsobj[meta]{SYMB} are just the `biggest' abbreviation/symbol to be used as a tab reference. + +\begin{codedescribe}[env]{appendix,annex} + \begin{codesyntax}% + \tsmacro{\begin{appendix}}{}.... \tsmacro{\end{appendix}}{} + \tsmacro{\begin{annex}}{}.... \tsmacro{\end{annex}}{} + \end{codesyntax} +\end{codedescribe} Those two environments start the appendices and annex chapters (using locale). Chapters are alphabetic \emph{numbered} (starting at A). \subsection{Tabular New Columns} -Thanks to \Pack{array} some new columns types are defined: -\begin{Values} - \DescribeValue{P} \Value{P\marg{width}} Normal text, ragged left. - \DescribeValue{B} \Value{B\marg{width}} Bold text, ragged left. - \DescribeValue{C} \Value{C\marg{width}} Normal text, centered. - \DescribeValue{R} \Value{R\marg{width}} Normal text, ragged left. - \DescribeValue{L} \Value{L\marg{width}} Normal text, ragged right. - \DescribeValue{J} \Value{J\marg{width}} Normal text, justified. - - \end{Values} +Thanks to \tsobj[pkg]{array} some new columns types are defined: +\begin{describelist}{value} + \describe {P} { \tsobj[value]{P\{\tsobj[marg]{width}\}} Normal text, ragged left.} + + \describe {B} { \tsobj[value]{B\{\tsobj[marg]{width}\}} Bold text, ragged left.} + \describe {C} { \tsobj[value]{C\{\tsobj[marg]{width}\}} Normal text, centered.} + \describe {R} { \tsobj[value]{R\{\tsobj[marg]{width}\}} Normal text, ragged left.} + \describe {L} { \tsobj[value]{L\{\tsobj[marg]{width}\}} Normal text, ragged right.} + \describe {J} { \tsobj[value]{J\{\tsobj[marg]{width}\}} Normal text, justified.} + \end{describelist} + + + \subsection{enumitem Extra Keys} -Besides the \emph{default} keys defined by the \Pack{enumitem} package a few others are defined for author's convenience: -\begin{Keys} - \DescribeKey{ppc, tcc} \Key{ppc} and \Key{tcc} are alias of each other, and just assure that lists indentation will be the same as paragraphs default. - \DescribeKey{parindent} with \Key{parindent}, the list number/mark is aligned with paragraph indentation. - \DescribeKey{noindent} \Key{noindent} removes the label indentation. +Besides the \emph{default} keys defined by the \tsobj[pkg]{enumitem} package a few others are defined for author's convenience: + +\begin{describelist}{key} + \describe {ppc, tcc} {\tsobj[key]{ppc} and \tsobj[key]{tcc} are alias of each other, and just assure that lists indentation will be the same as paragraphs default.} + \describe {parindent} { with \tsobj[key]{parindent}, the list number/mark is aligned with paragraph indentation.} + \describe {noindent} { \tsobj[key]{noindent} removes the label indentation.} - \begin{stcode}[st=enumA] + \begin{codestore}[st=enumA] \begin{enumerate}[tcc] \item some A \item some B @@ -308,13 +375,14 @@ Besides the \emph{default} keys defined by the \Pack{enumitem} package a few oth \end{enumerate} New paragraph, for reference. -\end{stcode} +\end{codestore} - \TabbedDemoCode[parindent=org]{enumA} +% \tsdemo*[parindent=org]{enumA} + \tsdemo{enumA} - \DescribeKey{tight} allows for very tight lists (no indentation) to be used, for instance, inside quotes. N.B. don't use it in normal paragraph mode, otherwise the labels will spill outside the default text window. - \DescribeKey{miditemsep} \Key{miditemsep} halves items separation, as an alternative to \Key{noitemsep} from \Pack{enumitem} - \begin{stcode}[st=enumB] + \describe {tight} { allows for very tight lists (no indentation) to be used, for instance, inside quotes. N.B. don't use it in normal paragraph mode, otherwise the labels will spill outside the default text window.} + \describe {miditemsep} { \tsobj[key]{miditemsep} halves items separation, as an alternative to \tsobj[key]{noitemsep} from \tsobj[pkg]{enumitem}} + \begin{codestore}[st=enumB] \begin{enumerate}[tcc] \item some A \item some B @@ -327,41 +395,59 @@ New paragraph, for reference. \item some A \item some B \end{enumerate} -\end{stcode} - -\TabbedDemoCode{enumB} - - - \DescribeKey{arabic} That's the \emph{default} enumerate style. Arabic numbers, starting at 1, followed by a dot. - \DescribeKey{arabic)} Label will be constructed as number followed by a parenthesis. - \DescribeKey{(arabic)} Label will be enclosed by parenthesis. - \DescribeKey{arabic*} (for secondary lists) Label will be constructed by the label of the outer list, this item number and a final dot. - \DescribeKey{arabic*)} (for secondary lists) Label will be constructed by the label of the outer list, this item number and a final parenthesis. - - \DescribeKey{roman} This and below keys are the same as the arabic ones, but using lower case roman numbers. - \DescribeKey{roman)} lower case roman number, followed by a parenthesis. - \DescribeKey{(roman)} enclosed by parenthesis. - \DescribeKey{roman*} preceding one followed by roman number and a final dot. - \DescribeKey{roman*)} same, followed by a final parenthesis. - - \DescribeKey{Roman} This and below keys are the same as the arabic ones, but using upper case roman numbers. - \DescribeKey{Roman)} upper case roman number, followed by a parenthesis. - \DescribeKey{(Roman)} enclosed by parenthesis. - \DescribeKey{Roman*} preceding one followed by roman number and a final dot. - \DescribeKey{Roman*)} same, followed by a final parenthesis. - - \DescribeKey{alpha} This and below keys are the same as the arabic ones, but using lower case alpha numbers. - \DescribeKey{alpha)} lower case alpha number, followed by a parenthesis. - \DescribeKey{(alpha)} enclosed by parenthesis. - \DescribeKey{alpha*} preceding one followed by alpha number and a final dot. - \DescribeKey{alpha*)} same, followed by a final parenthesis. - - \DescribeKey{Alpha} This and below keys are the same as the arabic ones, but using upper case alpha numbers. - \DescribeKey{Alpha)} upper case roman number, followed by a parenthesis. - \DescribeKey{(Alpha)} enclosed by parenthesis. - \DescribeKey{Alpha*} preceding one followed by roman number and a final dot. - \DescribeKey{Alpha*)} same, followed by a final parenthesis. - \begin{stcode}[st=enumC] +\end{codestore} +\newpage +\tsdemo{enumB} + + + \describe {bullet} { for simple itemized lists, it will replace the default black dot by an `open bullet'} + + \begin{codestore}[st=enumD] + \begin{itemize}[tcc,miditemsep] + \item some A + \item some B + \item some C + \end{itemize} + \begin{itemize}[tcc,bullet,miditemsep] + \item some A + \item some B + \item some C + \end{itemize} +\end{codestore} + +\tsdemo{enumD} + + + \describe {arabic} { That's the \emph{default} enumerate style. Arabic numbers, starting at 1, followed by a dot.} + \describe {arabic)} { Label will be constructed as number followed by a parenthesis.} + \describe {(arabic)} { Label will be enclosed by parenthesis.} + \describe {arabic*} { (for secondary lists) Label will be constructed by the label of the outer list, this item number and a final dot.} + \describe {arabic*)} { (for secondary lists) Label will be constructed by the label of the outer list, this item number and a final parenthesis.} + + \describe {roman} { This and below keys are the same as the arabic ones, but using lower case roman numbers.} + \describe {roman)} { lower case roman number, followed by a parenthesis.} + \describe {(roman)} { enclosed by parenthesis.} + \describe {roman*} { preceding one followed by roman number and a final dot.} + \describe {roman*)} { same, followed by a final parenthesis.} + + \describe {Roman} { This and below keys are the same as the arabic ones, but using upper case roman numbers.} + \describe {Roman)} { upper case roman number, followed by a parenthesis.} + \describe {(Roman)} { enclosed by parenthesis.} + \describe {Roman*} { preceding one followed by roman number and a final dot.} + \describe {Roman*)} { same, followed by a final parenthesis.} + + \describe {alpha} { This and below keys are the same as the arabic ones, but using lower case alpha numbers.} + \describe {alpha)} { lower case alpha number, followed by a parenthesis.} + \describe {(alpha)} { enclosed by parenthesis.} + \describe {alpha*} { preceding one followed by alpha number and a final dot.} + \describe {alpha*)} { same, followed by a final parenthesis.} + + \describe {Alpha} { This and below keys are the same as the arabic ones, but using upper case alpha numbers.} + \describe {Alpha)} { upper case roman number, followed by a parenthesis.} + \describe {(Alpha)} { enclosed by parenthesis.} + \describe {Alpha*} { preceding one followed by roman number and a final dot.} + \describe {Alpha*)} { same, followed by a final parenthesis.} + \begin{codestore}[st=enumC] \begin{enumerate}[tcc,roman] \item some A \item some B @@ -387,212 +473,201 @@ New paragraph, for reference. \end{enumerate} \item some C \end{enumerate} -\end{stcode} +\end{codestore} -\TabbedDemoCode{enumC} +\tsdemo{enumC} - \DescribeKey{bullet} for simple itemized lists, it will replace the default black dot by an `open bullet' - \begin{stcode}[st=enumD] - \begin{itemize}[tcc,miditemsep] - \item some A - \item some B - \item some C - \end{itemize} - \begin{itemize}[tcc,bullet,miditemsep] - \item some A - \item some B - \item some C - \end{itemize} -\end{stcode} -\TabbedDemoCode{enumD} +\end{describelist} + -\end{Keys} \section{\tightul{ufrgscca-core} Package} -The \Pack{ufrgscca-core} package defines a set of commands for authors, students, advisors and examiners names and related info. It is needed by most/all of the tc bundled packages. +The \tsobj[pkg]{ufrgscca-core} package defines a set of commands for author's, student's, advisor's examiner's names and related info. It is needed by most/all of the bundled packages. \subsection{Core Forms Commands} -\begin{Macros}{\tccbrief,\tcccoadvisorbrief,\tccadvisorsreview} - \begin{Syntax}% - \Macro{\tccbrief}{brief} - \Macro{\tcccoadvisorbrief}{brief} - \Macro{\tccadvisorsreview}{brief} - \end{Syntax} -Those commands are only of use when using \Pack{ufrgscca-forms}. \Macro{\tccbrief}{} sets the work initial summary, \Macro{\tcccoadvisorbrief}{} sets the justification for having a co-advisor, \Macro{\tccadvisorsreview}{} sets the advisor's review. -\end{Macros} +\begin{codedescribe}{\tccbrief,\tcccoadvisorbrief,\tccadvisorsreview} + \begin{codesyntax}% + \tsmacro{\tccbrief}{brief} + \tsmacro{\tcccoadvisorbrief}{brief} + \tsmacro{\tccadvisorsreview}{brief} + \end{codesyntax} +Those commands are only of use when using \tsobj[pkg]{ufrgscca-forms}. \tsmacro{\tccbrief}{} sets the work initial summary, \tsmacro{\tcccoadvisorbrief}{} sets the justification for having a co-advisor, \tsmacro{\tccadvisorsreview}{} sets the advisor's review. +\end{codedescribe} \subsection{Core Global Commands}\label{core-commands} -\begin{Macros}{\location} - \begin{Syntax}% - \Macro{\location}{city,state} - \end{Syntax} - To redefine the default values of \Arg{city} and \Arg{state} (Porto Alegre and RS).\\ -\end{Macros} - -\begin{Macros}{\TCCcoord,\TCCcoordtitle} - \begin{Syntax}% - \Macro!{\TCCcoord}{\marg{(title) full name}\oarg{gender}} - \Macro{\TCCcoordtitle}{coordinator denomination} - \end{Syntax} -\end{Macros} - -\begin{Macros}{\coursecoord,\coursecoordtitle} - \begin{Syntax}% - \Macro!{\coursecoord}{\oarg{(title) full name}\oarg{gender}} - \Macro{\coursecoordtitle}{course coordinator denomination} - \end{Syntax} -\end{Macros} - \Arg{coordinator denomination} and \Arg{course coordinator denomination} are the full 'job title' of their position. \Arg{gender} can be either 'm' or 'f'. - -\begin{Macros}{\internshipcoord,\internshipcoordtitle} - \begin{Syntax}% - \Macro!{\internshipcoord}{\oarg{(title) full name}\oarg{gender}} - \Macro{\internshipcoordtitle}{internship coordinator denomination} - \end{Syntax} -\end{Macros} -\Arg{coordinator denomination} and \Arg{internship coordinator denomination} are the full 'job title' of their position. \Arg{gender} can be either 'm' or 'f'. +\begin{codedescribe}{\location} + \begin{codesyntax}% + \tsmacro{\location}{city,state} + \end{codesyntax} + To redefine the default values of \tsobj[meta]{city} and \tsobj[meta]{state} (Porto Alegre and RS).\\ +\end{codedescribe} + +\begin{codedescribe}{\TCCcoord,\TCCcoordtitle} + \begin{codesyntax}% + \tsobj[code]{\TCCcoord}{\tsobj[marg]{(title) full name}\tsobj[oarg]{gender}} + \tsmacro{\TCCcoordtitle}{coordinator denomination} + \end{codesyntax} +\end{codedescribe} + +\begin{codedescribe}{\coursecoord,\coursecoordtitle} + \begin{codesyntax}% + \tsobj[code]{\coursecoord}{\tsobj[oarg]{(title) full name}\tsobj[oarg]{gender}} + \tsmacro{\coursecoordtitle}{course coordinator denomination} + \end{codesyntax} +\end{codedescribe} + \tsobj[meta]{coordinator denomination} and \tsobj[meta]{course coordinator denomination} are the full 'job title' of their position. \tsobj[meta]{gender} can be either 'm' or 'f'. + +\begin{codedescribe}{\internshipcoord,\internshipcoordtitle} + \begin{codesyntax}% + \tsobj[code]{\internshipcoord}{\tsobj[oarg]{(title) full name}\tsobj[oarg]{gender}} + \tsmacro{\internshipcoordtitle}{internship coordinator denomination} + \end{codesyntax} +\end{codedescribe} +\tsobj[meta]{coordinator denomination} and \tsobj[meta]{internship coordinator denomination} are the full 'job title' of their position. \tsobj[meta]{gender} can be either 'm' or 'f'. \subsection{Core Specific Commands}\label{core-specific-commands} -The following commands are more or less self-explanatory, \Arg{ID} is the student's university ID. \Arg{Nproc} is the process/request number. \Arg{gender} can be either 'm' or 'f'. - - -\begin{Macros}{\author,\authorinfo,\student,\studentinfo}%,\studentgender} - \begin{Syntax}% - ~\Macro!{ \author}{\marg{last}\marg{first}\oarg{gender}} - \Macro{\authorinfo}[Nproc]{ID,email} - \Macro!{\student}{\marg{last}\marg{first}\oarg{gender}} - \Macro{\studentinfo}[Nproc]{ID,email} - \end{Syntax} -\end{Macros} - - -\begin{Macros}{\advisor,\advisorinfo}%,\advisorgender} - \begin{Syntax}% - ~\Macro!{\advisor}{\oarg{title}\marg{last}\marg{first}\oarg{gender}} - \Macro{\advisorinfo}{Institut,title-info,email,phone} - \end{Syntax} -\end{Macros} - -\begin{Macros}{\coadvisor,\coadvisorinfo}%,\coadvisorgender} - \begin{Syntax}% - ~\Macro!{\coadvisor}{\oarg{title}\marg{last}\marg{first}\oarg{gender}} - \Macro{\coadvisorinfo}{Institut,title-info,email,phone} - \end{Syntax} -\end{Macros} - -\begin{Macros}{\examiner,\examinerinfo}%,\examinergender} - \begin{Syntax}% - ~\Macro!{\examiner}{\oarg{title}\marg{last}\marg{first}\oarg{gender}} - \Macro{\examinerinfo}{Institut,title-info,email,phone} - \end{Syntax} -\end{Macros} - -\begin{Macros}{\altexaminer,\altexaminerinfo}%,\altexaminergender} - \begin{Syntax}% - ~\Macro!{\altexaminer}{\oarg{title}\marg{last}\marg{first}\oarg{gender}} - \Macro{\altexaminerinfo}{Institut,title-info,email,phone} - \end{Syntax} -\end{Macros} - -\begin{Macros}{\tutor,\tutorinfo}%,\tutorgender} -\begin{Syntax}% - ~\Macro!{\tutor}{\oarg{title}\marg{last}\marg{first}\oarg{gender}} - \Macro{\tutorinfo}{Institut,title-info,email,phone} -\end{Syntax} -\end{Macros} - -\begin{Macros}{\supervisor,\supervisorinfo}%,\tutorgender} -\begin{Syntax}% - ~\Macro!{\supervisor}{\oarg{title}\marg{last}\marg{first}\oarg{gender}} - \Macro{\supervisorinfo}{register,office,email,phone} -\end{Syntax} -\end{Macros} - -N.B. Macros \Macro{\advisor}{}, \Macro{\coadvisor}{}, \Macro{\examiner}{} and \Macro{\altexaminer}{} are meant to be used in a 'final work' doc. The Macros \Macro{\tutor}{} and \Macro{\supervisor}{} in case of an internship report. +The following commands are more or less self-explanatory, \tsobj[meta]{ID} is the student's university ID. \tsobj[meta]{Nproc} is the process/request number. \tsobj[meta]{gender} can be either 'm' or 'f'. + + +\begin{codedescribe}{\author,\authorinfo,\student,\studentinfo}%,\studentgender} + \begin{codesyntax} + \tsobj[code]{ \author}{\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\authorinfo}[Nproc]{ID,email} + \tsobj[code]{\student}{\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\studentinfo}[Nproc]{ID,email} + \end{codesyntax} +\end{codedescribe} + + +\begin{codedescribe}{\advisor,\advisorinfo}%,\advisorgender} + \begin{codesyntax} + \tsobj[code]{\advisor}{\tsobj[oarg]{title}\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\advisorinfo}{Institut,title-info,email,phone} + \end{codesyntax} +\end{codedescribe} + +\begin{codedescribe}{\coadvisor,\coadvisorinfo}%,\coadvisorgender} + \begin{codesyntax} + \tsobj[code]{\coadvisor}{\tsobj[oarg]{title}\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\coadvisorinfo}{Institut,title-info,email,phone} + \end{codesyntax} +\end{codedescribe} + +\begin{codedescribe}{\examiner,\examinerinfo}%,\examinergender} + \begin{codesyntax} + \tsobj[code]{\examiner}{\tsobj[oarg]{title}\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\examinerinfo}{Institut,title-info,email,phone} + \end{codesyntax} +\end{codedescribe} + +\begin{codedescribe}{\altexaminer,\altexaminerinfo}%,\altexaminergender} + \begin{codesyntax} + \tsobj[code]{\altexaminer}{\tsobj[oarg]{title}\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\altexaminerinfo}{Institut,title-info,email,phone} + \end{codesyntax} +\end{codedescribe} + +\begin{codedescribe}{\tutor,\tutorinfo}%,\tutorgender} +\begin{codesyntax} + \tsobj[code]{\tutor}{\tsobj[oarg]{title}\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\tutorinfo}{Institut,title-info,email,phone} +\end{codesyntax} +\end{codedescribe} + +\begin{codedescribe}{\supervisor,\supervisorinfo}%,\tutorgender} +\begin{codesyntax} + \tsobj[code]{\supervisor}{\tsobj[oarg]{title}\tsobj[marg]{last}\tsobj[marg]{first}\tsobj[oarg]{gender}} + \tsmacro{\supervisorinfo}{register,office,email,phone} +\end{codesyntax} +\end{codedescribe} + +\begin{tsremark}[N.B.:] +The commands \tsmacro{\advisor}{}, \tsmacro{\coadvisor}{}, \tsmacro{\examiner}{} and \tsmacro{\altexaminer}{} are meant to be used in a 'final work' doc. The Macros \tsmacro{\tutor}{} and \tsmacro{\supervisor}{} in case of an internship report. +\end{tsremark} \section{\tightul{ufrgscca-cover} Package} This package is the one that sets the front pages, depending on the kind of 'report' being generated. The default being to generate 3 cover pages: an identification on, followed by presentation one, then an referral/approval one. \subsection{Package Options} -\begin{Options} - \DescribeOption{report} in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance). - \DescribeOption{internship} in case the doc is an internship report. - \DescribeOption{nonrequired} in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise. +\begin{describelist}{option} + \describe {report} { in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).} + \describe {internship} { in case the doc is an internship report.} + \describe {nonrequired} { in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise.} -\end{Options} +\end{describelist} \subsection{Defined Commands} -\begin{Macros}{\maketitle} - \begin{Syntax}% - \Macro{\maketitle}{} - \end{Syntax} +\begin{codedescribe}{\maketitle} + \begin{codesyntax}% + \tsmacro{\maketitle}{} + \end{codesyntax} This is the only main command, which will typeset the front matter. It requires that all \emph{specific info} be already set up (like work title, author's name, affiliation, etc.) -\end{Macros} +\end{codedescribe} -\begin{Macros}{\course,\courseacronym,\graduationtitle,\university,\universityacronym,% +\begin{codedescribe}{\course,\courseacronym,\graduationtitle,\university,\universityacronym,% \universitydivision,\divisiongradcouncil,\department,\classcode,\classname,\subject} -\begin{Syntax}% - \Macro{\course}{arg} - \Macro{\courseacronym}{arg} - \Macro{\graduationtitle}{arg} - \Macro{\university}{arg} - \Macro{\universityacronym}{arg} - \Macro{\universitydivision}{arg} - \Macro{\divisiongradcouncil}{arg} - \Macro{\department}{arg} - \Macro{\classcode}{arg} - \Macro{\classname}{arg} - \Macro{\subject}{arg} -\end{Syntax} +\begin{codesyntax}% + \tsmacro{\course}{arg} + \tsmacro{\courseacronym}{arg} + \tsmacro{\graduationtitle}{arg} + \tsmacro{\university}{arg} + \tsmacro{\universityacronym}{arg} + \tsmacro{\universitydivision}{arg} + \tsmacro{\divisiongradcouncil}{arg} + \tsmacro{\department}{arg} + \tsmacro{\classcode}{arg} + \tsmacro{\classname}{arg} + \tsmacro{\subject}{arg} +\end{codesyntax} In case some customization is needed, one can change them as needed. The default values are set for the \emph{control and automation} course at UFRGS/EE. -\end{Macros} +\end{codedescribe} \section{\tightul{ufrgscca-forms} Package} This package defines just two user commands to generate specific forms needed at UFRGS/EE. \subsection{Forms Defined Commands}\label{forms.commands} -\begin{Macros}{\tcforms,\tcemptyforms} - \begin{Syntax}% -\Macro{\tcforms}{formslist} -\Macro{\tcemptyforms}{formslist} -\end{Syntax} -\Macro{\tcforms}{} will generate the many forms (\Arg{formslist}) using the information from \emph{local.tex}, whilst \Macro{\tcemptyforms}{} will generate said forms with 'blanks' (to be fulfilled by hand, for instance). - -\Arg{formslist} is a csv list of any of: -\begin{Options+} - \DescribeOption+{reqform} Registration requirement form. - \DescribeOption+{coadvisor} Coadvisor justification form. - \DescribeOption+{boardsapproval} Boards approval form. - \DescribeOption+{advisorsapproval} Advisors approval form. - \DescribeOption+{receipts} Receipts forms (one per board member). - \DescribeOption+{examinersforms} Grades and correction forms (per board member). - \DescribeOption+{rectifyapprovalform} Corrections approval form. - \DescribeOption+{internreqform} Internship Registration requirement form. - \DescribeOption+{internsupervisorform} Internship Supervisor evaluation form. - \DescribeOption+{interntutorform} Internship tutor evaluation form. -\end{Options+} - -\end{Macros} +\begin{codedescribe}{\tcforms,\tcemptyforms} + \begin{codesyntax}% +\tsmacro{\tcforms}{formslist} +\tsmacro{\tcemptyforms}{formslist} +\end{codesyntax} +The command \tsmacro{\tcforms}{} will generate the many forms (\tsobj[meta]{formslist}) using the information from \emph{local.tex}, whilst \tsmacro{\tcemptyforms}{} will generate said forms with 'blanks' (to be fulfilled by hand, for instance). + +\end{codedescribe} + +\tsobj[meta]{formslist} is a csv list of any of: +\begin{describelist*}{option} + \describe {reqform} { Registration requirement form.} + \describe {coadvisor} { Coadvisor justification form.} + \describe {boardsapproval} { Boards approval form.} + \describe {advisorsapproval} { Advisors approval form.} + \describe {receipts} { Receipts forms (one per board member).} + \describe {examinersforms} { Grades and correction forms (per board member).} + \describe {rectifyapprovalform} { Corrections approval form.} + \describe {internreqform} { Internship Registration requirement form.} + \describe {internsupervisorform} { Internship Supervisor evaluation form.} + \describe {interntutorform} { Internship tutor evaluation form.} +\end{describelist*} \section{\tightul{ufrgscca-lists} Package} -The following packages are always pre-loaded: {\MetaFmt[Pack]\sffamily newfloat, listings} and \Pack{xcolor}. -It defines a new \emph{floating environment}. Combined with \Pack{listings} one can typeset exempts of \emph{code listing}. +The following packages are always pre-loaded: \tsobj[pkg]{ newfloat, listings, xcolor}. +It defines a new \emph{floating environment}. Combined with \tsobj[pkg]{listings} one can typeset exempts of \emph{code listing}. \subsection{Environment} -\begin{Envs}{codelist} - \begin{Syntax}% - \Macro{\begin{codelist}}{}\ldots \Macro{\end{codelist}}{} - \end{Syntax} -\Macro{\caption}{} will be named 'Listing' (Listagem). +\begin{codedescribe}[env]{codelist} + \begin{codesyntax}% + \tsmacro{\begin{codelist}}{}\ldots \tsmacro{\end{codelist}}{} + \end{codesyntax} +\tsmacro{\caption}{} will be named 'Listing' (Listagem). -\begin{stcode}[st=d.listing] +\begin{codestore}[st=d.listing] \begin{codelist}[htbp] \caption{sample C code} \label{code01} @@ -605,28 +680,28 @@ It defines a new \emph{floating environment}. Combined with \Pack{listings} one \end{lstlisting} {\sourcecitation{\textcite{Garg:SMA-2000}}} \end{codelist} -\end{stcode} -\DisplayCode{d.listing} +\end{codestore} +\tscode*{d.listing} -\end{Envs} +\end{codedescribe} \subsection{Declared Commands} -\begin{Macros}{listofcodelist} - \begin{Syntax}% - \Macro{\listofcodelist}{} - \end{Syntax} -This will create the 'List of ...' associated with the previous environment. -\end{Macros} +\begin{codedescribe}{listofcodelist} + \begin{codesyntax}% + \tsmacro{\listofcodelist}{} + \end{codesyntax} +This will create the 'List of ...' associated with the \tsobj[env]{codelist} environment. +\end{codedescribe} \iffulldoc -\begin{Macros}{\DeclareNewFloat} - \begin{Syntax}% - \Macro{\DeclareNewFloat}{env-name,file-ext,listname,listofname} - \end{Syntax} -A new float environment, named \Env{env-name}, will be created. Captions will be associated (numbered) as \textbf{\Arg{listname} num:}. Finally, an associated command \Macro{\listof...}{} will be defined, using \Arg{listofname} as a numberless \Macro{\chapter}{} title. +\begin{codedescribe}{\DeclareNewFloat} + \begin{codesyntax}% + \tsmacro{\DeclareNewFloat}{env-name,file-ext,listname,listofname} + \end{codesyntax} +A new float environment, named \tsobj[env]{env-name}, will be created. Captions will be associated (numbered) as \textbf{\tsobj[meta]{listname} num:}. Finally, an associated command \tsmacro{\listof...}{} will be defined, using \tsobj[meta]{listofname} as a numberless \tsmacro{\chapter}{} title. -\begin{stcode}[st=d.float] +\begin{codestore}[st=d.float] \def\listingname{Listing}% \def\listlistingname{List of Listings}% \DeclareNewFloat{codelist}{lox}{\listingname}{\listlistingname}%% @@ -634,10 +709,10 @@ A new float environment, named \Env{env-name}, will be created. Captions will be %% %% the list of, will be created as \listofcodelist -\end{stcode} +\end{codestore} -\DisplayCode[emph={codelist,listofcodelist}]{d.float} -\end{Macros} +\tscode*[emph={codelist,listofcodelist}]{d.float} +\end{codedescribe} \fi \iffulldoc @@ -646,72 +721,72 @@ Just two set of commands are defined, one is kind of a 'command factory' aimed a \subsection{Package Options} -\begin{Options} - \DescribeOption{family} sets the family name, defaults to \Value{tcdef}. - \DescribeOption{group} sets the group name, defaults to \Value{gen}. -\end{Options} +\begin{describelist}{option} + \describe {family} { sets the family name, defaults to \tsobj[value]{tcdef}.} + \describe {group} { sets the group name, defaults to \tsobj[value]{gen}.} +\end{describelist} \subsection{Defined Commands} -\begin{Macros}{\cmdfactory,\factory,\tcgen@cdef} - \begin{Syntax}% - \Macro!{\cmdfactory}{\oarg{fam}\xarg{grp}\marg{cmd-list}} - \Macro!{\factory}{\oarg{fam}\xarg{grp}\marg{cmd}} - \Macro!{\tcgen@cdef}{\oarg{fam}\xarg{grp}\marg{cmd}\marg{new-val}} - \end{Syntax} - \Macro{\cmdfactory}{} is the actual command meant to be used (the other two are just auxiliary ones). \Arg{cmd-lst} is a csv list of commands. \Arg{fam} is the command \emph{family} (defaults to \emph{tcdef}) and \Arg{grp} is the family group (defaults to \emph{gen}). - - The newly created commands will be based on \Macro{\tcgen@cdef}{} (the actual assigment command) having the form \Macro{\cmd}{new-val}, accepting a single mandatory value. Internally \Arg{new-val} will be stored in a macro likely named \Macro{\fam@grp@cmd}{}. - - \Macro{\factory}{} is basically the same as \Macro{\cmdfactory}{}, whilst to create just one new command (it is the command called by \Macro{\cmdfactory}{} via \Macro{\forcsvlist}{}.) -\end{Macros} - -\begin{Macros}{\mkswitch,\addcase} - \begin{Syntax}% - \Macro{\mkswitch}[default]{sw-name} - \Macro{\addcase}{sw-name,str-case,code} - \end{Syntax} - \Macro{mkswitch}{} will create a command, \Macro{\sw-name}{case}, which will behave like a switch/case in other programming languages. \Arg{default} is the code to be executed in case a \emph{switching value} isn't defined. - \Macro{\addcase}{} adds \emph{cases}, one by one, to the switch. \Arg{str-case} can be any \Macro{\csname}{} valid name. \Arg{code} is the code to be executed. - - \begin{stcode}[st=d.switch] +\begin{codedescribe}{\cmdfactory,\factory,\tcgen@cdef} + \begin{codesyntax}% + \tsobj[code]{\cmdfactory}{\tsobj[oarg]{fam}\tsobj[xarg]{grp}\tsobj[marg]{cmd-list}} + \tsobj[code]{\factory}{\tsobj[oarg]{fam}\tsobj[xarg]{grp}\tsobj[marg]{cmd}} + \tsobj[code]{\tcgen@cdef}{\tsobj[oarg]{fam}\tsobj[xarg]{grp}\tsobj[marg]{cmd}\tsobj[marg]{new-val}} + \end{codesyntax} + \tsmacro{\cmdfactory}{} is the actual command meant to be used (the other two are just auxiliary ones). \tsobj[meta]{cmd-lst} is a csv list of commands. \tsobj[meta]{fam} is the command \emph{family} (defaults to \emph{tcdef}) and \tsobj[meta]{grp} is the family group (defaults to \emph{gen}). + + The newly created commands will be based on \tsmacro{\tcgen@cdef}{} (the actual assigment command) having the form \tsmacro{\cmd}{new-val}, accepting a single mandatory value. Internally \tsobj[meta]{new-val} will be stored in a macro likely named \tsmacro{\fam@grp@cmd}{}. + + \tsmacro{\factory}{} is basically the same as \tsmacro{\cmdfactory}{}, whilst to create just one new command (it is the command called by \tsmacro{\cmdfactory}{} via \tsmacro{\forcsvlist}{}.) +\end{codedescribe} + +\begin{codedescribe}{\mkswitch,\addcase} + \begin{codesyntax}% + \tsmacro{\mkswitch}[default]{sw-name} + \tsmacro{\addcase}{sw-name,str-case,code} + \end{codesyntax} + \tsmacro{mkswitch}{} will create a command, \tsmacro{\sw-name}{case}, which will behave like a switch/case in other programming languages. \tsobj[meta]{default} is the code to be executed in case a \emph{switching value} isn't defined. + \tsmacro{\addcase}{} adds \emph{cases}, one by one, to the switch. \tsobj[meta]{str-case} can be any \tsmacro{\csname}{} valid name. \tsobj[meta]{code} is the code to be executed. + + \begin{codestore}[st=d.switch] \mkswitch[\gr@depcut]\gr@case@angle \addcase\gr@case@angle{}{\def\gr@ANG{0}} \addcase\gr@case@angle{A}{\def\gr@ANG{\gr@A}} %% %% actual use of the switch \gr@case@angle{A} % this will result in \def\gr@ANG{\gr@A} - \end{stcode} - \DisplayCode{d.switch} -\end{Macros} + \end{codestore} + \tscode*{d.switch} +\end{codedescribe} \fi \iffulldoc \section{\tightul{ufrgscca-coord} Package (extended documentation)} This package defines a set of auxiliary commands meant to support the Professor coordinating students work. -it will always pre-load the \Pack{longtable} and \Pack{ufrgscca-forms} packages. One can select the reports/forms to be generated using the package options or the command \Macro{\setreports}{keys} +it will always pre-load the \tsobj[pkg]{longtable} and \tsobj[pkg]{ufrgscca-forms} packages. One can select the reports/forms to be generated using the package options or the command \tsmacro{\setreports}{keys} N.B. It might be also useful to use the commands defined at \autonameref{forms.commands}. \subsection{Package/Report Options}\label{ufrgscca-coord.options} -\begin{Options} - \DescribeOption{calendar} Calendar for the period. - \DescribeOption{checklist} a students check list. - \DescribeOption{report} a student control report. - \DescribeOption{reportxinfo} report additional info. - \DescribeOption{boards} exam board dates. - \DescribeOption{boarddates} exam board dates with highlighted dates. - \DescribeOption{studentlist} a simple student list. - \DescribeOption{revforms} per student reviews forms. - \DescribeOption{referral} per student referral letters. - \DescribeOption{cocertificate} per student coadvisor certificate letter (if any). -\end{Options} +\begin{describelist}{option} + \describe {calendar} { Calendar for the period.} + \describe {checklist} { a students check list.} + \describe {report} { a student control report.} + \describe {reportxinfo} { report additional info.} + \describe {boards} { exam board dates.} + \describe {boarddates} { exam board dates with highlighted dates.} + \describe {studentlist} { a simple student list.} + \describe {revforms} { per student reviews forms.} + \describe {referral} { per student referral letters.} + \describe {cocertificate} { per student coadvisor certificate letter (if any).} +\end{describelist} \subsection{Defined Commands} The \emph{report document} to be created is composed of 2 main parts: \begin{enumerate}[tcc,arabic,miditemsep] \item A global preamble, where one sets \begin{enumerate}[tcc,alpha*,noitemsep] - \item the current semester, Course/TCC/internship coordinator names, etc. , + \item the current semester, Course/TCC/internship coordinator's names, etc. , \item auxiliary data, like students \emph{check list} items and \item students data. \end{enumerate} @@ -721,13 +796,13 @@ The \emph{report document} to be created is composed of 2 main parts: \subsubsection{Global Commands I} One can (should) use the commands listed at \autonameref{core-commands}, and these below: -\begin{Macros}{\checkdef}%,\checklist} -\begin{Syntax}% - \Macro{\checkdef}{checkLC,check-item,check-text} -\end{Syntax} -Whereas one has a '4x5 alphabetic matrix', lines A to D, columns A to E. \Arg{checkLC} being one element of that matrix (from checkAA up to checkDE), \Arg{chek-item} is a free identifier (to be used with the \Macro{\checklist}{}), and \Arg{check-text} the text to appear in the 'check list report'. So, for instance: +\begin{codedescribe}{\checkdef}%,\checklist} +\begin{codesyntax}% + \tsmacro{\checkdef}{checkLC,check-item,check-text} +\end{codesyntax} +Whereas one has a '4x5 alphabetic matrix', lines A to D, columns A to E. \tsobj[meta]{checkLC} being one element of that matrix (from checkAA up to checkDE), \tsobj[meta]{chek-item} is a free identifier (to be used with the \tsmacro{\checklist}{}), and \tsobj[meta]{check-text} the text to appear in the 'check list report'. So, for instance: -\begin{stcode}[st=d.check] +\begin{codestore}[st=d.check] \checkdef{checkAA}{tcc-part}{Rel. Parcial} % this creates the 'check item' tcc-part and associates it with the AA position (first line, first column), display text 'Rel. Parcial' \checkdef{checkBA}{partOK}{Aprov. Rel. Parcial} % this creates 'partOK' and associates it with BA position @@ -741,57 +816,59 @@ Whereas one has a '4x5 alphabetic matrix', lines A to D, columns A to E. \Arg{ch %% %% later on, one can use (inside a \NewStudent command) \checklist{tcc-part,partOK,exam} % this will, for a given student, 'mark' the 'tcc-part', 'partOK' and 'exam' items. -\end{stcode} +\end{codestore} + +\tscode*[emph={{tcc-part},partOK,board,board-date,{tcc-final},approval,exam}]{d.check} -\DisplayCode[emph={{tcc-part},partOK,board,board-date,{tcc-final},approval,exam}]{d.check} +Be aware that, \tsmacro{\checkdef}{} can and should be only used at the preamble, whereas \tsmacro{\checklist}{} can only be used at the 'student data definition' context (meaning, inside the \tsmacro{\NewStudent}{} command). +\end{codedescribe}\\ -Be aware that, \Macro{\checkdef}{} can and should be only used at the preamble, whereas \Macro{\checklist}{} can only be used at the 'student data definition' context (meaning, inside the \Macro{\NewStudent}{} command). -\end{Macros}\\ \paragraph{Final Work Specific} -\begin{Macros}{\tcccalendareventdate,\boardstitleB,\boardsOBS,\TCCperiod} - \begin{Syntax}% - \Macro{\tcccalendareventdate}{date} - \Macro{\boardstitleB}{titleB} - \Macro{\boardsOBS}{obs} - \Macro{\TCCperiod}{semester} - \end{Syntax} -Use \Macro{\tcccalendareventdate}{} to set the date of a given 'event' (the list of 'calendar events' are (might have been) set in the \emph{ufrgscca-ptBR-coord.def} or \emph{ufrgscca-en-coord.def} file). \Macro{boardstitleB}{} sets a 2nd title line for the 'boards schedule report'. \Macro{\boardsOBS}{} allows to add an observation (\Arg{obs}) for the 'boards schedule report', finally, \Macro{\TCCperiod} sets the current semester value. -\end{Macros} - -\begin{Macros}{\tcceventAweek,\tcceventBweek,.,.,.,.,\tcceventJweek} - \begin{Syntax}% - \Macro{\tcceventAweek}{week num.} - \Macro{\tcceventBweek}{week num.} +\begin{codedescribe}{\tcccalendareventdate,\boardstitleB,\boardsOBS,\TCCperiod} + \begin{codesyntax}% + \tsmacro{\tcccalendareventdate}{date} + \tsmacro{\boardstitleB}{titleB} + \tsmacro{\boardsOBS}{obs} + \tsmacro{\TCCperiod}{semester} + \end{codesyntax} +Use \tsmacro{\tcccalendareventdate}{} to set the date of a given 'event' (the list of 'calendar events' are (might have been) set in the \emph{ufrgscca-ptBR-coord.def} or \emph{ufrgscca-en-coord.def} file). \tsmacro{boardstitleB}{} sets a 2nd title line for the 'boards schedule report'. \tsmacro{\boardsOBS}{} allows to add an observation (\tsobj[meta]{obs}) for the 'boards schedule report', finally, \tsmacro{\TCCperiod} sets the current semester value. +\end{codedescribe} + +\begin{codedescribe}{\tcceventAweek,\tcceventBweek,.,.,.,.,\tcceventJweek} + \begin{codesyntax}% + \tsmacro{\tcceventAweek}{week num.} + \tsmacro{\tcceventBweek}{week num.} \ensuremath{\cdots} - \Macro{\tcceventJweek}{week num.} - \end{Syntax} + \tsmacro{\tcceventJweek}{week num.} + \end{codesyntax} Those macros allow to change the default week value for the calendar's events. -\end{Macros} +\end{codedescribe} \paragraph{Internship Specific} -\begin{Macros}{\intershipcommitdates} - \begin{Syntax}% - \Macro{\intershipcommitdates}{date I}{date II} - \end{Syntax} - Use \Macro{\intershipcommitdates}{} to set the semester deadlines. Both dates must be given in the dd/mm/yyyy format. - \Arg{date I} is the deadline for a given report still be fully evaluated. After \Arg{date I} the given internship will be in “exam”. If the student report isn't submitted until \Arg{date II} the student will fail with an “FF” grade. -\end{Macros} +\begin{codedescribe}{\intershipcommitdates} + \begin{codesyntax}% + \tsmacro{\intershipcommitdates}{date I}{date II} + \end{codesyntax} + Use \tsmacro{\intershipcommitdates}{} to set the semester deadlines. Both dates must be given in the dd/mm/yyyy format. + \tsobj[meta]{date I} is the deadline for a given report still be fully evaluated. After \tsobj[meta]{date I} the given internship will be in “exam”. If the student report isn't submitted until \tsobj[meta]{date II} the student will fail with an “FF” grade. +\end{codedescribe} \subsubsection{Global Commands II}\label{new-student} -\begin{Macros}{\NewStudent} - \begin{Syntax}% - \Macro{\NewStudent}{studentname,code} - \end{Syntax} - This is the main command describing each \Arg{student} associated work, advisor and exam board. In \Arg{code} one should use the commands defined in \autonameref{core-specific-commands}, and \autonameref{student-specific-commands} (although one can use any valid \LaTeXe~ preamble code, keep in mind those will be executed BEFORE \Macro{\begin{document}}{}), to describe a student work. +\begin{codedescribe}{\NewStudent} + \begin{codesyntax}% + \tsmacro{\NewStudent}{studentname,code} + \end{codesyntax} + This is the main command describing each \tsobj[meta]{student} associated work, advisor and exam board. In \tsobj[meta]{code} one should use the commands defined in \autonameref{core-specific-commands}, and \autonameref{student-specific-commands} (although one can use any valid \LaTeXe~ preamble code, keep in mind those will be executed BEFORE \tsmacro{\begin{document}}{}), to describe a student work. +\end{codedescribe} So, for instance: - \begin{stcode}[st=d.newstudent] + \begin{codestore}[st=d.newstudent] \NewStudent{Artur}{ \student{last}{first}[m] @@ -811,95 +888,97 @@ Use \Macro{\tcccalendareventdate}{} to set the date of a given 'event' (the list \studentFate[Dismiss] %% FF or Dismiss ?? } -\end{stcode} +\end{codestore} -\DisplayCode{d.newstudent} +\tscode*{d.newstudent} -N.B. Internally, \Macro{\NewStudent}{} will create a command named \Macro{\studentname}{}, with a \emph{hook} named \Macro{\studentname.hook}{} (the dot is part of the hook's name). -\end{Macros} +\begin{tsremark}[N.B.:] +Internally, \tsmacro{\NewStudent}{} will create a command named \tsmacro{\studentname}{}, with a \emph{hook} named \tsmacro{\studentname.hook}{} (the dot is part of the hook's name). +\end{tsremark} -\begin{Macros}{\NewInternshipStudent} - \begin{Syntax}% - \Macro{\NewInternshipStudent}{studentname,code} - \end{Syntax} - This is the main command describing each \Arg{student} associated internship, tutor and advisor. In \Arg{code} one should use the commands defined in \autonameref{core-specific-commands}, and \autonameref{student-specific-commands} (although one can use any valid \LaTeXe~ preamble code, keep in mind those will be executed BEFORE \Macro{\begin{document}}{}), to describe a student internship. +\begin{codedescribe}{\NewInternshipStudent} + \begin{codesyntax}% + \tsmacro{\NewInternshipStudent}{studentname,code} + \end{codesyntax} + This is the main command describing each \tsobj[meta]{student} associated internship, tutor and advisor. In \tsobj[meta]{code} one should use the commands defined in \autonameref{core-specific-commands}, and \autonameref{student-specific-commands} (although one can use any valid \LaTeXe~ preamble code, keep in mind those will be executed BEFORE \tsmacro{\begin{document}}{}), to describe a student internship. + \end{codedescribe} So, for instance: - \begin{stcode}[st=d.newstudentB] - \NewStudent{Artur}{ - \student{last}{first}[m] + \begin{codestore}[st=d.newstudentB] + \NewStudent{Artur}{ + \student{last}{first}[m] + \studentinfo[]{243716}{email@somewhere} + \internship{Empresa I}{P\&D}{10/10/22}{20/12/22}{2 Meses} - \studentinfo[]{243716}{email@somewhere} + \supervisor[Eng. I]{do Supervisor}{Nome}[m] + \supervisorinfo{crea I}{posição/cargo}{email}{ramal} - \internship{Empresa I}{P\&D}{10/10/22}{20/12/22}{2 Meses} + \internshipsupervisorgrades{4}{4}{4}{4}{5} + \internshipsupervisorgrades{4}{4}{4}{4}{5} + \internshiptutorgrades{90} + \internshipcoordgrades{90} - \supervisor[Eng. I]{do Supervisor}{Nome}[m] - \supervisorinfo{crea I}{posição/cargo}{email}{ramal} + \tutor[Prof.~Dr.]{do Tutor I}{Nome}[m] + \tutorinfo{UFRGS}{Instituição I-- Cidade, País}{email}{ramal} - \internshipsupervisorgrades{4}{4}{4}{4}{5} - \internshipsupervisorgrades{4}{4}{4}{4}{5} - \internshiptutorgrades{90} - \internshipcoordgrades{90} + \studentFate[Dismiss] %% FF or Dismiss ?? + } +\end{codestore} - \tutor[Prof.~Dr.]{do Tutor I}{Nome}[m] - \tutorinfo{UFRGS}{Instituição I-- Cidade, País}{email}{ramal} - - \studentFate[Dismiss] %% FF or Dismiss ?? - } - \end{stcode} - - \DisplayCode{d.newstudentB} - - N.B. Internally, \Macro{\NewInternshipStudent}{} will create a command named \Macro{\studentname}{}, with a \emph{hook} named \Macro{\studentname.hook}{} (the dot is part of the hook's name). - \end{Macros} + \tscode*{d.newstudentB} +\begin{tsremark}[N.B.:] + Internally, \tsmacro{\NewInternshipStudent}{} will create a command named \tsmacro{\studentname}{}, with a \emph{hook} named \tsmacro{\studentname.hook}{} (the dot is part of the hook's name). +\end{tsremark} \subsubsection{Student Specific Commands}\label{student-specific-commands} -\begin{Macros}{\studentFate} - \begin{Syntax}% - \Macro{\studentFate}[fate]{} - \end{Syntax} -This assigns the \Arg{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \Arg{fate} can be either C or D (in case a student got in exam), FF for those that haven't finished the work or 'Dismiss' for those that, for whatever reason, got dismissed. The default is 'do nothing' (no \Arg{fate} assigned) -\end{Macros} +\begin{codedescribe}{\studentFate} + \begin{codesyntax}% + \tsmacro{\studentFate}[fate]{} + \end{codesyntax} +This assigns the \tsobj[meta]{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \tsobj[meta]{fate} can be either C or D (in case a student got in exam), FF for those that haven't finished the work or 'Dismiss' for those that, for whatever reason, got dismissed. The default is 'do nothing' (no \tsobj[meta]{fate} assigned) +\end{codedescribe} -\begin{Macros}{\checklist} - \begin{Syntax}% - \Macro{\checklist}{csv-checkitems} - \end{Syntax} - \Arg{csv-checkitems} is a csv list of valid 'items' (the ones defined by \Macro{\checkdef}{}) and it will 'mark' (check) the corresponding items for a given student. -\end{Macros} +\begin{codedescribe}{\checklist} + \begin{codesyntax}% + \tsmacro{\checklist}{csv-checkitems} + \end{codesyntax} + \tsobj[meta]{csv-checkitems} is a csv list of valid 'items' (the ones defined by \tsmacro{\checkdef}{}) and it will 'mark' (check) the corresponding items for a given student. +\end{codedescribe} \paragraph{Final Student Work Specific ones} -\begin{Macros}{\studenttimeslot,\timeslot} - \begin{Syntax}% - \Macro{\studenttimeslot}[local]{date,time} - \Macro{\timeslot}[local]{date,time} - \end{Syntax} -\Macro{\timeslot}{} is just an alias of \Macro{\studenttimeslot}{}. They set, for the Boards Report, the \Arg{local}, \Arg{date} and \Arg{time} in which a student will have its work presented. Those commands are meant to be used 'inside' a \Macro{\NewStudent}{} command. -\end{Macros} +\begin{codedescribe}{\studenttimeslot,\timeslot} + \begin{codesyntax}% + \tsmacro{\studenttimeslot}[local]{date,time} + \tsmacro{\timeslot}[local]{date,time} + \end{codesyntax} +\tsmacro{\timeslot}{} is just an alias of \tsmacro{\studenttimeslot}{}. They set, for the Boards Report, the \tsobj[meta]{local}, \tsobj[meta]{date} and \tsobj[meta]{time} in which a student will have its work presented. Those commands are meant to be used 'inside' a \tsmacro{\NewStudent}{} command. +\end{codedescribe} -\begin{Macros}{\studentTCCtitle,\TCCtitle,\studentremark} - \begin{Syntax}% - \Macro{\studentTCCtitle}{title} - \Macro{\TCCtitle}{title} - \Macro{\studentremark}{remark} - \end{Syntax} -\end{Macros} -\Macro{\TCCtitle}{} is also just an alias to \Macro{\studentTCCtitle}{} which just 'defines' the current student “work's title”. \Macro{\studentremark}{} just inserts a \Arg{remark}, which will appear in the \emph{report}'s report (\ldots report option). +\begin{codedescribe}{\studentTCCtitle,\TCCtitle,\studentremark} + \begin{codesyntax}% + \tsmacro{\studentTCCtitle}{title} + \tsmacro{\TCCtitle}{title} + \tsmacro{\studentremark}{remark} + \end{codesyntax} +\end{codedescribe} +\tsmacro{\TCCtitle}{} is also just an alias to \tsmacro{\studentTCCtitle}{} which just 'defines' the current student “work's title”. \tsmacro{\studentremark}{} just inserts a \tsobj[meta]{remark}, which will appear in the \emph{report}'s report (\ldots report option). -\begin{Macros}{\DistinctBoard,\DefaultBoard} - \begin{Syntax}% - \Macro{\DistinctBoard}{} - \Macro{\DefaultBoard}{} - \end{Syntax} -Normally, the default, it's assumed that the student's advisor will also be a member of the student's exam board. For the ones in which this doesn't holds true, one should use the \Macro{\DistinctBoard}{} after informing a student's name (via \Macro{\student}{}) and before informing its advisor name (via \Macro{\advisor}{}). For instance: +\begin{codedescribe}{\DistinctBoard,\DefaultBoard} + \begin{codesyntax}% + \tsmacro{\DistinctBoard}{} + \tsmacro{\DefaultBoard}{} + \end{codesyntax} +Normally, the default, it's assumed that the student's advisor will also be a member of the student's exam board. For the ones in which this doesn't holds true, one should use the \tsmacro{\DistinctBoard}{} after informing a student's name (via \tsmacro{\student}{}) and before informing its advisor name (via \tsmacro{\advisor}{}). +\end{codedescribe} +For example: - \begin{stcode}[st=d.distinct] + \begin{codestore}[st=d.distinct] \NewStudent{Artur}{ \student{last}{first}[m] @@ -911,334 +990,334 @@ Normally, the default, it's assumed that the student's advisor will also be a me \examiner{Comparsi Laranja}{Rafael Antônio} % the 2nd \examiner{Ventura Bayan Henriques}{Renato} % the 3rd } -\end{stcode} +\end{codestore} -\DisplayCode[emph={DistinctBoard}]{d.distinct} -\end{Macros} +\tscode*[emph={DistinctBoard}]{d.distinct} - -\begin{Macros}{\examinergrades} - \begin{Syntax}% - \Macro{\examinersgrades}{N1,N2,N3} - \end{Syntax} -Quite obvious, this set the grades given by an examiner (the one defined by the 'last' \Macro{\examiner}{} before this.). -\end{Macros} +\begin{codedescribe}{\examinergrades} + \begin{codesyntax}% + \tsmacro{\examinersgrades}{N1,N2,N3} + \end{codesyntax} +Quite obvious, this set the grades given by an examiner (the one defined by the 'last' \tsmacro{\examiner}{} before this.). +\end{codedescribe} \paragraph{Internship Specific Ones} -\begin{Macros}{\studentturnindate} - \begin{Syntax}% - \Macro{\studentturnindate}{date} - \end{Syntax} +\begin{codedescribe}{\studentturnindate} + \begin{codesyntax}% + \tsmacro{\studentturnindate}{date} + \end{codesyntax} The date, in which, the student submitted the Internship Report. Beware, the date must be in the day/month/year format. -\end{Macros} +\end{codedescribe} -\begin{Macros}{\internshipsupervisorgrades} - \begin{Syntax} - \Macro{\internshipsupervisor}{N1,N2,N3,N4,N5} - \end{Syntax} +\begin{codedescribe}{\internshipsupervisorgrades} + \begin{codesyntax} + \tsmacro{\internshipsupervisor}{N1,N2,N3,N4,N5} + \end{codesyntax} Quite obvious, this set the grades given by the supervisor, it's meant to be used twice for the two 'grades blocks'. -\end{Macros} +\end{codedescribe} -\begin{Macros}{\internshiptutorgrades} - \begin{Syntax}% - \Macro{\internshipgrades}{N1} - \end{Syntax} +\begin{codedescribe}{\internshiptutorgrades} + \begin{codesyntax}% + \tsmacro{\internshipgrades}{N1} + \end{codesyntax} Quite obvious, this set the grade given by the student tutor. -\end{Macros} +\end{codedescribe} -\begin{Macros}{\internshipcoordgrades} - \begin{Syntax}% - \Macro{\internshipcoordgrades}{N1} - \end{Syntax} +\begin{codedescribe}{\internshipcoordgrades} + \begin{codesyntax}% + \tsmacro{\internshipcoordgrades}{N1} + \end{codesyntax} Quite obvious, this set the grade given by the Internship Coordinator. -\end{Macros} +\end{codedescribe} \paragraph{Setting Commands} -\begin{Macros}{\addtostudent} - \begin{Syntax}% - \Macro{\addtostudent}{student,code} - \end{Syntax} -\Arg{code} will be appended to the command created with \Macro{\NewStudent}{}. \Arg{student} must be an already defined one, whilst \Arg{code} can be anything valid in the context of a \Macro{\NewStudent}{} as described in \autonameref{new-student}. -\end{Macros} - -\begin{Macros}{\setreports} - \begin{Syntax}% - \Macro{\setreports}{rep-list} - \end{Syntax} - \Arg{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}. -\end{Macros} - -\begin{Macros}{\setstudentlist} - \begin{Syntax}% - \Macro{\setstudentlist}{listID,list} - \end{Syntax} -This command will define/create a list named \Arg{listID} composed of a csv \Arg{list}~ of student names (as defined by \Macro{\Newstudent}{}). -\end{Macros} - -\begin{Macros}{\tcreports} - \begin{Syntax}% - \Macro{\tcreports}[rep-list]{listID} - \end{Syntax} - This is the main command (final work reports), to be used only once, at the end of the file. It will typeset the reports, as set by \Macro{\setreports}{}, using the student list identified by \Arg{listID}. - \Arg{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}. -\end{Macros} - -\begin{Macros}{\internshipreports} - \begin{Syntax}% - \Macro{\internshipreports}[rep-list]{listID} - \end{Syntax} - This is the main command (internship reports), to be used only once, at the end of the file. It will typeset the reports, as set by \Macro{\setreports}{}, using the student list identified by \Arg{listID}. - \Arg{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}. -\end{Macros} +\begin{codedescribe}{\addtostudent} + \begin{codesyntax}% + \tsmacro{\addtostudent}{student,code} + \end{codesyntax} +\tsobj[meta]{code} will be appended to the command created with \tsmacro{\NewStudent}{}. \tsobj[meta]{student} must be an already defined one, whilst \tsobj[meta]{code} can be anything valid in the context of a \tsmacro{\NewStudent}{} as described in \autonameref{new-student}. +\end{codedescribe} + +\begin{codedescribe}{\setreports} + \begin{codesyntax}% + \tsmacro{\setreports}{rep-list} + \end{codesyntax} + \tsobj[meta]{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}. +\end{codedescribe} + +\begin{codedescribe}{\setstudentlist} + \begin{codesyntax}% + \tsmacro{\setstudentlist}{listID,list} + \end{codesyntax} +This command will define/create a list named \tsobj[meta]{listID} composed of a csv \tsobj[meta]{list}~ of student names (as defined by \tsmacro{\Newstudent}{}). +\end{codedescribe} + +\begin{codedescribe}{\tcreports} + \begin{codesyntax}% + \tsmacro{\tcreports}[rep-list]{listID} + \end{codesyntax} + This is the main command (final work reports), to be used only once, at the end of the file. It will typeset the reports, as set by \tsmacro{\setreports}{}, using the student list identified by \tsobj[meta]{listID}. + \tsobj[meta]{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}. +\end{codedescribe} + +\begin{codedescribe}{\internshipreports} + \begin{codesyntax}% + \tsmacro{\internshipreports}[rep-list]{listID} + \end{codesyntax} + This is the main command (internship reports), to be used only once, at the end of the file. It will typeset the reports, as set by \tsmacro{\setreports}{}, using the student list identified by \tsobj[meta]{listID}. + \tsobj[meta]{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}. +\end{codedescribe} \section{\tightul{ufrgscca-ppc} Package (beta) (extended documentation)} This contains a set of auxiliary commands to keep track of many \emph{indicators} whilst writing a \emph{PPC document} (which is going to be evaluated based on said \emph{indicators}, though the track of those \emph{indicators} themselves shall not appear in the final version of it). Keep in mind, when considering the use of it: “it works as is” but it hasn't being properly debugged, and it might change “as needed locally”. -The packages \Pack{longtable}, \Pack{pdfcomment}, \Pack{mdframed} and \Pack{ufrgscca-curr} will always be pre-loaded. +The packages \tsobj[pkg]{longtable}, \tsobj[pkg]{pdfcomment}, \tsobj[pkg]{mdframed} and \tsobj[pkg]{ufrgscca-curr} will always be pre-loaded. \subsection{Package Options} -\begin{Options} -\DescribeOption{showind} (for drafts) it will display the report indicators, of those indicators whose family wasn't set to hide. -\DescribeOption{indlong} (for drafts) when displaying an indicator, the long version of them will be used. -\DescribeOption{nocomments} (for drafts) comments (created with the command \Macro{\comment}) will be suppressed. -\end{Options} +\begin{describelist}{option} +\describe {showind} { (for drafts) it will display the report indicators, of those indicators whose family wasn't set to hide.} +\describe {indlong} { (for drafts) when displaying an indicator, the long version of them will be used.} +\describe {nocomments} { (for drafts) comments (created with the command \tsmacro{\comment}) will be suppressed.} +\end{describelist} \subsection{Defined Commands} -\begin{Macros}{\maketitle} - \begin{Syntax}% - \Macro{\maketitle}{} - \end{Syntax} -\Macro{\maketitle}{} is redefined for the specifics of a \emph{PPC document}. -\end{Macros} - -The next few commands use a finite set of \Arg{status} which are a pre-defined list of: -\begin{Values+} - \DescribeValue+{tbd} “To Be Done”% - \DescribeValue+{done} “Done”% - \DescribeValue+{review} “to be reviewed”% - \DescribeValue+{attention} Needs Attention% - \DescribeValue+{NSA} NSA (portuguese for “do not apply”)% - \DescribeValue+{noref} no references% - \DescribeValue+{EAD} EAD (portuguese for “distance learning”)% - \DescribeValue+{MDi} course ware (portuguese for “didactic material”) % - \DescribeValue+{DOCs} other DOCs% - \DescribeValue+{default} everything else% -\end{Values+} - -\begin{Macros}{\declareindicator, \indicatorDesc, \indicatorText} - \begin{Syntax}% - \Macro{\declareindicator}<*+>[status]{fam,ID,text} - \Macro{\indicatorDesc}{longdesc,extra} - \Macro{\indicatorText}{text} - \end{Syntax} -\Macro{\declareindicator}{} is the command to create/define a given “indicator”. \Arg{fam} set's its \emph{family} group, \Arg{ID} is the particular ID/term used to reference it (in a family of indicators), \Arg{text} is a short text describing it (it is the text displayed when using the \Macro{\indref}{} below.). \Macro{\indicatorDesc}{} adds a \Arg{longdesc} (long description) and \Arg{extra} (extra long description) to a defined \Macro{\declareindicator}{} (it will add those text fields to the “last declared one”). \Arg{longdesc} will also be displayed when using the \Macro{\indref}{} commands, but only if the \Option{indlong} option was used. The \Arg{extra} will only be used/displayed with the \Macro{\PrintIndicators}{} command. Finally, \Macro{indicatorText}{} adds a remark \Arg{text}, which will be also printed out when using \Macro{\lstind}{} (akin of an explanation/remark field.) -\end{Macros} - -\begin{Macros}{\indsetstatus, \indsetview, \indsethide} - \begin{Syntax}% - \Macro{\indsetstatus}[status]{fam,ID} - \Macro{\indsetview}{fam} - \Macro{\indsethide}{fam} -\end{Syntax} -\Macro{indsetstatus}{} sets the \Arg{status} of a given indicator defined by \Arg{fam} and \Arg{ID}. \Macro{\indsetview}{} and \Macro{indsethide} set the visibility (or not) of a given “family” of indicators, meaning, if those indicators are going to be visible or not (command \Macro{\indref}{}, for instance) if the option \Option{showind} is in use. -\end{Macros} - -\begin{Macros}{\lstind} - \begin{Syntax}% - \Macro{\lstind}[seclvl1,seclvl2]{fam} -\end{Syntax} -\Macro{\lstind}{} will produce a sectioning like list, \Arg{seclvl1} defaults to \Macro{\section}{} and \Arg{seclvl2} defaults to \Macro{\subsection}{}, those indicators marked with an \textbf{*} (when creating them) will be issued with \Arg{seclvl1}, those marked with an \textbf{+} will be issued with \Arg{seclvl2}. The indicator's short text will be the sectioning title, whilst the indicator's 'text' (the one assigned with \Macro{indicatorText}{} will be the sectioning body.) -\end{Macros} - -\begin{Macros}{\PrintIndicators} - \begin{Syntax}% - \Macro{\PrintIndicators}[fam]{} - \end{Syntax} - \Macro{\PrintIndicators}{} will produce a “list of contents” like list (with cross reference to all used \Macro{\indref}{} pages). It will either issue a list of all \Macro{\declareindicator}, or just the ones belonging to \Arg{fam}. \Arg{fam} can be a csv list of families. Each entry will be composed by indicator's “family”, “ID”, “short text”, “long text” and “extra description” but not the text issued with \Macro{\indicatorText}{}. -\end{Macros} - - -\begin{Macros}{\helpindicators} - \begin{Syntax}% - \Macro{\helpindicators}{} -\end{Syntax} +\begin{codedescribe}{\maketitle} + \begin{codesyntax}% + \tsmacro{\maketitle}{} + \end{codesyntax} +The command \tsmacro{\maketitle}{} is redefined for the specifics of a \emph{PPC document}. +\end{codedescribe} + +The next few commands use a finite set of \tsobj[meta]{status} which are a pre-defined list of: +\begin{describelist*}{value} + \describe {tbd} { “To Be Done”} + \describe {done} { “Done”} + \describe {review} { “to be reviewed”} + \describe {attention} { Needs Attention} + \describe {NSA} { NSA (portuguese for “do not apply”)} + \describe {noref} { no references} + \describe {EAD} { EAD (portuguese for “distance learning”)} + \describe {MDi} { course ware (portuguese for “didactic material”) } + \describe {DOCs} { other DOCs} + \describe {default} { everything else} +\end{describelist*} + +\begin{codedescribe}{\declareindicator, \indicatorDesc, \indicatorText} + \begin{codesyntax}% + \tsmacro{\declareindicator}<*+>[status]{fam,ID,text} + \tsmacro{\indicatorDesc}{longdesc,extra} + \tsmacro{\indicatorText}{text} + \end{codesyntax} +\tsmacro{\declareindicator}{} is the command to create/define a given “indicator”. \tsobj[meta]{fam} set's its \emph{family} group, \tsobj[meta]{ID} is the particular ID/term used to reference it (in a family of indicators), \tsobj[meta]{text} is a short text describing it (it is the text displayed when using the \tsmacro{\indref}{} below.). \tsmacro{\indicatorDesc}{} adds a \tsobj[meta]{longdesc} (long description) and \tsobj[meta]{extra} (extra long description) to a defined \tsmacro{\declareindicator}{} (it will add those text fields to the “last declared one”). \tsobj[meta]{longdesc} will also be displayed when using the \tsmacro{\indref}{} commands, but only if the \tsobj[option]{indlong} option was used. The \tsobj[meta]{extra} will only be used/displayed with the \tsmacro{\PrintIndicators}{} command. Finally, \tsmacro{indicatorText}{} adds a remark \tsobj[meta]{text}, which will be also printed out when using \tsmacro{\lstind}{} (akin of an explanation/remark field.) +\end{codedescribe} + +\begin{codedescribe}{\indsetstatus, \indsetview, \indsethide} + \begin{codesyntax}% + \tsmacro{\indsetstatus}[status]{fam,ID} + \tsmacro{\indsetview}{fam} + \tsmacro{\indsethide}{fam} +\end{codesyntax} +\tsmacro{indsetstatus}{} sets the \tsobj[meta]{status} of a given indicator defined by \tsobj[meta]{fam} and \tsobj[meta]{ID}. \tsmacro{\indsetview}{} and \tsmacro{indsethide} set the visibility (or not) of a given “family” of indicators, meaning, if those indicators are going to be visible or not (command \tsmacro{\indref}{}, for instance) if the option \tsobj[option]{showind} is in use. +\end{codedescribe} + +\begin{codedescribe}{\lstind} + \begin{codesyntax}% + \tsmacro{\lstind}[seclvl1,seclvl2]{fam} +\end{codesyntax} +\tsmacro{\lstind}{} will produce a sectioning like list, \tsobj[meta]{seclvl1} defaults to \tsmacro{\section}{} and \tsobj[meta]{seclvl2} defaults to \tsmacro{\subsection}{}, those indicators marked with an \textbf{*} (when creating them) will be issued with \tsobj[meta]{seclvl1}, those marked with an \textbf{+} will be issued with \tsobj[meta]{seclvl2}. The indicator's short text will be the sectioning title, whilst the indicator's 'text' (the one assigned with \tsmacro{indicatorText}{} will be the sectioning body.) +\end{codedescribe} + +\begin{codedescribe}{\PrintIndicators} + \begin{codesyntax}% + \tsmacro{\PrintIndicators}[fam]{} + \end{codesyntax} + \tsmacro{\PrintIndicators}{} will produce a “list of contents” like list (with cross reference to all used \tsmacro{\indref}{} pages). It will either issue a list of all \tsmacro{\declareindicator}, or just the ones belonging to \tsobj[meta]{fam}. \tsobj[meta]{fam} can be a csv list of families. Each entry will be composed by indicator's “family”, “ID”, “short text”, “long text” and “extra description” but not the text issued with \tsmacro{\indicatorText}{}. +\end{codedescribe} + + +\begin{codedescribe}{\helpindicators} + \begin{codesyntax}% + \tsmacro{\helpindicators}{} +\end{codesyntax} This will just prints, middle text, a quick “help text” listing the few main “indicators related command” (to help out those less \LaTeXe~ savvy writers.) -\end{Macros} - -\begin{Macros}{ \ifshowind} - \begin{Syntax}% - \Macro{\ifshowind}{code-ifshow,code-ifnot} - \end{Syntax} -Just a helping command, based on the package options. If the option \Option{showind} was used, \Arg{code-ifshow} is executed, otherwise \Arg{code-ifnot}. -\end{Macros} - - -\begin{Macros}{\textmark, \comment} - \begin{Syntax}% - \Macro{\textmark}[status]{text} - \Macro{\comment}[status]{title,text} -\end{Syntax} -Those are annotation, remark commands. The difference being that \Macro{\textmark}{} will just highlight the \Arg{text} (using \Arg{status} “format”), whilst \Macro{comment}{} will create a “remark box” (the same used when inserting an indicator's reference, commands below). N.B. \Macro{\comment}{} is suppressed unless the option \Option{showind} is used. -\end{Macros} - -\begin{Macros}{\indref,\indreflst} - \begin{Syntax}% - \Macro{\indref}<*>[status]{fam,ID,comment} - \Macro{\indreflst}<*>[status]{fam,IDlist,comment} -\end{Syntax} -\Macro{\indref}{} creates a box (\Pack{TikZ} based \Pack{mdframed} ) of the indicator denoted by \Arg{fam} and \Arg{ID}. The family and IDs will be issued as the “frame title”, the current indicator's \Arg{status} will be printed out (the whole box will be highlighted accordly), the short version of the indicator will be used (the long version will “appear” as a \Pack{pdfcomment}), finally any \Arg{comment} will be added to the text box. Each \Macro{\indref}{} box will have a link to the indicator's list (issued with \Macro{\PrintIndicators}{}). If the optional argument \Arg{status} is used, the indicator's status will be updated accordly. The star version also prints the indicator's long text. - -\Macro{\indreflst}{} behaves similarly, with the difference that \Arg{IDlist} is a csv list of IDs (same family), moreover, each item of said list can have the form either just \Arg{ID} or \Arg{status:ID}, in the last form, that ID will have its status updated, as well. -\end{Macros} - -\begin{Macros}{\fancyquote} - \begin{Syntax}% - \Macro{\fancyquote}[vspc]{text,author,dateref} -\end{Syntax} -As quick “quote” hack, \Macro{\fancyquote}{} will typesets a \Arg{text} (small size, italic text, in a minipage environment) followed by \Arg{author} and \Arg{dateref}. This is meant to be used after a \Macro{\chapter}{} or \Macro{\section}{} commands. \Arg{vspc} is to be used in case one has to adjust the vertical space between the sectioning command, and the quote one. -\end{Macros} - - -\begin{Macros}{\labelhack} - \begin{Syntax}% - \Macro{\labelhack}{text} - \end{Syntax} -As the name implies, it is a hack. In some cases (which we haven't manage to found why/what), \Pack{hyperref} would fail miserably when using the \Macro{\nameref}{} (in some cases getting the sectioning correct, but not the name!). This just assures that \Macro{\nameref}{} will use the correct sectioning name in those cases. -\begin{stcode}[st=d.labelhack] +\end{codedescribe} + +\begin{codedescribe}{ \ifshowind} + \begin{codesyntax}% + \tsmacro{\ifshowind}{code-ifshow,code-ifnot} + \end{codesyntax} +Just a helping command, based on the package options. If the option \tsobj[option]{showind} was used, \tsobj[meta]{code-ifshow} is executed, otherwise \tsobj[meta]{code-ifnot}. +\end{codedescribe} + + +\begin{codedescribe}{\textmark, \comment} + \begin{codesyntax}% + \tsmacro{\textmark}[status]{text} + \tsmacro{\comment}[status]{title,text} +\end{codesyntax} +Those are annotation, remark commands. The difference being that \tsmacro{\textmark}{} will just highlight the \tsobj[meta]{text} (using \tsobj[meta]{status} “format”), whilst \tsmacro{comment}{} will create a “remark box” (the same used when inserting an indicator's reference, commands below). +\begin{tsremark}[N.B.:] + The command \tsmacro{\comment}{} is suppressed unless the option \tsobj[option]{showind} is used. + \end{tsremark} +\end{codedescribe} + +\begin{codedescribe}{\indref,\indreflst} + \begin{codesyntax}% + \tsmacro{\indref}<*>[status]{fam,ID,comment} + \tsmacro{\indreflst}<*>[status]{fam,IDlist,comment} +\end{codesyntax} +\tsmacro{\indref}{} creates a box (\tsobj[pkg]{TikZ} based \tsobj[pkg]{mdframed} ) of the indicator denoted by \tsobj[meta]{fam} and \tsobj[meta]{ID}. The family and IDs will be issued as the “frame title”, the current indicator's \tsobj[meta]{status} will be printed out (the whole box will be highlighted accordly), the short version of the indicator will be used (the long version will “appear” as a \tsobj[pkg]{pdfcomment}), finally any \tsobj[meta]{comment} will be added to the text box. Each \tsmacro{\indref}{} box will have a link to the indicator's list (issued with \tsmacro{\PrintIndicators}{}). If the optional argument \tsobj[meta]{status} is used, the indicator's status will be updated accordly. The star version also prints the indicator's long text. + +\tsmacro{\indreflst}{} behaves similarly, with the difference that \tsobj[meta]{IDlist} is a csv list of IDs (same family), moreover, each item of said list can have the form either just \tsobj[meta]{ID} or \tsobj[meta]{status:ID}, in the last form, that ID will have its status updated, as well. +\end{codedescribe} + +\begin{codedescribe}{\fancyquote} + \begin{codesyntax}% + \tsmacro{\fancyquote}[vspc]{text,author,dateref} +\end{codesyntax} +As quick “quote” hack, \tsmacro{\fancyquote}{} will typesets a \tsobj[meta]{text} (small size, italic text, in a minipage environment) followed by \tsobj[meta]{author} and \tsobj[meta]{dateref}. This is meant to be used after a \tsmacro{\chapter}{} or \tsmacro{\section}{} commands. \tsobj[meta]{vspc} is to be used in case one has to adjust the vertical space between the sectioning command, and the quote one. +\end{codedescribe} + + +\begin{codedescribe}{\labelhack} + \begin{codesyntax}% + \tsmacro{\labelhack}{text} + \end{codesyntax} +As the name implies, it is a hack. In some cases (which we haven't manage to found why/what), \tsobj[pkg]{hyperref} would fail miserably when using the \tsmacro{\nameref}{} (in some cases getting the sectioning correct, but not the name!). This just assures that \tsmacro{\nameref}{} will use the correct sectioning name in those cases. +\begin{codestore}[st=d.labelhack] \section{this section}\labelhack{this section}\label{somelabel} -\end{stcode} -\DisplayCode[codeprefix={For Example:},emph={labelhack}]{d.labelhack} -\end{Macros} - -\begin{Macros}{\acrodef, \acro,\acrol,\acrols,\acrosl,\acrofoot,\printacrolist} - \begin{Syntax}% - \Macro{\acrodef}{acroID}{acronym}{long} - \Macro{\acro}{acroID} - \Macro{\acrol}{acroID} - \Macro{\acrols}{acroID} - \Macro{\acrosl}{acroID} - \Macro{\acrofoot}{acroID} - \Macro{\printacrolist}[enumkeys]{widest} - \end{Syntax} -Those are yet another acronym hack. \Macro{\acrodef}{} “creates” an acronym, identified by \Arg{acroID}, whose short (acronym) version is \Arg{acronym} and the long version in \Arg{long}. \Macro{\acro}{} just typesets the \Arg{acronym}, \Macro{\acrol}{} the \Arg{long} version. -\Macro{\acrols}{} typesets the the long version followed by the short (using a comma as separator). -\Macro{\acrosl}{} prints the short version first. Finally, \Macro{\acrofoot}{} typesets the short version in text and the long as a footnote. \Macro{\printacrolist}{} creates a description list based on the \Env{listofabbrv} environment. -\end{Macros} +\end{codestore} +\tscode*[codeprefix={For Example:},emph={labelhack}]{d.labelhack} +\end{codedescribe} + +\begin{codedescribe}{\acrodef, \acro,\acrol,\acrols,\acrosl,\acrofoot,\printacrolist} + \begin{codesyntax}% + \tsmacro{\acrodef}{acroID}{acronym}{long} + \tsmacro{\acro}{acroID} + \tsmacro{\acrol}{acroID} + \tsmacro{\acrols}{acroID} + \tsmacro{\acrosl}{acroID} + \tsmacro{\acrofoot}{acroID} + \tsmacro{\printacrolist}[enumkeys]{widest} + \end{codesyntax} +Those are yet another acronym hack. \tsmacro{\acrodef}{} “creates” an acronym, identified by \tsobj[meta]{acroID}, whose short (acronym) version is \tsobj[meta]{acronym} and the long version in \tsobj[meta]{long}. \tsmacro{\acro}{} just typesets the \tsobj[meta]{acronym}, \tsmacro{\acrol}{} the \tsobj[meta]{long} version. +\tsmacro{\acrols}{} typesets the the long version followed by the short (using a comma as separator). +\tsmacro{\acrosl}{} prints the short version first. Finally, \tsmacro{\acrofoot}{} typesets the short version in text and the long as a footnote. \tsmacro{\printacrolist}{} creates a description list based on the \tsobj[env]{listofabbrv} environment. +\end{codedescribe} \subsection{Environments} -\begin{Envs}{ppc.quote} - \begin{Syntax}% - \Macro{\begin{ppc.quote}}{} \ldots \Macro{\end{ppc.quote}}{} - \end{Syntax} -\end{Envs} +\begin{codedescribe}[env]{ppc.quote} + \begin{codesyntax}% + \tsmacro{\begin{ppc.quote}}{} \ldots \tsmacro{\end{ppc.quote}}{} + \end{codesyntax} +\end{codedescribe} This is just a tailored “quote” environment, using almost all page width, just in a smaller font size. \section{\tightul{ufrgscca-curr} Package (beta) (extended documentation)} This package is mostly in beta state, some parts of it should be identified as alpha state. Those are mostly rushed out adaptations of other “solutions at hand”. Literally, try to use it at your own peril. -The background of it: To have the ability to “describe” (store the information in a “structured way”) an University Course curricula and later on have the possibility to presented that same information in many different ways (including a dependence graph). To an extended, most of it is done (and working), but hopeless lacking more testing and debugging. +The background of it: To have the ability to “describe” (store the information in a “structured way”) an University Course Curricula and have the possibility, later, to presented that same information in many different ways (including a dependence graph). To an extended, most of it is done (and working), but hopeless lacking more testing and debugging. -Why is it included in the bundle? Well, it is needed, in part for completeness, by \Pack{ufrgscca-ppc} which is “locally important”. +Why is it included in the bundle? Well, it is needed, in part for completeness, by \tsobj[pkg]{ufrgscca-ppc}, which is “locally important”. \subsection{Commands Creating the many lists} -The following commands “describe” a curricula, whereas one is a sequence of semesters \Arg{semID}, each semester is composed by a list of classes, \Arg{classID}, and each class has a list of dependencies, \Arg{classID} as \Macro{\depdef}{}. All those lists are stored as csv lists, so “processing them” can be systematized. - -\begin{Macros}{\topicdef,\defaulttopic} -\begin{Syntax}% - \Macro{\topicdef}[color]{topicID,text} - \Macro{\defaulttopic}{topicID} -\end{Syntax} -\Macro{\topicdef}{} defines \Arg{topicID} (to be used when describing a class) and associates a \Arg{text} description and a \Arg{color} (for topic highlight). \Macro{\defaulttopic}{} sets the default one (if not explicitly given when describing a class). -\end{Macros} - - -\begin{Macros}{\semdef} - \begin{Syntax}% - \Macro!{\semdef}{\oarg{pos}\xarg{cod}\marg{semID}} - \end{Syntax} -This “defines” a semester, \Arg{semID}, and associates with it a \Arg{cod} (for reference) and a \Arg{pos} (to be used by, for instance, \Pack{ufrgscca-curr-graph}.) -\end{Macros} - - -\begin{Macros}{\classdef,\setclass,\classremark} - \begin{Syntax}% - \Macro!{\classdef}{\oarg{topicID}\xarg{pos}\marg{classID}\marg{cred}\marg{typ}\marg{name}\marg{desc}} - \Macro{\setclass}{classID} - \Macro{\classremark}{remark} - \end{Syntax} -\Macro{\classdef}{} defines a class, associating with a \Arg{topicID}, \Arg{pos} (for \Pack{ufrgscca-curr-graph}), \Arg{classID}, number and type, \Arg{typ}, of credits, \Arg{cred}, a long name, \Arg{name} and description, \Arg{desc}. \Macro{\classremark}{} adds an extra remark to it. - -The following commands always refer to the “last defined” \Macro{\classdef}{} unless \Macro{\setclass}{} is used, which changes the “current class” for the following commands. -\end{Macros} - -\begin{Macros}{\depdef,\altdef} - \begin{Syntax}% - \Macro!{\depdef}{\oarg{topicID}\xarg{pos}\marg{classID}} - \Macro{\altdef}{} - \end{Syntax} -\Macro{\depdef}{} inserts/creates a “class dependency” list. The highlight color (if used) is usually defined by the current class topic (informing \Arg{topicID} changes the highlight color). \Arg{pos} is used by \Pack{ufrgscca-curr-graph} to determine the incident line angle. - -\Macro{\altdef}{} defines/start and alternate dependency list. -\end{Macros} - -\begin{Macros}{\bibdef} - \begin{Syntax}% - \Macro{\bibdef}[type]{text} - \end{Syntax} -This is used to set a list of bibliographies, one per issued command. The default \Arg{type} value is just \emph{bib}, possible values (as understood by \Pack{ufrgscca-curr-tab}) are \emph{bib}, \emph{basic} and \emph{comp}. -\end{Macros} +The following commands “describe” a curricula, whereas one is a sequence of semesters \tsobj[meta]{semID}, each semester is composed by a list of classes, \tsobj[meta]{classID}, and each class has a list of dependencies, \tsobj[meta]{classID} as \tsmacro{\depdef}{}. All those lists are stored as csv lists, so “processing them” can be systematized. + +\begin{codedescribe}{\topicdef,\defaulttopic} +\begin{codesyntax}% + \tsmacro{\topicdef}[color]{topicID,text} + \tsmacro{\defaulttopic}{topicID} +\end{codesyntax} +\tsmacro{\topicdef}{} defines \tsobj[meta]{topicID} (to be used when describing a class) and associates a \tsobj[meta]{text} description and a \tsobj[meta]{color} (for topic highlight). \tsmacro{\defaulttopic}{} sets the default one (if not explicitly given when describing a class). +\end{codedescribe} + + +\begin{codedescribe}{\semdef} + \begin{codesyntax}% + \tsobj[code]{\semdef}{\tsobj[oarg]{pos}\tsobj[xarg]{cod}\tsobj[marg]{semID}} + \end{codesyntax} +This “defines” a semester, \tsobj[meta]{semID}, and associates with it a \tsobj[meta]{cod} (for reference) and a \tsobj[meta]{pos} (to be used by, for instance, \tsobj[pkg]{ufrgscca-curr-graph}.) +\end{codedescribe} + + +\begin{codedescribe}{\classdef,\setclass,\classremark} + \begin{codesyntax}% + \tsobj[code]{\classdef}{\tsobj[oarg]{topicID}\tsobj[xarg]{pos}\tsobj[marg]{classID}\tsobj[marg]{cred}\tsobj[marg]{typ}\tsobj[marg]{name}\tsobj[marg]{desc}} + \tsmacro{\setclass}{classID} + \tsmacro{\classremark}{remark} + \end{codesyntax} +\tsmacro{\classdef}{} defines a class, associating with a \tsobj[meta]{topicID}, \tsobj[meta]{pos} (for \tsobj[pkg]{ufrgscca-curr-graph}), \tsobj[meta]{classID}, number and type, \tsobj[meta]{typ}, of credits, \tsobj[meta]{cred}, a long name, \tsobj[meta]{name} and description, \tsobj[meta]{desc}. \tsmacro{\classremark}{} adds an extra remark to it. + +The following commands always refer to the “last defined” \tsmacro{\classdef}{} unless \tsmacro{\setclass}{} is used, which changes the “current class” for the following commands. +\end{codedescribe} + +\begin{codedescribe}{\depdef,\altdef} + \begin{codesyntax}% + \tsobj[code]{\depdef}{\tsobj[oarg]{topicID}\tsobj[xarg]{pos}\tsobj[marg]{classID}} + \tsmacro{\altdef}{} + \end{codesyntax} +\tsmacro{\depdef}{} inserts/creates a “class dependency” list. The highlight color (if used) is usually defined by the current class topic (informing \tsobj[meta]{topicID} changes the highlight color). \tsobj[meta]{pos} is used by \tsobj[pkg]{ufrgscca-curr-graph} to determine the incident line angle. + +\tsmacro{\altdef}{} defines/start and alternate dependency list. +\end{codedescribe} + +\begin{codedescribe}{\bibdef} + \begin{codesyntax}% + \tsmacro{\bibdef}[type]{text} + \end{codesyntax} +This is used to set a list of bibliographies, one per issued command. The default \tsobj[meta]{type} value is just \emph{bib}, possible values (as understood by \tsobj[pkg]{ufrgscca-curr-tab}) are \emph{bib}, \emph{basic} and \emph{comp}. +\end{codedescribe} \subsection{List Processing Commands} Those are the main loop commands that go through the lists. -\begin{Macros}{\LstClass,\LstDep,\LstTopic} - \begin{Syntax} - \Macro{\LstClass}[cmd]{semID} - \Macro!{\LstDep}{\oarg{cmd}\xarg{ang}\marg{classID}} - \Macro{\LstTopic}[cmd]{topicID} - \end{Syntax} -\Arg{cmd} can be any command accepting a single argument. It will, in fact, be the one defining the way the data will be, effectively, be presented. +\begin{codedescribe}{\LstClass,\LstDep,\LstTopic} + \begin{codesyntax} + \tsmacro{\LstClass}[cmd]{semID} + \tsobj[code]{\LstDep}{\tsobj[oarg]{cmd}\tsobj[xarg]{ang}\tsobj[marg]{classID}} + \tsmacro{\LstTopic}[cmd]{topicID} + \end{codesyntax} +\tsobj[meta]{cmd} can be any command accepting a single argument. It will, in fact, be the one defining the way the data will be, effectively, be presented. -\Macro{\LstClass}{} will process \Arg{cmd} over all classes associated with \Arg{semID}. +\tsmacro{\LstClass}{} will process \tsobj[meta]{cmd} over all classes associated with \tsobj[meta]{semID}. -\Macro{\LstDep}{} will process \Arg{cmd} over all dependency classes associated with \Arg{classID}. +\tsmacro{\LstDep}{} will process \tsobj[meta]{cmd} over all dependency classes associated with \tsobj[meta]{classID}. -\Macro{\LstTopic}{} will process \Arg{cmd} over all classes associated with \Arg{topicID}. +\tsmacro{\LstTopic}{} will process \tsobj[meta]{cmd} over all classes associated with \tsobj[meta]{topicID}. -\end{Macros} +\end{codedescribe} -\section{\tightul{ufrgscca-curr-tab} Package (alpha) (extended documentation)} -This is truly a work in progress (based on some old ideas), not really tested. It shall be revised and, mostly sure, it will be changed (no compatibility guaranties). It always pre-load \Pack{ufrgscca-curr} and \Pack{longtable}. +\section{\tightul{ufrgscca-curr-tab} Package (alpha) (ex\-tend\-ed documentation)} +This is truly a work in progress (based on some old ideas), not really tested. It shall be revised and, mostly sure, it will be changed (no compatibility guaranties). It always pre-load \tsobj[pkg]{ufrgscca-curr} and \tsobj[pkg]{longtable}. \subsection{Tabular Presentation Commands} -\begin{Macros}{\TabEtp,\TabTopic} - \begin{Syntax}% - \Macro!{\TabEtp}{\xarg{type}\oarg{sectioning}c\marg{semID}} - \Macro{\TabTopic}[type]{topicID} - \end{Syntax} -\Macro{\TabEtp}{} will construct a longtable with all classes associated with \Arg{semID} (including it's dependencies and bibliography). +\begin{codedescribe}{\TabEtp,\TabTopic} + \begin{codesyntax}% + \tsobj[code]{\TabEtp}{\tsobj[xarg]{type}\tsobj[oarg]{sectioning}c\tsobj[marg]{semID}} + \tsmacro{\TabTopic}[type]{topicID} + \end{codesyntax} +\tsmacro{\TabEtp}{} will construct a longtable with all classes associated with \tsobj[meta]{semID} (including it's dependencies and bibliography). -\Macro{\TabTopic}{} will construct a longtable with all classes associated with \Arg{topicID}. +\tsmacro{\TabTopic}{} will construct a longtable with all classes associated with \tsobj[meta]{topicID}. -\end{Macros} +\end{codedescribe} \section{\tightul{ufrgscca-curr-graph} Package (alpha) (extended documentation)} \subsection{Graph Presentation Command} -Ironically, this is the “oldest” of the \Pack{-curr-} packages, but it is the less tested one, and the one whose code is more prone to fail in unexpected ways, be advised: do not try to use it, unless you know the internal code well. It always pre-load \Pack{ufrgscca-curr} (N.B. it also depends on \Pack{tikz}). +Ironically, this is the “oldest” of the \tsobj[pkg]{-curr-} packages, but it is the less tested one, and the one whose code is more prone to fail in unexpected ways, be advised: do not try to use it, unless you know the internal code well. It always pre-load \tsobj[pkg]{ufrgscca-curr} (N.B. it also depends on \tsobj[pkg]{tikz}). -\begin{Macros}{\GraphSem} - \begin{Syntax}% - \Macro{\GraphSem}[type]{semID} - \end{Syntax} -It will create a dependency graph for a given \Arg{semId}. N.B. to start with, it is highly dependent on the semester sequence, one shall start with first semester and go from there. -\end{Macros} +\begin{codedescribe}{\GraphSem} + \begin{codesyntax}% + \tsmacro{\GraphSem}[type]{semID} + \end{codesyntax} +It will create a dependency graph for a given \tsobj[meta]{semId}. N.B. to start with, it is highly dependent on the semester sequence, one shall start with first semester and go from there. +\end{codedescribe} \fi - \end{document} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty index 6b5adfd80d..4e8066ff56 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-abnt} \def\tc@tmp@altpackname{ufrgsccaabnt} \def\tc@tmp@packdesc{UFRGS/CCA ABNT layout} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] @@ -69,9 +69,8 @@ nomicrotype.usage = load, nomicrotype.if = tcif@nomicrotype, - - dctools.usage = load, - dctools.if = tcif@dctools, + article.usage = load, + article.if = tcif@article, } \ProcessKeyOptions[ufrgscca-abnt]\relax @@ -85,8 +84,8 @@ \iftcif@strictabnt \RequirePackage[a4paper,inner=2cm,outer=3cm,top=3cm,bottom=2cm,twoside]{geometry} \else - \iftcif@dctools - \RequirePackage[a4paper,margin=5cm,right=2cm,marginparwidth=4.5cm,asymmetric,top=2.5cm,bottom=1.5cm]{geometry} + \iftcif@nogeometry +% \RequirePackage[a4paper,margin=5cm,right=2cm,marginparwidth=3.75cm,asymmetric,top=2.5cm,bottom=1.5cm]{geometry} \else \RequirePackage[a4paper,inner=2.5cm,outer=2.5cm,top=3cm,bottom=2cm,twoside]{geometry} \fi @@ -205,7 +204,7 @@ \def\tc@chapterspc{\vspace{2.5mm}} \def\tc@sectionspc{\vspace{0.75mm}} -\iftcif@dctools +\iftcif@article \else \iftcif@relnum% % \def\tc@chapterspc{\vspace{2.5mm}} @@ -289,7 +288,7 @@ %%% %%% Relative/Absolute counters... {package chngcntr} %%% -\iftcif@dctools +\iftcif@article \else \iftcif@relnum% \counterwithin{figure}{chapter}% diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty index 37c6149007..3e859e57ad 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-coord} \def\tc@tmp@altpackname{ufrgsccacoord} \def\tc@tmp@packdesc{UFRGS/CCA coord commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty index 1bc6bad2b6..d153672994 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-core} \def\tc@tmp@altpackname{ufrgsccacore} \def\tc@tmp@packdesc{UFRGS/CCA core commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty index 4792cfcf27..a9fe3ad478 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-cover} \def\tc@tmp@altpackname{ufrgsccacover} \def\tc@tmp@packdesc{UFRGS/CCA cover commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty index bb77b70624..47b918ca03 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-curr-graph} \def\tc@tmp@altpackname{tccurrgraph} \def\tc@tmp@packdesc{UFRGS/CCA graph curricula commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9alpha} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10alpha} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty index 1eccdf9a48..8b3431b9eb 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-curr-tab} \def\tc@tmp@altpackname{ufrgsccacurrtab} \def\tc@tmp@packdesc{UFRGS/CCA curricula tabular commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9alpha} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10alpha} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty index 2321470f46..1d5a0d5b74 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-curr} \def\tc@tmp@altpackname{ufrgsccacurr} \def\tc@tmp@packdesc{UFRGS/CCA curricula commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9beta} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10beta} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def index f47adcf06b..6307d2e485 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-en-base} \def\tc@tmp@altpackname{ufrgsccaenbase} \def\tc@tmp@packdesc{UFRGS/CCA English base defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def index 485f389f3e..61c5aa7036 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-en-coord} \def\tc@tmp@altpackname{ufrgsccaencoord} \def\tc@tmp@packdesc{UFRGS/CCA English coord defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def index df33c5edf9..ec65cc8c42 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-en-core} \def\tc@tmp@altpackname{ufrgsccaencore} \def\tc@tmp@packdesc{UFRGS/CCA English core defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def index 339a5e96e3..ba41323ee6 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-en-forms} \def\tc@tmp@altpackname{ufrgsccaenforms} \def\tc@tmp@packdesc{UFRGS/CCA English forms defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty index 1aba92f4b5..6b9b09e6f3 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-forms} \def\tc@tmp@altpackname{ufrgsccaforms} \def\tc@tmp@packdesc{UFRGS/CCA forms commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty index 009fcabd48..2cf401828c 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-gen} \def\tc@tmp@altpackname{ufrgsccagen} \def\tc@tmp@packdesc{UFRGS/CCA generic/miscellany commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty index 24ff9373c0..45123ccc5c 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-lists} \def\tc@tmp@altpackname{ufrgsccalists} \def\tc@tmp@packdesc{UFRGS/CCA auxiliary lists commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty index ccc42cd8b3..422513a70f 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-ppc} \def\tc@tmp@altpackname{ufrgsccappc} \def\tc@tmp@packdesc{UFRGS/CCA PPC commands} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def index cedb812644..b38c2f7e2d 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-ptBR-base} \def\tc@tmp@altpackname{ufrgsccaptbrbase} \def\tc@tmp@packdesc{UFRGS/CCA Portuguese base defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def index f00ed4b385..36d2afab70 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-ptBR-coord} \def\tc@tmp@altpackname{ufrgsccaptbrcoord} \def\tc@tmp@packdesc{UFRGS/CCA Portuguese coord defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def index ffedfca7b7..67713b0945 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-ptBR-core} \def\tc@tmp@altpackname{ufrgsccaptbrcore} \def\tc@tmp@packdesc{UFRGS/CCA Portuguese core defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def index 033d2ee654..a4c06269b6 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca-ptBR-forms} \def\tc@tmp@altpackname{ufrgsccaptbrforms} \def\tc@tmp@packdesc{UFRGS/CCA Portuguese forms defs} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls index fa21f57d04..15db77738d 100644 --- a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls +++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version 1.9 (2023/05/08) +%% This is version 1.10 (2023/05/11) %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -26,8 +26,8 @@ \def\tc@tmp@packname{ufrgscca} \def\tc@tmp@altpackname{ufrgscca} \def\tc@tmp@packdesc{UFRGS/CCA class} -\def\tc@tmp@packdate{2023/05/08} -\def\tc@tmp@packversion{1.9} +\def\tc@tmp@packdate{2023/05/11} +\def\tc@tmp@packversion{1.10} \let\@exp\expandafter \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion} \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc] @@ -104,8 +104,11 @@ miktex.usage = load, miktex.if = tcif@miktex, - dctools.usage = load, - dctools.if = tcif@dctools, + article.usage = load, + article.if = tcif@article, + + nogeometry.usage = load, + nogeometry.if = tcif@nogeometry, } \DeclareUnknownKeyHandler[tc]{\PassOptionsToClass{\CurrentOption}{report}} @@ -125,7 +128,7 @@ \RequirePackage{lmodern}% \fi -\iftcif@dctools +\iftcif@article \LoadClass[12pt]{article} \else \LoadClass[12pt,twoside,openright]{report} |